[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 <°>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