[pyferret] 106/110: pyferret 7.2 release
Alastair McKinstry
mckinstry at moszumanska.debian.org
Fri Jul 28 08:42:28 UTC 2017
This is an automated email from the git hooks/post-receive script.
mckinstry pushed a commit to branch debian/master
in repository pyferret.
commit 2d8f620eabe24763aeed55b4419f433a9f97741a
Author: Alastair McKinstry <mckinstry at debian.org>
Date: Sat Jul 22 17:12:33 2017 +0100
pyferret 7.2 release
---
README.md | 4 +-
bench/Makefile | 26 +-
bench/RUN_TESTS.sh | 88 +-
bench/TEST_SCRIPTS | 7 +-
bench/TRASH_FILES | 1 +
bench/ansley_official.rhel5_32_err | 258 +-
bench/ansley_official.rhel5_32_log | 1672 +++--
bench/ansley_official.rhel6-64_err | 471 +-
bench/ansley_official.rhel6-64_log | 4356 ++++++++-----
bench/bn710_bug_fixes.jnl | 5 +-
bench/bn720_bug_fixes.jnl | 40 +-
bench/bn_DQ.jnl | 3 +
bench/bn_aggregate_tef.jnl | 3 +-
bench/bn_all.jnl | 7 +-
bench/bn_cache_management.jnl | 3 +-
bench/bn_cancel_axes.jnl | 11 +
bench/bn_color_wire.jnl | 13 +
bench/bn_contourcolor.jnl | 8 +
bench/bn_dot_product.jnl | 114 +
bench/bn_dynamic_gather.jnl | 3 +-
bench/bn_gif.jnl | 12 +
bench/bn_iin_regrid.jnl | 291 +
bench/bn_let_remote.jnl | 32 +-
bench/bn_strings.jnl | 2 +-
bench/bn_vtree_regrid.jnl | 1 +
bench/co_emac.nc | Bin 0 -> 1260 bytes
bench/err71_2d_ave_miss0.jnl | 16 +
bench/err71_colorlevs.jnl | 15 +
bench/err71_expr_w_const.jnl | 23 +
bench/err71_isready_unknown.jnl | 17 +
bench/err71_plotvs_mode_label.jnl | 6 +-
bench/err71_point_average.jnl | 54 +
bench/err71_ppl_sho_empty.jnl | 26 +
bench/err71_read_delim.jnl | 31 +
bench/err71_repeat_paren.jnl | 15 +
bench/err71_string_and_if.jnl | 47 +
bench/err71_vs_lon_over.jnl | 11 +
bench/shorttest.dat | 11 +
bench/test_results/axticlabel.pdf | Bin 7161 -> 7163 bytes
bench/test_results/bluewire.png | Bin 0 -> 117077 bytes
bench/test_results/bn_axis_vs.gif | Bin 4559 -> 6645 bytes
bench/test_results/bn_axis_vs.png | Bin 33774 -> 37810 bytes
bench/test_results/bn_contour_conset.gif | Bin 17361 -> 17361 bytes
bench/test_results/bn_hovmuller_overlays.gif | Bin 51920 -> 51920 bytes
bench/test_results/bn_inf2missing.pdf | Bin 7913 -> 7915 bytes
bench/test_results/bn_labels_on_taxis.gif | Bin 35123 -> 35123 bytes
bench/test_results/bn_labels_on_taxis.pdf | Bin 69653 -> 69655 bytes
bench/test_results/bn_ribbon_vlog.gif | Bin 12580 -> 12468 bytes
bench/test_results/bn_ribbon_vlog.png | Bin 86991 -> 85145 bytes
bench/test_results/bn_subspan_mod_strides.gif | Bin 24061 -> 24061 bytes
bench/test_results/bn_vs_const_value.gif | Bin 7729 -> 10917 bytes
bench/test_results/bn_vs_const_value.png | Bin 40943 -> 50114 bytes
bench/test_results/bnplot.pdf | Bin 171689 -> 171691 bytes
bench/test_results/bnplot_2.gif | Bin 56113 -> 56113 bytes
bench/test_results/bnplot_3.gif | Bin 27755 -> 27755 bytes
bench/test_results/bnplot_4.eps | 7 +-
bench/test_results/bnplot_4.pdf | Bin 327422 -> 327424 bytes
bench/test_results/bnplot_4.ps | 7 +-
bench/test_results/closed_lev.pdf | Bin 36861 -> 36863 bytes
bench/test_results/contourcolor_blue.pdf | Bin 22729 -> 22731 bytes
bench/test_results/contourcolor_depth.pdf | Bin 0 -> 14295 bytes
bench/test_results/contourcolor_green.pdf | Bin 22454 -> 22390 bytes
bench/test_results/contourcolor_puce.pdf | Bin 22508 -> 22432 bytes
bench/test_results/dashbug.pdf | Bin 10045 -> 10047 bytes
bench/test_results/degC_axlab.pdf | Bin 6863 -> 6865 bytes
bench/test_results/dots.pdf | Bin 5198 -> 5200 bytes
bench/test_results/err700_key.gif | Bin 32596 -> 32596 bytes
bench/test_results/ferret_run_tests_err | 481 +-
bench/test_results/ferret_run_tests_log | 5822 +++++++++++-------
bench/test_results/ferret_run_tests_ncdump | 195 +-
bench/test_results/flowlines.pdf | Bin 54090 -> 54092 bytes
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/graticules.pdf | Bin 18575 -> 18577 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/linecolors.pdf | Bin 16518 -> 16520 bytes
bench/test_results/lon_lat_label_controls.gif | Bin 7538 -> 10898 bytes
bench/test_results/lon_lat_label_controls.png | Bin 57284 -> 72405 bytes
bench/test_results/multi_line_labels.pdf | Bin 31259 -> 31260 bytes
bench/test_results/outline_poly.pdf | Bin 8604 -> 8606 bytes
bench/test_results/polygon_plot.pdf | Bin 12269 -> 12271 bytes
bench/test_results/pyferret_run_tests_err | 501 +-
bench/test_results/pyferret_run_tests_log | 6451 ++++++++++++--------
bench/test_results/pyferret_run_tests_ncdump | 196 +-
bench/test_results/red10wire.png | Bin 0 -> 83457 bytes
bench/test_results/red25wire.png | Bin 0 -> 99457 bytes
bench/test_results/redwire.png | Bin 0 -> 28657 bytes
bench/test_results/startup_tests2.pdf | Bin 8938 -> 8940 bytes
bench/test_results/testbackground.gif | Bin 46738 -> 46738 bytes
bench/test_results/testfermethods_contour.pdf | Bin 23231 -> 18890 bytes
bench/test_results/testfermethods_fill.pdf | Bin 72362 -> 67996 bytes
bench/test_results/testfermethods_lineplot.pdf | Bin 14684 -> 14691 bytes
bench/test_results/testfermethods_pointplot.pdf | Bin 15019 -> 15026 bytes
bench/test_results/testfermethods_shade.pdf | Bin 16768 -> 16773 bytes
bench/test_results/testferpyvar.pdf | Bin 19342 -> 19324 bytes
bench/test_results/timetics.pdf | Bin 15037 -> 15039 bytes
bench/test_results/timetics2.pdf | Bin 27708 -> 27710 bytes
bench/test_results/vec_curv.pdf | Bin 14773 -> 14775 bytes
bench/test_results/vec_curv2.pdf | Bin 28929 -> 28931 bytes
bench/test_results/viewaxes.pdf | Bin 8098 -> 8100 bytes
bench/test_results/vs_lon_over.gif | Bin 0 -> 11380 bytes
bench/test_results/vs_lon_over.png | Bin 0 -> 22003 bytes
external_functions/ef_utility/site_specific.mk | 4 +-
external_functions/examples/dates.F | 10 +-
fer/ccr/EF_InternalUtil.c | 1025 ++--
fer/common/errmsg.parm | 13 +-
fer/common/ferret.parm | 5 +-
fer/common/grid_chg_fcns.parm | 7 +-
fer/common/slash.parm | 8 +
fer/common/xprog_state.cmn | 13 +-
fer/ctx/merge_grid.F | 14 +-
fer/dat/xalgebra_data.F | 16 +-
fer/dat/xcommand_data.F | 9 +-
fer/dat/xgfdl_error_text_data.F | 10 +
fer/dat/xgrid_chg_fcns_data.F | 85 +-
fer/dat/xprog_state_data.F | 6 +-
fer/dat/xrevision_data.F | 5 +-
fer/doo/SOURCE_FILES | 2 +
fer/doo/do_4d_trans.F | 27 +-
fer/doo/do_ave_int.F | 9 +-
ppl/plot/spwn.F => fer/doo/do_iin_regrid.F | 41 +-
fer/doo/finalize_ave_int.F | 8 +-
fer/doo/iin_regrid.F | 327 +
fer/efi/SOURCE_FILES | 27 +-
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/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 | 112 +-
...pndi_by_m_counts.F => expndi_by_m_counts_str.F} | 136 +-
fer/efi/gridding_subs.F | 277 +
fer/efi/is_element_of.F | 4 +-
fer/efi/is_element_of_str.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/unique_str2int.F | 2 +-
fer/fmt/full_uvar_name.F | 10 +-
fer/fmt/full_uvar_name_xml.F | 9 +-
fer/gnl/cdf_list.F | 15 +-
fer/gnl/cdf_list_global_atts.F | 12 +-
fer/gnl/define_ef_aggregate_grid.F | 15 +-
fer/gnl/edit_attribute.F | 12 +-
fer/gnl/init_ef_aggregate_dset.F | 3 +-
fer/gnl/init_memory.F | 15 +-
fer/gnl/parse_command.F | 7 +
fer/gnl/redefine_ax_att.F | 10 +-
fer/gnl/repl_exprns.F | 15 +-
fer/gnl/reset_ax_att.F | 12 +-
fer/gnl/set_agg_var_atts.F | 15 +-
fer/gnl/set_var.F | 10 +-
fer/gnl/show_1_uvar_xml.F | 10 +-
fer/gnl/show_data_files.F | 5 +-
fer/gnl/show_data_set_vars.F | 13 +-
fer/gnl/show_line_xml.F | 13 +-
fer/gnl/special_symbol.F | 36 +-
fer/plt/axis_ends.F | 2 +
fer/plt/plot_set_up.F | 61 +-
fer/stk/is_algebra.F | 2 +-
fer/stk/is_do_gc_fcn.F | 4 +-
fer/stk/is_regrid.F | 10 +
fer/stk/is_uvar_grid.F | 13 +-
fer/stk/rcvd_regrid.F | 4 +-
fer/stk/rqst_regrid.F | 5 +-
fer/utl/SOURCE_FILES | 1 +
fer/utl/inherit_attrs.F | 19 +-
fer/utl/save_uvar_grid.F | 18 +-
fer/utl/{save_uvar_grid.F => save_uvar_type.F} | 20 +-
fer/utl/store_dependency.F | 8 +-
fer/utl/update_attributes.F | 17 +-
fer/xeq/xeq_annotate.F | 1 -
fer/xeq/xeq_cancel.F | 8 +-
fer/xeq/xeq_define.F | 16 +-
fer/xeq/xeq_plot.F | 2 +-
fer/xeq/xeq_spawn.F | 32 +-
fer/xeq/xeq_wire.F | 63 +-
fmt/cmn/netcdf_declareUnderscore.inc | 2 +-
fmt/src/NCF_Util.c | 28 +-
fmt/src/SOURCE_FILES | 6 +
.../{cd_get_var_outflag.F => cd_get_id_varname.F} | 49 +-
fmt/src/cd_get_time_units.F | 0
.../{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/ez_delimited_read.c | 26 +-
fmt/src/ez_init_dset.F | 27 +-
jnls/examples/color_cover.jnl | 196 +
jnls/examples/my_ocean_stripmap_tn.jnl | 141 +
jnls/go/frequency_histogram2.jnl | 3 +
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 +
ppl/complot/symbel_hershey.F | 3 +-
ppl/plot/plotz.F | 16 +-
ppl/plot/spwn.F | 10 +-
ppl/plot/view.F | 24 +-
ppl/plotlib/contur.F | 47 +-
ppl/symlib/cmderr.F | 42 +-
ppl/tmap_inc/taxis_inc.decl | 18 +-
ppl/tmapadds/fillpol.F | 17 +-
ppl/tmapadds/key.F | 7 +-
ppl/tmapadds/set_levels_shade_fill.F | 9 +-
ppl/tmapadds/setlab_syms.F | 45 +-
pyfermod/libpyferret.c | 2 +-
pyfermod/pyferret.h | 3 +-
setup.py | 14 +-
site_specific.mk | 26 +-
233 files changed, 20212 insertions(+), 10395 deletions(-)
diff --git a/README.md b/README.md
index 9662547..45dc7ad 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,9 @@ using git-svn.
The latest ferretmagic module from Patrick Brockmann for using PyFerret
with the iPython notebook can be obtained using `pip install ferretmagic`, or see
-[http://pypi.python.org/pypi/ferretmagic](http://pypi.python.org/pypi/ferretmagic)
+[http://pypi.python.org/pypi/ferretmagic](http://pypi.python.org/pypi/ferretmagic).
+Note that this only installs the ferretmagic module for PyFerret;
+it does not install PyFerret.
## Anaconda Installation - Linux, OS X, and Windows 10/bash
diff --git a/bench/Makefile b/bench/Makefile
index bb799b4..554b435 100644
--- a/bench/Makefile
+++ b/bench/Makefile
@@ -1,5 +1,5 @@
#
-# Makefile for the PyFerret source bench subdirectory
+# Makefile for the PyFerret bench subdirectory
#
# include platform specific macro definitions for make_stream_file
@@ -13,21 +13,29 @@ run_tests:
echo "*** PyFerret must be installed and the ferret_paths script must have sourced for these tests ***" ; \
exit 1 ; \
fi
- ./RUN_TESTS.sh `which pyferret` "$(PYFER_EXTERNAL_FUNCTIONS)" "RUN_TESTS.sh test results for PyFerret"
- @echo 'Differences in the generated bench PDF and PNG files versus against those in test_results'
+ ./RUN_TESTS.sh `which pyferret` "$(PYFER_EXTERNAL_FUNCTIONS)"
+ @echo 'Differences in the generated bench PDF and PNG files versus those in bench/test_results'
- at for img in *.pdf *.png ; \
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.png ; \
+ fi \
done
+ -@( datetag=`date +'%d%h%yAT'|tr '[A-Z]' '[a-z]'` ; \
+ diff all_$${datetag}*_ncdump test_results/pyferret_run_tests_ncdump 1> pyferret_run_tests_ncdump.diff 2>&1 ; \
+ diff all_$${datetag}*_err test_results/pyferret_run_tests_err 1> pyferret_run_tests_err.diff 2>&1 ; \
+ diff all_$${datetag}*_log test_results/pyferret_run_tests_log 1> pyferret_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/pyferret_run_tests_ncdump, bench/test_results/pyferret_run_test_err, '
- @echo 'and bench/test_results/pyferret_run_tests_log'
+ @echo 'Inspect the *_diff.png files for actual differences in the images'
+ @echo 'Inspect the pyferret_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* *.eps* *.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 *.ps* *.eps* *.png* *.pdf* *.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 9aec8ee..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
@@ -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 439db0d..8a37c51 100644
--- a/bench/TEST_SCRIPTS
+++ b/bench/TEST_SCRIPTS
@@ -273,9 +273,10 @@ bn_compressed_gather.jnl
bn_dynamic_gather.jnl
bn_stat_precision.jnl
bn_plot_vs_with_time.jnl
-bn_inner.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
!
@@ -284,9 +285,11 @@ bn_ps.jnl
bn_all_ef.jnl
bn_startupfile.jnl
!
-! Test SOCAT decimation script (not part of normal benchmark tests)
+! Test SOCAT decimation script and color wire plots
+! (not part of normal benchmark tests)
!
err700_decimate.jnl
+bn_color_wire.jnl
! PyFerret-only Ferret scripts
bn_outline_poly.jnl
bn_contourcolor.jnl
diff --git a/bench/TRASH_FILES b/bench/TRASH_FILES
index ae1ce72..a88ad1c 100644
--- a/bench/TRASH_FILES
+++ b/bench/TRASH_FILES
@@ -89,6 +89,7 @@ justh.nc
layerz_test_data.txt
list_of_numbers.dat
longax.dat
+longaxspace.dat
longtitle.nc
longvname.nc
lonlat.dat
diff --git a/bench/ansley_official.rhel5_32_err b/bench/ansley_official.rhel5_32_err
index 3cb47b0..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 120880848 Apr 11 16:25 /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: with CANCEL MODE STUPID in bn_reset
+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 Tue Apr 11 16:46:42 PDT 2017
+Beginning at Thu May 11 10:26:09 PDT 2017
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
ooooooooooooooooooooooooooooooooooooooooooo
@@ -1647,6 +1647,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
@@ -4510,7 +4511,7 @@ Starting test: bn_let_remote
*** 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/apache-tomcat-7.0.34/content/NVODS/conf/server/temp/D1D5FD4B2FB7337E19977C571F94C6FF/header.xml (No such file or directory)"^;};
+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
@@ -4527,18 +4528,18 @@ 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/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/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/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
@@ -4678,6 +4679,7 @@ list substring("hello",1,-3)
TEMPORARY data cleared from memory
ooooooooooooooooooooooooooooooooooooooooooo
Starting test: bn_append_dsg
+rm: cannot remove `test_save_dsg.nc': No such file or directory
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
ooooooooooooooooooooooooooooooooooooooooooo
@@ -4992,6 +4994,7 @@ def anno/nou/user/xpos=0/ypos=0 "My Lab"
TEMPORARY data cleared from memory
ooooooooooooooooooooooooooooooooooooooooooo
Starting test: bn_auxiliary
+rm: cannot remove `layerz_test_data.txt': No such file or directory
Replacing definition of axis ZAX
LISTing to file layerz_test_data.txt
**ERROR: variable unknown or not in data set: (data set ok ?): noexist
@@ -5394,6 +5397,178 @@ DEFINE DATA/AGGREGAT/F my_fmrc = XCAT(files,"tmp/irregular_start_time_fcst.nc")
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
+ 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
*** 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
@@ -5545,9 +5720,6 @@ 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 TAXIS
Replacing definition of axis XAXIS
Replacing definition of axis YAXIS
@@ -5683,7 +5855,6 @@ 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
@@ -5839,9 +6010,6 @@ 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
@@ -5910,6 +6078,15 @@ Replacing definition of axis tax
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
@@ -6419,13 +6596,38 @@ Replacing definition of axis time
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
ooooooooooooooooooooooooooooooooooooooooooo
-Starting test: bn_inner
+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
@@ -6449,6 +6651,11 @@ Starting test: bn_cache_management
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
@@ -6521,6 +6728,21 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
@@ -6552,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 Tue Apr 11 16:55:55 PDT 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 590af43..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 120880848 Apr 11 16:25 /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: with CANCEL MODE STUPID in bn_reset
+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 Tue Apr 11 16:46:42 PDT 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
@@ -776,12 +776,12 @@ SHOW MEMORY
SET MEMORY/SIZE: 25.6 megawords
Peak demand: 18 words
Current cache: 15 words
- Permamnent: 5 words
+ Permanent: 5 words
SHOW MEMORY/FREE
SET MEMORY/SIZE: 25.6 megawords
Peak demand: 18 words
Current cache: 15 words
- Permamnent: 5 words
+ Permanent: 5 words
Total table slots: 500
Free table slots: 497
Un-cached variables: 0
@@ -10457,18 +10457,18 @@ show symbols/all
PPL$XPIXEL = "406"
PPL$YPIXEL = "406"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
+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 = "11-Apr-17"
-SESSION_TIME = "16:46"
-SESSION_PID = "10604"
-DELTA_CPU = "9.89449"
-CLOCK_SECS = "15.579"
-CURRENT_DATE = "11-Apr-17"
-CURRENT_TIME = "16:46:58"
+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"
@@ -10488,18 +10488,18 @@ show symbol/all
PPL$XPIXEL = "406"
PPL$YPIXEL = "406"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
+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 = "11-Apr-17"
-SESSION_TIME = "16:46"
-SESSION_PID = "10604"
-DELTA_CPU = "0.014998"
-CLOCK_SECS = "15.593"
-CURRENT_DATE = "11-Apr-17"
-CURRENT_TIME = "16:46:58"
+SESSION_DATE = "11-May-17"
+SESSION_TIME = "10:26"
+SESSION_PID = "17872"
+DELTA_CPU = "0.013998"
+CLOCK_SECS = "15.665"
+CURRENT_DATE = "11-May-17"
+CURRENT_TIME = "10:26:24"
N_OPEN_DSETS = "0"
PROGRAM_NAME = "Ferret"
PEAK_MEMORY = "0"
@@ -10511,9 +10511,9 @@ NUM = "3"
T$DOLLAR = "hi"
T_HELLO = "hi"
show symbol s*
-SESSION_DATE = "11-Apr-17"
-SESSION_TIME = "16:46"
-SESSION_PID = "10604"
+SESSION_DATE = "11-May-17"
+SESSION_TIME = "10:26"
+SESSION_PID = "17872"
SPAWN_STATUS = "1"
S1 = "hello"
S2 = ""hello""
@@ -10524,16 +10524,16 @@ S2 = ""hello""
! exercise CANCEL SYMBOL
cancel symbol s2
show symbol s*
-SESSION_DATE = "11-Apr-17"
-SESSION_TIME = "16:46"
-SESSION_PID = "10604"
+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 = "11-Apr-17"
-SESSION_TIME = "16:46"
-SESSION_PID = "10604"
+SESSION_DATE = "11-May-17"
+SESSION_TIME = "10:26"
+SESSION_PID = "17872"
SPAWN_STATUS = "1"
S1 = "hello"
S3 = "hello and goodbye"
@@ -10568,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 = "11-APR-2017 16:46:58"
+LAB3 = "11-MAY-2017 10:26:24"
LABX = "X"
LAB4 = "Y : 10"
LABNUM_Y = "4"
@@ -10665,18 +10665,18 @@ show symbols/all
PPL$XPIXEL = "406"
PPL$YPIXEL = "406"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
+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 = "11-Apr-17"
-SESSION_TIME = "16:46"
-SESSION_PID = "10604"
-DELTA_CPU = "0.028995"
-CLOCK_SECS = "15.623"
-CURRENT_DATE = "11-Apr-17"
-CURRENT_TIME = "16:46:58"
+SESSION_DATE = "11-May-17"
+SESSION_TIME = "10:26"
+SESSION_PID = "17872"
+DELTA_CPU = "0.029995"
+CLOCK_SECS = "15.695"
+CURRENT_DATE = "11-May-17"
+CURRENT_TIME = "10:26:24"
N_OPEN_DSETS = "0"
PROGRAM_NAME = "Ferret"
PEAK_MEMORY = "201"
@@ -25345,7 +25345,7 @@ GO err491_spawn_quotes.jnl
! this should be a valid command
SPAWN "date"
-Tue Apr 11 16:47:14 PDT 2017
+Thu May 11 10:26:42 PDT 2017
GO bn_reset
cancel mode verify
@@ -48074,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 @AS11-APR-2017 16:48:07
+ 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
@@ -49393,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
@@ -49411,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
@@ -49521,7 +49521,7 @@ sho command
/DEGMINSE/HALFSPAC
SPAWN
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
@@ -49551,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 = "11-Apr-17:16:46"
+WIN_TITLE = "11-May-17:10:26"
set win/title="set the title"
sho sym win_title
@@ -49569,7 +49569,7 @@ sho sym win_title
WIN_TITLE = "_"
set win/title="($session_date):($session_time)"
- !-> set win/title="11-Apr-17:16:46"
+ !-> 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
@@ -49578,16 +49578,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 = 11-Apr-17
+ !-> DEFINE SYMBOL the_date = 11-May-17
DEFINE SYMBOL the_time = ($session_time"SESSION_TIME")
- !-> DEFINE SYMBOL the_time = 16:46
+ !-> DEFINE SYMBOL the_time = 10:26
SET WIN/TITLE="($the_date):($the_time)"
- !-> SET WIN/TITLE="11-Apr-17:16:46"
+ !-> SET WIN/TITLE="11-May-17:10:26"
can win/all
set win/new
sh sym win_title
-WIN_TITLE = "11-Apr-17:16:46"
+WIN_TITLE = "11-May-17:10:26"
GO bn_reset bn_last_error.jnl
cancel mode verify
@@ -54088,7 +54088,7 @@ sho dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 11-Apr-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
@@ -54137,7 +54137,7 @@ sho dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 11-Apr-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
@@ -55633,7 +55633,8 @@ DNCASE(STR)
STRCAT(STR1,STR2)
SUBSTRING(STR,OFFSET,LENGTH)
STRFLOAT(STR)
-INNERPRODUCT(VAR1,VAR2,IDIM)
+DOT(VAR1,VAR2,IDIM)
+TRANSPOSE(VAR,DIM1,DIM2)
Externally defined functions available to Ferret:
AVE_SCAT2GRID_T(TPTS,VPTS,TAXIS)
@@ -55828,12 +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)
-INNERPRODUCT_X(VAR1,VAR2)
-INNERPRODUCT_Y(VAR1,VAR2)
-INNERPRODUCT_Z(VAR1,VAR2)
-INNERPRODUCT_T(VAR1,VAR2)
-INNERPRODUCT_E(VAR1,VAR2)
-INNERPRODUCT_F(VAR1,VAR2)
+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)
@@ -60158,10 +60159,10 @@ ooooooooooooooooooooooooooooooooooooooooooo
Starting test: bn_clock_syms
GO bn_clock_syms
SH SYM delta_cpu, clock_secs, current_date, current_time
-DELTA_CPU = "88.9245"
-CLOCK_SECS = "128.14"
-CURRENT_DATE = "11-Apr-17"
-CURRENT_TIME = "16:48:51"
+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
@@ -60170,8 +60171,8 @@ CURRENT_TIME = "16:48:51"
use gt4d011
shade/k=1 temp[L=@ave]
sh sym DELTA_CPU, CLOCK_SECS
-DELTA_CPU = "0.05899"
-CLOCK_SECS = "128.308"
+DELTA_CPU = "0.064991"
+CLOCK_SECS = "142.426"
repeat/k=1:10 shade temp[L=@ave]
!-> REPEAT: K=1
@@ -60185,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.280958
+ !-> DEFINE VARIABLE ten_plots = 0.291956
sh sym DELTA_CPU, CLOCK_SECS
-DELTA_CPU = "0.001"
-CLOCK_SECS = "129.611"
+DELTA_CPU = "0"
+CLOCK_SECS = "143.723"
let sumclock = 0
let sumcpu = 0
sh sym CLOCK_SECS
-CLOCK_SECS = "129.612"
+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.028995
- !-> DEFINE VARIABLE sumcpu =0.028995
+ !-> DEFINE VARIABLE dt = 0.030995
+ !-> DEFINE VARIABLE sumcpu =0.030995
!-> REPEAT: K=2
!-> DEFINE VARIABLE dt = 0.031995
- !-> DEFINE VARIABLE sumcpu =0.06099
+ !-> DEFINE VARIABLE sumcpu =0.06299
!-> REPEAT: K=3
- !-> DEFINE VARIABLE dt = 0.029996
- !-> DEFINE VARIABLE sumcpu =0.090986
+ !-> DEFINE VARIABLE dt = 0.032995
+ !-> DEFINE VARIABLE sumcpu =0.095985
!-> REPEAT: K=4
- !-> DEFINE VARIABLE dt = 0.033994
- !-> DEFINE VARIABLE sumcpu =0.12498
+ !-> DEFINE VARIABLE dt = 0.032994
+ !-> DEFINE VARIABLE sumcpu =0.128979
!-> REPEAT: K=5
- !-> DEFINE VARIABLE dt = 0.030996
- !-> DEFINE VARIABLE sumcpu =0.155976
+ !-> DEFINE VARIABLE dt = 0.032996
+ !-> DEFINE VARIABLE sumcpu =0.161975
!-> REPEAT: K=6
!-> DEFINE VARIABLE dt = 0.032995
- !-> DEFINE VARIABLE sumcpu =0.188971
+ !-> DEFINE VARIABLE sumcpu =0.19497
!-> REPEAT: K=7
- !-> DEFINE VARIABLE dt = 0.028995
- !-> DEFINE VARIABLE sumcpu =0.217966
+ !-> DEFINE VARIABLE dt = 0.035995
+ !-> DEFINE VARIABLE sumcpu =0.230965
!-> REPEAT: K=8
- !-> DEFINE VARIABLE dt = 0.038995
- !-> DEFINE VARIABLE sumcpu =0.256961
+ !-> DEFINE VARIABLE dt = 0.034994
+ !-> DEFINE VARIABLE sumcpu =0.265959
!-> REPEAT: K=9
- !-> DEFINE VARIABLE dt = 0.030995
- !-> DEFINE VARIABLE sumcpu =0.287956
+ !-> DEFINE VARIABLE dt = 0.034995
+ !-> DEFINE VARIABLE sumcpu =0.300954
!-> REPEAT: K=10
- !-> DEFINE VARIABLE dt = 0.033994
- !-> DEFINE VARIABLE sumcpu =0.32195
+ !-> DEFINE VARIABLE dt = 0.031994
+ !-> DEFINE VARIABLE sumcpu =0.332948
say `sumcpu`
- !-> MESSAGE/CONTINUE 0.32195
-0.32195
+ !-> MESSAGE/CONTINUE 0.332948
+0.332948
sh sym CLOCK_SECS
-CLOCK_SECS = "131.798"
+CLOCK_SECS = "145.962"
SH SYM session_date, current_date, session_time, current_time
-SESSION_DATE = "11-Apr-17"
-SESSION_TIME = "16:46"
-CURRENT_DATE = "11-Apr-17"
-CURRENT_TIME = "16:48:54"
+SESSION_DATE = "11-May-17"
+SESSION_TIME = "10:26"
+CURRENT_DATE = "11-May-17"
+CURRENT_TIME = "10:28:35"
! ******** V6.3 Additions below ***********
@@ -62944,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
@@ -62965,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
@@ -64151,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-419.el5PAE 32-bit - 04/11/17"
- 4 / 4:" ! 11-Apr-17 16:46 "
+ 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"
@@ -66704,40 +66705,40 @@ can mode ver
BAD FLAG : -1.E+34
SUBSET : 5 points (X)
X : 0.5 to 5.5
-randu2_randn2 0.040
-randu2_randn2 0.212
-randu2_randn2 0.483
-randu2_randn2 0.139
-randu2_randn2 0.794
+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.689
-randu2_randn2 0.913
-randu2_randn2 0.690
-randu2_randn2 0.860
-randu2_randn2 0.988
+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.809
-randu2_randn2 0.133
-randu2_randn2 0.522
-randu2_randn2 0.615
-randu2_randn2 0.138
-randu2_randn2 0.298
+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.987
-randu2_randn2 0.557
-randu2_randn2 0.810
-randu2_randn2 0.130
-randu2_randn2 0.935
-randu2_randn2 0.239
+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)
@@ -66762,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.372
-randu2_randn2 1.269
-randu2_randn2 -0.672
-randu2_randn2 0.228
-randu2_randn2 -1.020
+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 -1.683
-randu2_randn2 -1.797
-randu2_randn2 -0.797
-randu2_randn2 3.543
-randu2_randn2 -1.074
+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 -1.332
-randu2_randn2 0.392
-randu2_randn2 0.434
-randu2_randn2 -1.260
-randu2_randn2 -0.460
-randu2_randn2 -0.412
+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 0.371
-randu2_randn2 -1.030
-randu2_randn2 -0.872
-randu2_randn2 1.215
-randu2_randn2 0.925
-randu2_randn2 0.018
+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)
@@ -66820,14 +66821,14 @@ 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.948 1.948 1.076
-randu2_randn2 1.598 1.598 1.076
-randu2_randn2 1.076 1.076 0.325
-randu2_randn2 0.325 0.325 0.515
-randu2_randn2 -0.498 -0.498 0.515
-randu2_randn2 -0.884 -0.498 0.515
-randu2_randn2 0.195 0.195 0.515
-randu2_randn2 0.515 0.515 0.515
+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
@@ -72663,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) 11-Apr-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
@@ -72716,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) 11-Apr-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
@@ -72758,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) 11-Apr-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
@@ -72800,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) 11-Apr-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
@@ -72833,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) 11-Apr-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
@@ -72867,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) 11-Apr-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
@@ -72930,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) 11-Apr-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
@@ -72978,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) 11-Apr-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
@@ -73035,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) 11-Apr-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
@@ -73073,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) 11-Apr-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
@@ -73111,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) 11-Apr-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
@@ -73149,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) 11-Apr-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
@@ -73183,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) 11-Apr-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
@@ -73421,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) 11-Apr-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
@@ -73455,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) 11-Apr-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
@@ -73499,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) 11-Apr-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
@@ -73540,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) 11-Apr-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
@@ -73566,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) 11-Apr-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
@@ -73592,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) 11-Apr-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
@@ -74049,7 +74050,7 @@ variables:
A:history = "From coads_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -74078,7 +74079,7 @@ variables:
E410:history = "From coads_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -74129,7 +74130,7 @@ variables:
E410:history = "From coads_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -74708,8 +74709,8 @@ variables:
DDAT_ORIG:long_name = "DDAT[GZ=ZAXIS_ORIG at ASN]" ;
// global attributes:
- :history = "Tue Apr 11 16:49:33 2017: ncks -h -A -h z1.nc append_to_this.nc\n",
- "FERRET V7.1 (beta/debug) 11-Apr-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" ;
}
@@ -74745,7 +74746,7 @@ variables:
AVAR:long_name = "X[GX=XIRREG]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -74776,7 +74777,7 @@ variables:
AVAR:long_name = "X[GX=XIRREG]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -74839,7 +74840,7 @@ variables:
A:history = "From coads" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -74867,7 +74868,7 @@ variables:
A:history = "From coads" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -76602,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) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -76625,7 +76626,7 @@ variables:
STRVAR:long_name = "mystrings" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -76856,7 +76857,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -76886,7 +76887,7 @@ variables:
A:history = "From a" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -76907,7 +76908,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -76928,7 +76929,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -76950,7 +76951,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -77383,7 +77384,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 11-Apr-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
@@ -77400,7 +77401,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 11-Apr-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
@@ -77417,7 +77418,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 11-Apr-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
@@ -77453,50 +77454,52 @@ GO bn_let_remote
! 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 Use the THREDDS server at http://ferret.pmel.noaa.gov/pmel/thredds
+! 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/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
+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/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/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
+ 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/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
@@ -77504,17 +77507,17 @@ can data/all; can var/all
! open another dataset, define more remote variables
-use "http://ferret.pmel.noaa.gov/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/thredds/dodsC/las/COADS-climatology/data_coads_climatology.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/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/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl (default)
+ 2> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl (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
@@ -77531,7 +77534,7 @@ sh dat
set view ul; plot/y=-10/x=50:150 sstsum
set view ur; plot/y=-10/x=50:150 airtsum
list/y=-10/x=50:59 sstsum,airtsum
- DATA SET: http://ferret.pmel.noaa.gov/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl
+ DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl
LONGITUDE: 50E to 59E
LATITUDE: 10S (interpolated)
Column 1: SSTSUM is SST[L=1:5 at SUM]
@@ -77546,7 +77549,7 @@ list/y=-10/x=50:59 sstsum,airtsum
let both = sstsum + airtsum
set view lower; plot/y=-10/x=50:150 both
list/y=-10/x=50:59 sstsum, airtsum, both
- DATA SET: http://ferret.pmel.noaa.gov/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl
+ DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl
LONGITUDE: 50E to 59E
LATITUDE: 10S (interpolated)
Column 1: SSTSUM is SST[L=1:5 at SUM]
@@ -77562,7 +77565,7 @@ list/y=-10/x=50:59 sstsum, airtsum, both
can dat/all; can var/all
! make several remote definitions. They can be used together in an expression.
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl"
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl"
let/D=1/remote sstsum = sst[L=1:5 at sum]
let/D=1/remote airtsum = airt[L=1:5 at sum]
let/D=1/remote factor = 12
@@ -77570,7 +77573,7 @@ let/D=1/remote combo = factor*(airtsum - sstsum)
list/y=-5/x=130w:110w combo
VARIABLE : FACTOR*(AIRTSUM - SSTSUM)
FILENAME : data_coads_climatology.jnl
- FILEPATH : http://ferret.pmel.noaa.gov/thredds/dodsC/las/COADS-climatology/
+ FILEPATH : http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/
SUBSET : 10 points (LONGITUDE)
LATITUDE : 5S
5S
@@ -77589,10 +77592,10 @@ list/y=-5/x=130w:110w combo
can dat/all; can var/all
-use "http://ferret.pmel.noaa.gov/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:
@@ -77600,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
@@ -77619,29 +77622,29 @@ SET MODE/LAST ignore
let/D=1/remote a = 12
sho dat
currently SET data sets:
- 1> http://ferret.pmel.noaa.gov/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/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
@@ -78673,7 +78676,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 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
}
set mode/last upcase
@@ -78771,7 +78774,7 @@ variables:
lon360:history = "added to test_save_dsg.nc" ;
// global attributes:
- :history = "CruiseDsgNcFile 1.0FERRET V7.1 (beta/debug) 11-Apr-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 ;
@@ -78798,7 +78801,7 @@ can dat/all; use anew_global.nc
sh att .
attributes for dataset: ./anew_global.nc
..history = Subset of etopo20,
- FERRET V7.1 (beta/debug) 11-Apr-17
+ FERRET V7.11 (beta/debug) 11-May-17
..Conventions = Existing conventions note, , CF-1.6
@@ -78833,7 +78836,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 (beta/debug) 11-Apr-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 bn_center_key_labels
@@ -80734,8 +80737,8 @@ 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
@@ -87631,20 +87634,20 @@ 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
-Tue Apr 11 16:50:08 PDT 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
-Tue Apr 11 16:50:08 PDT 2017
+Thu May 11 10:29:53 PDT 2017
sp date
-Tue Apr 11 16:50:08 PDT 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
-Tue Apr 11 16:50:08 PDT 2017
+Thu May 11 10:29:54 PDT 2017
GO bn_reset
cancel mode verify
@@ -87701,7 +87704,7 @@ variables:
var:long_name = "0*TT + X[GX=XAX]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -88603,7 +88606,7 @@ variables:
TEMP:history = "From /home/data/socat/socatV3/11SS/11SS20140225.nc" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -92870,8 +92873,6 @@ 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:
@@ -93217,14 +93218,14 @@ show grid fcst[d=t_f01_e1]
GRID GFA1
name axis # pts start end subset
XAX LONGITUDE 21mr 140E 160E full
- YAX1 LATITUDE 11 r 10N 20N full
+ YAX 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
- YAX1 LATITUDE 11 r 10N 20N full
+ YAX 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
@@ -93428,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) 3-Apr-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
@@ -93439,7 +93440,7 @@ SHOW DATA/ATT t_f04_e3_1v ! note atts im_everwhere vs im_not_everwhere
orig_file_axname
CHAR 3 F XAX
-(YAX1) DOUBLE point_spacing CHAR 4 T even
+(YAX) DOUBLE point_spacing CHAR 4 T even
axis CHAR 1 T Y
units CHAR 13 T degrees_north
standard_name CHAR 8 F latitude
@@ -93713,7 +93714,7 @@ SHOW DATA/ATTRIB tfe ! also notice the promotion of fcst.im_everywhere
FCST FLOAT long_name CHAR 13 T some variable
missing_value FLOAT 1 T -1.E+34
- coordinates CHAR 33 T RUN TIME16 TF_TIMES ZAX1 YAX1 XAX
+ coordinates CHAR 32 T RUN TIME16 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
@@ -93728,7 +93729,7 @@ SHOW DATA/ATTRIB tfe ! also notice the promotion of fcst.im_everywhere
FCST_2 FLOAT long_name CHAR 16 T another variable
missing_value FLOAT 1 T -1.E+34
- coordinates CHAR 39 T TF_CAL_F1 TIME16 TF_TIMES ZAX1 YAX1 XAX
+ coordinates CHAR 38 T TF_CAL_F1 TIME16 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
@@ -93926,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) 11-Apr-17
+ ..history = FERRET V7.11 (beta/debug) 11-May-17
..Conventions = CF-1.6
..dt_internal = 15
sh att elev
@@ -93947,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) 11-Apr-17
+ ..history = FERRET V7.11 (beta/debug) 11-May-17
..Conventions = CF-1.6
sh att elev
attributes for dataset: ./a.nc
@@ -93971,7 +93972,7 @@ show grid
GRID (G200)
name axis # pts start end subset
COADSX LONGITUDE 180mr 21E 19E(379) 1 pt
- (AX114) LATITUDE 201 r 10S 10N 201 pts
+ (AX110) LATITUDE 201 r 10S 10N 201 pts
normal Z
TIME10 TIME 3mr 16-JAN 06:00 17-MAR 02:58 1 pt
@@ -94073,9 +94074,9 @@ 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.041 seconds
-5K LOAD with transform takes 6.664 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 bn_show_noupcase
cancel mode verify
@@ -96094,7 +96095,7 @@ sho command/brief v
! 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
@@ -97069,20 +97070,9 @@ list/nohead strindex(..title, "file")
! Bug 2477 plot axes are not fully drawn, some /VS plots
-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
+! 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
@@ -97805,7 +97795,7 @@ variables:
VAR:long_name = "X[GX=XLON]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
go bn_reset
@@ -97864,7 +97854,7 @@ variables:
VAR:history = "From a1" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -97911,7 +97901,7 @@ variables:
VAR:history = "From a1" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -97985,7 +97975,7 @@ SHOW GRID actual
GRID (G181)
name axis # pts start end subset
XAX1 LONGITUDE 7mr 140W 110W full
- YAX2 LATITUDE 4 r 45N 60N full
+ YAX1 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
@@ -98016,7 +98006,7 @@ SHOW GRID diagview
GRID (G181)
name axis # pts start end subset
XAX1 LONGITUDE 7mr 140W 110W full
- YAX2 LATITUDE 4 r 45N 60N full
+ YAX1 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
@@ -98046,7 +98036,7 @@ SHOW GRID leadview
GRID (G201)
name axis # pts start end subset
XAX1 LONGITUDE 7mr 140W 110W full
- YAX2 LATITUDE 4 r 45N 60N full
+ YAX1 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
@@ -98751,14 +98741,14 @@ show grid fcst[d=t_f01_e1]
GRID GEM1
name axis # pts start end subset
XAX LONGITUDE 21mr 140E 160E full
- YAX1 LATITUDE 11 r 10N 20N full
+ YAX 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
- YAX1 LATITUDE 11 r 10N 20N full
+ YAX 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
@@ -98915,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
@@ -98978,7 +98968,7 @@ sh grid fcst
GRID (G174) Forecast Aggregation Grid
name axis # pts start end subset
XAX LONGITUDE 21mr 140E 160E full
- YAX1 LATITUDE 11 r 10N 20N full
+ YAX 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
@@ -98987,7 +98977,7 @@ sh grid fcst_3
GRID (G174) Forecast Aggregation Grid
name axis # pts start end subset
XAX LONGITUDE 21mr 140E 160E full
- YAX1 LATITUDE 11 r 10N 20N full
+ YAX 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
@@ -99076,7 +99066,7 @@ variables:
abc:history = "From abc.dat" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -99137,24 +99127,24 @@ sav/file=a.nc/clobber var,longitude,latitude
sp ncdump -h a.nc
netcdf a {
dimensions:
- AX103 = 6 ;
+ AX104 = 6 ;
variables:
- double AX103(AX103) ;
- AX103:point_spacing = "even" ;
- AX103:axis = "X" ;
- float var(AX103) ;
+ double AX104(AX104) ;
+ AX104:point_spacing = "even" ;
+ AX104:axis = "X" ;
+ float var(AX104) ;
var:missing_value = -1.e+34f ;
var:_FillValue = -1.e+34f ;
var:long_name = "var" ;
var:history = "From bn_delimited_read_1.dat" ;
- float longitude(AX103) ;
+ float longitude(AX104) ;
longitude:missing_value = -1.e+34f ;
longitude:_FillValue = -1.e+34f ;
longitude:long_name = "longitude" ;
longitude:units = "degrees_east" ;
longitude:long_name_mod = "Longitude" ;
longitude:history = "From bn_delimited_read_1.dat" ;
- float latitude(AX103) ;
+ float latitude(AX104) ;
latitude:missing_value = -1.e+34f ;
latitude:_FillValue = -1.e+34f ;
latitude:long_name = "latitude" ;
@@ -99163,7 +99153,7 @@ variables:
latitude:history = "From bn_delimited_read_1.dat" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
@@ -99410,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
@@ -99497,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
@@ -99840,7 +99862,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 11-Apr-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
@@ -99909,7 +99931,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 11-Apr-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
@@ -99980,7 +100002,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 11-Apr-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
@@ -100397,7 +100419,7 @@ variables:
VART:long_name = "RESHAPE(VAR, T[GT=TAX])" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -100428,88 +100450,9 @@ show grid vart
TAX3 TIME 7 i 09-NOV-2015 02:24 13-NOV-2015 02:24 full
-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
+! move this to bn_gif.jnl
+! GO bn_reset
+! GO err71_plotvs_mode_label
GO bn_reset
cancel mode verify
@@ -100640,7 +100583,7 @@ list a[i=2]
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
+ 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
@@ -100650,9 +100593,9 @@ list a[i=2]
GO bn_reset
cancel mode verify
dealloc dynamic grid XABSTRACT ABSTRACT NORMAL NORMAL NORMAL
- -DELETE A M:218 dset: 1 I: 2 2 J: -999 -999 K: -999 -999 L: -999 -999
+ -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:237 dset: 1 I: 2 2 J: -999 -999 K: -999 -999 L: -999 -999
+ -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
@@ -100682,6 +100625,10 @@ use write_int_att.nc
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
@@ -101416,12 +101363,29 @@ 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_STATUS) THEN
- !-> IF 1 THEN
- say test files already exist. not re-creating them
-test files already exist. not re-creating them
+ !-> 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
! ************************************
@@ -101431,8 +101395,8 @@ 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
+ 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
@@ -102027,14 +101991,14 @@ SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_30.out
> Peak demand: 4.184 megawords
> Current cache: 4.524 megawords
68c68
-< V[D=test_dyn_mem] XYZ mr:220 size:4000000
+< V[D=test_dyn_mem] XYZ mr:226 size:4000000
---
-> V[D=test_dyn_mem] XYZ mr:208 size:2000000
+> 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:220 size:360000
+> 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
@@ -102091,7 +102055,7 @@ SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_30.out
< 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
+> 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
@@ -102315,45 +102279,45 @@ SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
> Peak demand: 2.384 megawords
> Current cache: 5.712 megawords
68c68
-< V[D=test_dyn_mem] XYZ mr:220 size:4000000
+< 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:228 size:32000
+> 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:178 size:160000
+> 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:176 size:64000
+> 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:192 size:320000
+> 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:184 size:64000
+> 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:208 size:320000
+> 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:194 size:64000
+> 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:220 size:320000
+> 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:218 size:64000
+> 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
@@ -102361,7 +102325,7 @@ SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
> 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:226 size:64000
+> 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
@@ -102397,7 +102361,7 @@ SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
> 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:224 size:320000
+> 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
>
@@ -102873,16 +102837,396 @@ set v lr; plot/vs/ribbon/sym=17/thick/vlim=50:0 ttvar, pres, temp
set mode/last logo
-GO bn_reset bn_inner
-cancel mode verify
-ooooooooooooooooooooooooooooooooooooooooooo
-Starting test: bn_inner
-GO bn_inner
-! bn_inner.jnl
-! 3/2017 *acm* Inner product function for matrix multiply operation
+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
-exit/script !4/10/17 ACM this fails on running twice in a row. Exit until fixes are checked in.
+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
@@ -102928,12 +103272,12 @@ define axis/x=1:1000000:1 xmillion
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_STATUS) THEN
- !-> IF 1 THEN
- say test files already exist. not re-creating them
-test files already exist. not re-creating them
+ !-> IF 0 THEN
ELSE
+ say creating test files
+creating test files
+ cancel mode verify
ENDIF
! open the many input datasets
@@ -103322,6 +103666,121 @@ spawn cat test_auto_cache.out
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
@@ -103336,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-419.el5PAE 32-bit - 04/11/17
- 11-Apr-17 16:55
+ 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
@@ -104156,7 +104615,7 @@ variables:
MY_VAR:long_name = "T[GT=T5]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104181,7 +104640,7 @@ variables:
MY_VAR:long_name = "T[GT=T5]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104205,7 +104664,7 @@ variables:
B:long_name = "\"one line of text\"" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104244,7 +104703,7 @@ variables:
D:history = "From test_string" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104279,7 +104738,7 @@ variables:
B:long_name = "SAMPLEJ(YSEQUENCE({\"a\",\"b\",,\"d\",\"e\",\"f\"}),{2,,1})" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104320,7 +104779,7 @@ variables:
V:long_name = "T[GT=MONTH_IRREG]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104377,7 +104836,7 @@ variables:
V:history = "From coads_vwnd" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104434,7 +104893,7 @@ variables:
V:history = "From coads_vwnd" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104489,7 +104948,7 @@ variables:
T2:long_name = "Z[GZ=ZIRR]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104537,7 +104996,7 @@ variables:
V:history = "From coads_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104631,7 +105090,7 @@ variables:
SST:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104701,7 +105160,7 @@ variables:
SST:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104752,7 +105211,7 @@ variables:
V:long_name = "X[GX=XAX] +Z[GZ=ZAX] + T[GT=TAX]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104827,7 +105286,7 @@ variables:
A:long_name = "T[GT=TIME]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104854,7 +105313,7 @@ variables:
X_:long_name_mod = "axis ABSTRACT" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
:title = "a long title longer than 80 characters a123456789b123456789c123456789d123456789e123456789f123456789g123456789h123456789" ;
data:
@@ -104878,7 +105337,7 @@ variables:
A:history = "From x" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-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:
@@ -104905,11 +105364,11 @@ variables:
A:history = "From t0_cdc" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-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) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
bn_bounds_defineax.jnl --- N+1 def of bounds.
netcdf irrxzt {
dimensions:
@@ -104940,7 +105399,7 @@ variables:
V:long_name = "X[GX=XAX] +Z[GZ=ZAX] + T[GT=TAX]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105012,7 +105471,7 @@ variables:
VAR_B:long_name = "my strings" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105056,7 +105515,7 @@ variables:
SST:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105098,7 +105557,7 @@ variables:
SST:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105206,7 +105665,7 @@ variables:
ELEV:history = "From err491_attval" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 6 after CANCEL MODE upcase_output
@@ -105247,7 +105706,7 @@ variables:
Elev:history = "From err491_attval" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 7 outtput flags to control attribute output
@@ -105270,7 +105729,7 @@ variables:
BB:another_attr = 6.f ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105296,7 +105755,7 @@ variables:
BB:another_attr = 6.f ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105316,7 +105775,7 @@ variables:
BB:long_name = "{3,4.5,6,7,4}" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105337,7 +105796,7 @@ variables:
BB:long_name = "{3,4.5,6,7,4}" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105380,7 +105839,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-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.
@@ -105420,7 +105879,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-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.
@@ -105458,7 +105917,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 14 attributes of data from ez data.
@@ -105487,7 +105946,7 @@ variables:
A3:history = "From EZ.DAT" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105520,7 +105979,7 @@ variables:
V4:history = "From EZ.DAT" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105546,7 +106005,7 @@ variables:
A:four = "theory" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105592,7 +106051,7 @@ variables:
ELEV:history = "From err491_attval" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
:simulation = "K-Bay OAR3d model (200m)" ;
:start_date = "980105000000" ;
@@ -105699,7 +106158,7 @@ variables:
TEMP:units = "deg. C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
:dt_internal = 15. ;
}
@@ -105741,7 +106200,7 @@ variables:
ELEV:history = "From err491_attval" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105824,7 +106283,7 @@ variables:
RIGUE:history = "From test0" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105861,7 +106320,7 @@ variables:
B:long_name = "hello" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105901,7 +106360,7 @@ variables:
VWND:units = "M/S" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105952,7 +106411,7 @@ variables:
T2:history = "From coads_vwnd" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106011,7 +106470,7 @@ variables:
T2:history = "From gt4d011" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106056,7 +106515,7 @@ variables:
T2:history = "From gt4d011" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106099,7 +106558,7 @@ variables:
T2:history = "From gt4d011" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106134,7 +106593,7 @@ variables:
TEMP:units = "DEG C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106168,7 +106627,7 @@ variables:
TWO:history = "From levitus_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 27 attributes of user-defined axes
@@ -106198,7 +106657,7 @@ variables:
AXY:long_name = "RESHAPE (A,RVAR)" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 28 Define a new global attribute
@@ -106227,7 +106686,7 @@ variables:
BROILED:history = "From test0" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-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" ;
@@ -106288,7 +106747,7 @@ variables:
FAREN:history = "From gt4d011" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106333,7 +106792,7 @@ variables:
FAREN:history = "From gt4d011" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106352,7 +106811,7 @@ variables:
A:long_name = "X[GX=XAX]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106382,7 +106841,7 @@ variables:
A:long_name = "X[GX=XAX]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106412,7 +106871,7 @@ variables:
A:long_name = "X[GX=XAX]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106465,7 +106924,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106507,7 +106966,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106525,7 +106984,7 @@ variables:
V:long_name = "Y[GY=YAXIS]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
err611_set_var_ez.jnl ---
@@ -106544,7 +107003,7 @@ variables:
MY_ASC:history = "From dat.dat" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106562,7 +107021,7 @@ variables:
MY_UNF:history = "From unf.dat" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- SET VAR/OUTTYPE for user variable
@@ -106579,7 +107038,7 @@ variables:
A:long_name = "{1.1,2.2,3.3}" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106600,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) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106663,7 +107122,7 @@ variables:
newvar:history = "From a" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
bn_keep_axisnames.jnl --- test SAVE/KEEP_AXISNAMES
@@ -106690,7 +107149,7 @@ variables:
A:long_name = "X[GX=X100] + T[GT=T31]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
bn_keep_axisnames.jnl --- without /KEEP_AXISNAMES
@@ -106717,7 +107176,7 @@ variables:
A:long_name = "X[GX=X100] + T[GT=T31]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-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:
@@ -106783,7 +107242,7 @@ variables:
ZUP:long_name = "Z[GZ=ZAXUP]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-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:
@@ -106815,7 +107274,7 @@ variables:
Y_:long_name_mod = "axis YFIFTEEN" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-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
@@ -106848,7 +107307,7 @@ variables:
XYTVAR:history = "From bn_strides" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106873,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) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106911,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) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106937,7 +107396,7 @@ variables:
MYVAR:history = "From coads_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106951,7 +107410,7 @@ variables:
MYVAR:history = "From levitus_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 11-Apr-17" ;
+ :history = "FERRET V7.11 (beta/debug) 11-May-17" ;
:Conventions = "CF-1.6" ;
}
-----
@@ -106965,9 +107424,9 @@ yes?
yes?
yes? GO bn_startupfile
NOAA/PMEL TMAP
- FERRET v7.1 (beta/debug)
- Linux 2.6.18-419.el5PAE 32-bit - 04/11/17
- 11-Apr-17 16:55
+ FERRET v7.11 (beta/debug)
+ Linux 2.6.18-419.el5PAE 32-bit - 05/11/17
+ 11-May-17 10:36
CAN MODE VERIFY
SET MEMORY/SIZE: 31 megawords
@@ -106976,18 +107435,18 @@ CAN MODE VERIFY
PPL$XPIXEL = "656"
PPL$YPIXEL = "492"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
+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 = "11-Apr-17"
-SESSION_TIME = "16:55"
-SESSION_PID = "11360"
-DELTA_CPU = "0.041993"
-CLOCK_SECS = "0.196"
-CURRENT_DATE = "11-Apr-17"
-CURRENT_TIME = "16:55:51"
+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"
@@ -107012,7 +107471,7 @@ PPL$VIEW_X = "0.000"
PPL$VIEW_Y = "0.000"
PPL$VIEW_Z = "0.000"
PPL$COMMAND_FILE = "$$MEMBUF$$"
-WIN_TITLE = "11-Apr-17:16:55"
+WIN_TITLE = "11-May-17:10:36"
VP_WIDTH = "10.2"
VP_HEIGHT = "8.8"
VP_SCALE = "1"
@@ -107076,9 +107535,9 @@ yes?
yes?
yes? GO bn_gif
NOAA/PMEL TMAP
- FERRET v7.1 (beta/debug)
- Linux 2.6.18-419.el5PAE 32-bit - 04/11/17
- 11-Apr-17 16:55
+ 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
@@ -107615,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
@@ -107624,9 +108222,9 @@ yes?
yes?
yes? GO bn_ps
NOAA/PMEL TMAP
- FERRET v7.1 (beta/debug)
- Linux 2.6.18-419.el5PAE 32-bit - 04/11/17
- 11-Apr-17 16:55
+ 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
@@ -107738,9 +108336,9 @@ yes?
yes?
yes? GO bn_batch_metafile
NOAA/PMEL TMAP
- FERRET v7.1 (beta/debug)
- Linux 2.6.18-419.el5PAE 32-bit - 04/11/17
- 11-Apr-17 16:55
+ 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
@@ -107824,4 +108422,4 @@ set window/location=0.1,0.1/title="another title"
set mode/last logo
exit/command
-Ended at Tue Apr 11 16:55:55 PDT 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 b5cc6c8..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/working/FERRET/fer/ferret_c
--rwxr-xr-x. 1 ansley oerdnewp 116929211 Apr 13 10:41 /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 2318: axis range when data is constant
+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=.
@@ -22,7 +22,7 @@ FER_PALETTE=. /home/users/tmap/ferret/rhel6-x86_64-linux/ppl
FER_WEB_BROWSER=firefox
PWD=/home/users/ansley/build/working/FERRET/bench
PYFER_EXTERNAL_FUNCTIONS=/home/users/tmap/ferret/rhel6-x86_64-linux/ext_func/pylibs
-Beginning at Thu Apr 13 10:44:07 PDT 2017
+Beginning at Wed Jul 12 09:51:20 PDT 2017
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
ooooooooooooooooooooooooooooooooooooooooooo
@@ -1249,6 +1249,8 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
@@ -1273,7 +1275,7 @@ 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
@@ -1328,6 +1330,8 @@ ooooooooooooooooooooooooooooooooooooooooooo
*** 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
@@ -1370,12 +1374,10 @@ ooooooooooooooooooooooooooooooooooooooooooo
*** 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
@@ -1399,7 +1401,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
*** 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
@@ -1458,6 +1460,8 @@ ooooooooooooooooooooooooooooooooooooooooooo
*** 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
@@ -1500,12 +1504,10 @@ ooooooooooooooooooooooooooooooooooooooooooo
*** 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
@@ -1958,7 +1960,7 @@ def axis/t/bounds tax= {12, 12.2, 36, 36.2, 60, 60.2, 84, 84.2, 108} , {0,24, 0,
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
@@ -2544,8 +2546,6 @@ 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
@@ -2657,7 +2657,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
ooooooooooooooooooooooooooooooooooooooooooo
-Replacing definition of axis tax
+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]"
@@ -3612,7 +3612,7 @@ Starting test: bn_scat2grid_bin.jnl
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
@@ -4425,8 +4425,6 @@ 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/apache-tomcat-7.0.34/content/NVODS/conf/server/temp/D1D5FD4B2FB7337E19977C571F94C6FF/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
@@ -4531,21 +4529,21 @@ Starting test: bn_let_remote
*** 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/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/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/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/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
@@ -5006,7 +5004,7 @@ 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
@@ -5122,8 +5120,8 @@ Replacing definition of axis TAX2
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
@@ -5278,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
@@ -5460,7 +5458,7 @@ Starting test: bn_list_clim_axes
TEMPORARY data cleared from memory
ooooooooooooooooooooooooooooooooooooooooooo
Starting test: bn_climatology_attr
-Replacing definition of axis tax
+Replacing definition of axis TAX
LISTing to file a.nc
LISTing to file a.nc
Replacing definition of axis TAX
@@ -5552,9 +5550,6 @@ 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 TAXIS
Replacing definition of axis XAXIS
Replacing definition of axis YAXIS
@@ -5677,7 +5672,7 @@ list index,edtim,udtim,udate,edate
TEMPORARY data cleared from memory
ooooooooooooooooooooooooooooooooooooooooooo
Starting test: bn_aggregate_u
-Replacing definition of axis tax
+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
@@ -5846,20 +5841,50 @@ 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
-Replacing definition of axis TIME
+ 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
-Re-defining viewport LL6
-Re-defining viewport UL6
-Re-defining viewport LM6
-Re-defining viewport UM6
-Re-defining viewport LR6
-Re-defining viewport UR6
+ 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
@@ -6095,324 +6120,6 @@ 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:
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
@@ -6427,15 +6134,11 @@ 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_inner
+Starting test: bn_dot_product
LISTing to file a.nc
LISTing to file a.nc
LISTing to file a.nc
@@ -6473,6 +6176,28 @@ Starting test: bn_transp_choose
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
@@ -6545,6 +6270,24 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
@@ -6576,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 Thu Apr 13 10:48:44 PDT 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 620f3a5..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 116929299 Apr 17 16:20 /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 2526, show data/members for union sets
+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,7 +13,7 @@ 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_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=.
@@ -22,7 +22,7 @@ FER_PALETTE=. /home/users/tmap/ferret/rhel6-x86_64-linux/ppl
FER_WEB_BROWSER=firefox
PWD=/home/users/ansley/build/working/FERRET/bench
PYFER_EXTERNAL_FUNCTIONS=/home/users/tmap/ferret/rhel6-x86_64-linux/ext_func/pylibs
-Beginning at Mon Apr 17 16:45:58 PDT 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
@@ -778,12 +778,12 @@ SHOW MEMORY
SET MEMORY/SIZE: 25.6 megawords
Peak demand: 18 words
Current cache: 15 words
- Permamnent: 5 words
+ Permanent: 5 words
SHOW MEMORY/FREE
SET MEMORY/SIZE: 25.6 megawords
Peak demand: 18 words
Current cache: 15 words
- Permamnent: 5 words
+ Permanent: 5 words
Total table slots: 500
Free table slots: 497
Un-cached variables: 0
@@ -9621,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
@@ -9651,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
@@ -9687,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
@@ -9731,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
@@ -9769,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
@@ -9804,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))
@@ -9842,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)/)
@@ -9986,14 +9986,14 @@ LIST X1
VARIABLE : X1
FILENAME : EZ.DAT
SUBSET : 8 points (X)
- 1 / 1: 0.01
- 2 / 2: 0.18
- 3 / 3: 0.28
- 4 / 4: 0.35
- 5 / 5: 0.38
- 6 / 6: 0.39
- 7 / 7: 4224.00
- 8 / 8: 2324.00
+ 1 / 1: 0.006000
+ 2 / 2: 0.176000
+ 3 / 3: 0.282000
+ 4 / 4: 0.355000
+ 5 / 5: 0.379000
+ 6 / 6: 0.393000
+ 7 / 7: 0.000000
+ 8 / 8: 0.000000
SHOW DATA
currently SET data sets:
1> ./EZ.DAT (default)
@@ -10459,22 +10459,23 @@ show symbols/all
PPL$XPIXEL = "406"
PPL$YPIXEL = "406"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-696.1.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 = "17-Apr-17"
-SESSION_TIME = "16:45"
-SESSION_PID = "21684"
-DELTA_CPU = "5.81711"
-CLOCK_SECS = "7.817"
-CURRENT_DATE = "17-Apr-17"
-CURRENT_TIME = "16:46:05"
+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_STATUS = "1"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
! define some symbols ... syntax variations
define symbol s1 = hello
@@ -10490,22 +10491,23 @@ show symbol/all
PPL$XPIXEL = "406"
PPL$YPIXEL = "406"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-696.1.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 = "17-Apr-17"
-SESSION_TIME = "16:45"
-SESSION_PID = "21684"
-DELTA_CPU = "0.006999"
-CLOCK_SECS = "7.823"
-CURRENT_DATE = "17-Apr-17"
-CURRENT_TIME = "16:46:05"
+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_STATUS = "1"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
S1 = "hello"
S2 = ""hello""
S3 = "hello and goodbye"
@@ -10513,10 +10515,11 @@ NUM = "3"
T$DOLLAR = "hi"
T_HELLO = "hi"
show symbol s*
-SESSION_DATE = "17-Apr-17"
-SESSION_TIME = "16:45"
-SESSION_PID = "21684"
-SPAWN_STATUS = "1"
+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"
@@ -10526,17 +10529,19 @@ S2 = ""hello""
! exercise CANCEL SYMBOL
cancel symbol s2
show symbol s*
-SESSION_DATE = "17-Apr-17"
-SESSION_TIME = "16:45"
-SESSION_PID = "21684"
-SPAWN_STATUS = "1"
+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 = "17-Apr-17"
-SESSION_TIME = "16:45"
-SESSION_PID = "21684"
-SPAWN_STATUS = "1"
+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
@@ -10570,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 = "17-APR-2017 16:46:05"
+LAB3 = "12-JUL-2017 09:51:33"
LABX = "X"
LAB4 = "Y : 10"
LABNUM_Y = "4"
@@ -10667,22 +10672,23 @@ show symbols/all
PPL$XPIXEL = "406"
PPL$YPIXEL = "406"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-696.1.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 = "17-Apr-17"
-SESSION_TIME = "16:45"
-SESSION_PID = "21684"
-DELTA_CPU = "0.012998"
-CLOCK_SECS = "7.837"
-CURRENT_DATE = "17-Apr-17"
-CURRENT_TIME = "16:46:05"
+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_STATUS = "1"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
GO bn_reset bn_comma_delimited
@@ -14608,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)
@@ -25347,7 +25353,7 @@ GO err491_spawn_quotes.jnl
! this should be a valid command
SPAWN "date"
-Mon Apr 17 16:46:15 PDT 2017
+Wed Jul 12 09:51:47 PDT 2017
GO bn_reset
cancel mode verify
@@ -25491,14 +25497,14 @@ 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
+ 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
@@ -25534,10 +25540,10 @@ cancel memory/all
-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
+ 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 (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:177 dset: 0 I: 1 3 J: -999 -999 K: -999 -999 L: -999 -999
@@ -25563,11 +25569,11 @@ cancel memory/all
-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
+ 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:174 dset: 0 I: 1 3 J: -999 -999 K: -999 -999 L: -999 -999
@@ -25601,13 +25607,13 @@ cancel memory/all
-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
+ 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
@@ -25631,8 +25637,8 @@ let/quiet a = sst[i=30:40]
-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: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 (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:173 dset: 1 I: 30 40 J: 45 46 K: -999 -999 L: 1 1
@@ -25640,7 +25646,7 @@ 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
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:173 dset: 0 I: 1 3 J: -999 -999 K: -999 -999 L: -999 -999
@@ -25664,9 +25670,9 @@ cancel memory/all
-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
+ 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 (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:181 dset: 0 I: 1 1 J: -999 -999 K: -999 -999 L: -999 -999
@@ -25691,12 +25697,12 @@ cancel memory/all
-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
+ 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 (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
@@ -25726,8 +25732,8 @@ cancel memory/all
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
@@ -25735,7 +25741,7 @@ list/l=1/y=-2:2 SAMPLEI(a,{30,40,50})
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:181 dset: 0 I: 1 3 J: -999 -999 K: -999 -999 L: -999 -999
@@ -25773,7 +25779,7 @@ cancel memory/all
! 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
+ 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
@@ -25782,7 +25788,7 @@ load/l=1/y=0 sst[I=30:50]
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
+ 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:174 dset: 0 I: 1 3 J: -999 -999 K: -999 -999 L: -999 -999
@@ -25806,7 +25812,7 @@ cancel memory/all
-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
+ 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
@@ -25815,7 +25821,7 @@ load/l=1/y=0 sst[I=30:39]
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
+ 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:173 dset: 0 I: 1 3 J: -999 -999 K: -999 -999 L: -999 -999
@@ -25843,7 +25849,7 @@ cancel memory/all
-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
+ 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
@@ -25852,7 +25858,7 @@ load/l=1/y=0 sst[I=30:40]
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
+ 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:174 dset: 0 I: 1 3 J: -999 -999 K: -999 -999 L: -999 -999
@@ -25878,7 +25884,7 @@ cancel memory/all
-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
+ 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
@@ -25887,7 +25893,7 @@ load/l=1/y=0 sst[I=30:41]
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
+ 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:163 dset: 0 I: 1 3 J: -999 -999 K: -999 -999 L: -999 -999
@@ -25959,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
@@ -25981,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
@@ -26143,15 +26149,15 @@ 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
+ 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
+ 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
@@ -26750,16 +26756,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
- 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
+ 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 (G018) (AX030) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G018) @XACT
+ 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 (G018) (AX030) YAX1_3 ZAX1_2 TAX1_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
@@ -26779,9 +26785,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
- allocate dynamic grid (G018) (AX030) YAX1_3 ZAX1_2 TAX1_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 (G018) (AX030) YAX1_3 ZAX1_2 TAX1_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
@@ -26801,22 +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
+ 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 (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
+ 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 (G018) (AX029) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G018) @XACT
+ 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 (G018) (AX029) YAX1_3 ZAX1_2 TAX1_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)
@@ -26854,7 +26860,7 @@ cancel memory/all
-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
+ 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
@@ -26862,16 +26868,16 @@ load var
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
+ 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 (G018) (AX029) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G018) @XACT
+ 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 (G018) (AX029) YAX1_3 ZAX1_2 TAX1_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
@@ -26888,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
+ 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 (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
+ 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 (G010) (AX029) (AX031) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G010) @XACT
+ 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 (G010) (AX029) (AX031) ZAX1_2 TAX1_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
@@ -26921,19 +26927,19 @@ CANC MEM/ALL
! 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
+ 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 (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
+ 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 (G010) (AX030) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G010) @XACT
+ 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 (G010) (AX030) YAX1_3 ZAX1_2 TAX1_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
@@ -26954,18 +26960,18 @@ cancel axis/modulo XAX1_4
! 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
+ 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 (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
+ 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 (G010) (AX029) (AX031) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G010) @XACT
+ 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 (G010) (AX029) (AX031) ZAX1_2 TAX1_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
@@ -26980,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
+ 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 (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
+ 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 (G010) (AX029) (AX030) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G010) @XACT
+ 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 (G010) (AX029) (AX030) ZAX1_2 TAX1_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
@@ -27009,7 +27015,7 @@ 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
+ 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
@@ -27018,15 +27024,15 @@ set mode ignore; LIST/i=2:4:2 VAR; cancel mode ignore
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
+ 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 (G018) (AX029) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G018) @AVE
+ 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 (G018) (AX029) YAX1_3 ZAX1_2 TAX1_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
@@ -27045,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
+ 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
+ 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
+ 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 (G018) (AX030) YAX1_30 ZAX1_20 TAX1_10
+ 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)
@@ -27077,24 +27083,24 @@ list/j=1/k=1/l=1 a[i=3:5]
21 / 5: 1131.00
-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
+ 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 (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
+ 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
+ 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 (G018) (AX030) YAX1_30 ZAX1_20 TAX1_10
- strip regrid on X: BIGVAR --> (G018) @XACT
+ 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 (G018) (AX030) YAX1_30 ZAX1_20 TAX1_10
+ 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 (G010) (AX030) (AX031) ZAX1_20 TAX1_10
+ 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
@@ -27111,7 +27117,7 @@ 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
+ 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
@@ -27139,17 +27145,17 @@ cancel mem/all
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
+ 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
+ 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 (G010) (AX029) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27165,9 +27171,9 @@ LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
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
+ 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 (G010) (AX029) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27181,25 +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
+ 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 (G018) (AX030) YAX1_30 ZAX1_20 TAX1_10
+ 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
+ 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
+ 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 (G018) (AX029) YUNEVEN ZAX1_6 TAX1_4
+ dealloc dynamic grid (G011) (AX029) YUNEVEN ZAX1_6 TAX1_4
VARIABLE : UNEVENVAR[I=2:4:2]
FILENAME : bn_strides.cdf
SUBSET : 2 points (X)
@@ -27228,7 +27234,7 @@ cancel memory/all
-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
+ 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
@@ -27237,17 +27243,17 @@ load/k=1/l=1 UNEVENVAR
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
+ 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
+ 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 (G018) (AX029) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27260,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
+ 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 (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
+ 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
+ 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 (G010) (AX029) (AX031) ZAX1_6 TAX1_4
+ 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
@@ -27294,19 +27300,19 @@ CANC MEM/ALL
! 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
+ 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 (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
+ 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 (G010) (AX030) YUNEVEN ZAX1_6 TAX1_4
- strip regrid on X: UNEVENVAR --> (G010) @XACT
+ 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 (G010) (AX030) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27324,19 +27330,19 @@ cancel axis/modulo XUNEVEN
! 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
+ 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 (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
+ 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
+ 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 (G010) (AX029) (AX031) ZAX1_6 TAX1_4
+ 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
@@ -27348,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
+ 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 (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
+ 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
+ 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 (G010) (AX030) (AX032) ZAX1_6 TAX1_4
+ 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
@@ -27376,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
+ 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 (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
+ 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
+ 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 (G010) (AX030) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27403,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
+ 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 (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
+ 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
+ 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 (G010) (AX032) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27433,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
+ 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 (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
+ 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
+ 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 (G010) (AX030) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27468,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
+ 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 (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
+ 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 (G010) (AX032) YAX1_30 ZAX1_20 TAX1_10
- strip regrid on X: BIGVAR --> (G010) @XACT
+ 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 (G010) (AX032) YAX1_30 ZAX1_20 TAX1_10
+ dealloc dynamic grid (G002) (AX032) YAX1_30 ZAX1_20 TAX1_10
VARIABLE : VAR
regrid: 2 delta on X
FILENAME : bn_strides.cdf
@@ -27497,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
+ 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 (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
+ 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 (G010) XAX1_40 (AX030) ZAX1_20 TAX1_10
- strip regrid on Y: BIGVAR --> (G010) @XACT
+ 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 (G010) XAX1_40 (AX030) ZAX1_20 TAX1_10
+ dealloc dynamic grid (G002) XAX1_40 (AX030) ZAX1_20 TAX1_10
VARIABLE : VAR
regrid: 2 delta on Y
FILENAME : bn_strides.cdf
@@ -27526,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
+ 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 (G010) (AX032) (AX031) (AX033) TAX1_10
- dealloc dynamic grid (G010) (AX032) (AX031) (AX033) TAX1_10
- allocate dynamic grid (G010) (AX032) (AX031) (AX033) TAX1_10
+ 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 (G010) (AX032) (AX031) (AX033) TAX1_10
- strip regrid on X: BIGVAR --> (G010) @XACT
+ 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 (G010) (AX032) (AX031) (AX033) TAX1_10
+ 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
@@ -27555,9 +27561,9 @@ 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
+ 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 (G018) (AX029) YUNEVEN ZAX1_6 TAX1_4
+ dealloc dynamic grid (G011) (AX029) YUNEVEN ZAX1_6 TAX1_4
canceling dset ./bn_strides.cdf
-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
@@ -27565,16 +27571,16 @@ canc data/all
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
+ 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 (G018) (AX033) YAX1_30 XAX1_40 TAX1_10
- strip regrid on X: BIGVAR --> (G018) @XACT
+ 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 (G018) (AX033) YAX1_30 XAX1_40 TAX1_10
+ dealloc dynamic grid (G011) (AX033) YAX1_30 XAX1_40 TAX1_10
VARIABLE : VAR
regrid: 2 delta on X
FILENAME : bn_strides.cdf
@@ -27591,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
+ 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 (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
+ 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 (G018) ZAX1_20 (AX029) XAX1_40 TAX1_10
- strip regrid on Y: BIGVAR --> (G018) @XACT
+ 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 (G018) ZAX1_20 (AX029) XAX1_40 TAX1_10
+ dealloc dynamic grid (G011) ZAX1_20 (AX029) XAX1_40 TAX1_10
VARIABLE : VAR
regrid: 2 delta on Y
FILENAME : bn_strides.cdf
@@ -27620,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
+ 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 (G018) (AX033) (AX031) (AX032) TAX1_10
- dealloc dynamic grid (G018) (AX033) (AX031) (AX032) TAX1_10
- allocate dynamic grid (G018) (AX033) (AX031) (AX032) TAX1_10
+ 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 (G018) (AX033) (AX031) (AX032) TAX1_10
- strip regrid on X: BIGVAR --> (G018) @XACT
+ 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 (G018) (AX033) (AX031) (AX032) TAX1_10
+ 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
@@ -27649,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
+ 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
+ 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 (G018) (AX031) XAX1_40 YAX1_30 TAX1_10
- strip regrid on X: BIGVAR --> (G018) @XACT
+ 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 (G018) (AX031) XAX1_40 YAX1_30 TAX1_10
+ dealloc dynamic grid (G011) (AX031) XAX1_40 YAX1_30 TAX1_10
VARIABLE : VAR
regrid: 2 delta on X
FILENAME : bn_strides.cdf
@@ -27682,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
+ 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 (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
+ 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 (G018) ZAX1_20 (AX032) YAX1_30 TAX1_10
- strip regrid on Y: BIGVAR --> (G018) @XACT
+ 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 (G018) ZAX1_20 (AX032) YAX1_30 TAX1_10
+ dealloc dynamic grid (G011) ZAX1_20 (AX032) YAX1_30 TAX1_10
VARIABLE : VAR
regrid: 2 delta on Y
FILENAME : bn_strides.cdf
@@ -27711,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
+ 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 (G018) (AX031) (AX033) (AX029) TAX1_10
- dealloc dynamic grid (G018) (AX031) (AX033) (AX029) TAX1_10
- allocate dynamic grid (G018) (AX031) (AX033) (AX029) TAX1_10
+ 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 (G018) (AX031) (AX033) (AX029) TAX1_10
- strip regrid on X: BIGVAR --> (G018) @XACT
+ 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 (G018) (AX031) (AX033) (AX029) TAX1_10
+ 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
@@ -27740,7 +27746,7 @@ 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
+ 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
@@ -27760,16 +27766,16 @@ show grid xytvar
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
+ 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 (G018) (AX033) YLAT NORMAL TTIME
- strip regrid on X: XYTVAR --> (G018) @XACT
+ 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 (G018) (AX033) YLAT NORMAL TTIME
+ dealloc dynamic grid (G011) (AX033) YLAT NORMAL TTIME
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on X
FILENAME : bn_strides.cdf
@@ -27785,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
+ 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 (G018) XLON (AX029) NORMAL TTIME
- dealloc dynamic grid (G018) XLON (AX029) NORMAL TTIME
- allocate dynamic grid (G018) XLON (AX029) NORMAL TTIME
+ 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 (G018) XLON (AX029) NORMAL TTIME
- strip regrid on Y: XYTVAR --> (G018) @XACT
+ 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 (G018) XLON (AX029) NORMAL TTIME
+ dealloc dynamic grid (G011) XLON (AX029) NORMAL TTIME
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -27813,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
+ 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 (G018) (AX033) (AX031) NORMAL (AX032)
- dealloc dynamic grid (G018) (AX033) (AX031) NORMAL (AX032)
- allocate dynamic grid (G018) (AX033) (AX031) NORMAL (AX032)
+ 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 (G018) (AX033) (AX031) NORMAL (AX032)
- strip regrid on X: XYTVAR --> (G018) @XACT
+ 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 (G018) (AX033) (AX031) NORMAL (AX032)
+ 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
@@ -27841,7 +27847,7 @@ 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)
+ 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
@@ -27858,16 +27864,16 @@ show grid xytvar
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
+ 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 (G018) (AX031) XLON NORMAL TTIME
- strip regrid on X: XYTVAR --> (G018) @XACT
+ 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 (G018) (AX031) XLON NORMAL TTIME
+ dealloc dynamic grid (G011) (AX031) XLON NORMAL TTIME
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on X
FILENAME : bn_strides.cdf
@@ -27883,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
+ 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 (G018) YLAT (AX032) NORMAL TTIME
- dealloc dynamic grid (G018) YLAT (AX032) NORMAL TTIME
- allocate dynamic grid (G018) YLAT (AX032) NORMAL TTIME
+ 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 (G018) YLAT (AX032) NORMAL TTIME
- strip regrid on Y: XYTVAR --> (G018) @XACT
+ 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 (G018) YLAT (AX032) NORMAL TTIME
+ dealloc dynamic grid (G011) YLAT (AX032) NORMAL TTIME
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -27911,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
+ 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 (G018) (AX031) (AX033) NORMAL (AX029)
- dealloc dynamic grid (G018) (AX031) (AX033) NORMAL (AX029)
- allocate dynamic grid (G018) (AX031) (AX033) NORMAL (AX029)
+ 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 (G018) (AX031) (AX033) NORMAL (AX029)
- strip regrid on X: XYTVAR --> (G018) @XACT
+ 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 (G018) (AX031) (AX033) NORMAL (AX029)
+ 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
@@ -27939,7 +27945,7 @@ 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)
+ 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
@@ -27956,16 +27962,16 @@ show grid xytvar
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
+ 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 (G018) (AX033) YLAT NORMAL XLON
- strip regrid on X: XYTVAR --> (G018) @XACT
+ 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 (G018) (AX033) YLAT NORMAL XLON
+ dealloc dynamic grid (G011) (AX033) YLAT NORMAL XLON
VARIABLE : L*1000 + J*10 + I
regrid: 2 day on X
FILENAME : bn_strides.cdf
@@ -27981,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
+ 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 (G018) TTIME (AX029) NORMAL XLON
- dealloc dynamic grid (G018) TTIME (AX029) NORMAL XLON
- allocate dynamic grid (G018) TTIME (AX029) NORMAL XLON
+ 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 (G018) TTIME (AX029) NORMAL XLON
- strip regrid on Y: XYTVAR --> (G018) @XACT
+ 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 (G018) TTIME (AX029) NORMAL XLON
+ dealloc dynamic grid (G011) TTIME (AX029) NORMAL XLON
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -28009,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
+ 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 (G018) (AX033) (AX031) NORMAL (AX032)
- dealloc dynamic grid (G018) (AX033) (AX031) NORMAL (AX032)
- allocate dynamic grid (G018) (AX033) (AX031) NORMAL (AX032)
+ 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 (G018) (AX033) (AX031) NORMAL (AX032)
- strip regrid on X: XYTVAR --> (G018) @XACT
+ 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 (G018) (AX033) (AX031) NORMAL (AX032)
+ 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
@@ -28037,7 +28043,7 @@ 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)
+ 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
@@ -28054,16 +28060,16 @@ show grid xytvar
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
+ 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 (G018) (AX031) XLON NORMAL YLAT
- strip regrid on X: XYTVAR --> (G018) @XACT
+ 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 (G018) (AX031) XLON NORMAL YLAT
+ dealloc dynamic grid (G011) (AX031) XLON NORMAL YLAT
VARIABLE : L*1000 + J*10 + I
regrid: 2 day on X
FILENAME : bn_strides.cdf
@@ -28079,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
+ 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 (G018) TTIME (AX032) NORMAL YLAT
- dealloc dynamic grid (G018) TTIME (AX032) NORMAL YLAT
- allocate dynamic grid (G018) TTIME (AX032) NORMAL YLAT
+ 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 (G018) TTIME (AX032) NORMAL YLAT
- strip regrid on Y: XYTVAR --> (G018) @XACT
+ 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 (G018) TTIME (AX032) NORMAL YLAT
+ dealloc dynamic grid (G011) TTIME (AX032) NORMAL YLAT
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -28107,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
+ 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 (G018) (AX031) (AX033) NORMAL (AX029)
- dealloc dynamic grid (G018) (AX031) (AX033) NORMAL (AX029)
- allocate dynamic grid (G018) (AX031) (AX033) NORMAL (AX029)
+ 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 (G018) (AX031) (AX033) NORMAL (AX029)
- strip regrid on X: XYTVAR --> (G018) @XACT
+ 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 (G018) (AX031) (AX033) NORMAL (AX029)
+ 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
@@ -28135,7 +28141,7 @@ 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)
+ 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
@@ -28153,17 +28159,17 @@ show grid xytvar
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
+ 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
+ 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 (G018) (AX033) XLON YLAT NORMAL
+ dealloc dynamic grid (G011) (AX033) XLON YLAT NORMAL
VARIABLE : L*1000 + J*10 + I
regrid: 2 day on X
FILENAME : bn_strides.cdf
@@ -28179,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
+ 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 (G018) TTIME (AX029) YLAT NORMAL
- dealloc dynamic grid (G018) TTIME (AX029) YLAT NORMAL
- allocate dynamic grid (G018) TTIME (AX029) YLAT NORMAL
+ 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
+ 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 (G018) TTIME (AX029) YLAT NORMAL
+ dealloc dynamic grid (G011) TTIME (AX029) YLAT NORMAL
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -28208,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
+ 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 (G018) (AX033) (AX031) (AX032) NORMAL
- dealloc dynamic grid (G018) (AX033) (AX031) (AX032) NORMAL
- allocate dynamic grid (G018) (AX033) (AX031) (AX032) NORMAL
+ 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 (G018) (AX033) (AX031) (AX032) NORMAL
- strip regrid on X: XYTVAR --> (G018) @XACT
+ 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 (G018) (AX033) (AX031) (AX032) NORMAL
+ 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
@@ -28236,7 +28242,7 @@ 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
+ 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
@@ -28261,16 +28267,16 @@ cancel region; set region/l=1
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
+ 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 (G018) (AX031) (AX033) (AX029) TAX1_6
- strip regrid on X: MIDVAR --> (G018) @XACT
+ 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 (G018) (AX031) (AX033) (AX029) TAX1_6
+ 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
@@ -28285,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
+ 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
+ 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 (G018) (AX033) (AX031) (AX032) TAX1_6
- strip regrid on X: MIDVAR --> (G018) @XACT
+ 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 (G018) (AX033) (AX031) (AX032) TAX1_6
+ 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
@@ -28319,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
+ 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
+ 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 (G018) (AX031) (AX033) (AX029) TAX1_6
- strip regrid on X: MIDVAR --> (G018) @XACT
+ 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 (G018) (AX031) (AX033) (AX029) TAX1_6
+ 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
@@ -28353,7 +28359,7 @@ 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
+ 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
@@ -28361,16 +28367,16 @@ canc data/all
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
+ 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 (G018) (AX033) (AX031) (AX032) ZAX1_7
- strip regrid on X: MIDVAR --> (G018) @XACT
+ 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 (G018) (AX033) (AX031) (AX032) ZAX1_7
+ 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
@@ -28385,7 +28391,7 @@ 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
+ 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
@@ -28393,19 +28399,19 @@ canc data/all
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
+ 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 (G018) (AX031) (AX033) (AX029) ZAX1_7
- strip regrid on X: MIDVAR --> (G018) @XACT
+ 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 (G018) (AX031) (AX033) (AX029) ZAX1_7
+ 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
@@ -28420,7 +28426,7 @@ 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
+ 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
@@ -28428,16 +28434,16 @@ canc data/all
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
+ 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 (G018) (AX033) (AX031) (AX032) ZAX1_7
- strip regrid on X: MIDVAR --> (G018) @XACT
+ 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 (G018) (AX033) (AX031) (AX032) ZAX1_7
+ 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
@@ -28452,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
+ 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
+ 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 (G018) (AX031) (AX033) (AX029) ZAX1_7
- strip regrid on X: MIDVAR --> (G018) @XACT
+ 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 (G018) (AX031) (AX033) (AX029) ZAX1_7
+ 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
@@ -28486,7 +28492,7 @@ 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
+ 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
@@ -28786,15 +28792,15 @@ 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
+ 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 (G002) XTROP COADSY NORMAL TIME4
- strip regrid on X: SST --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME4
+ dealloc dynamic grid (G010) XTROP COADSY NORMAL TIME4
SEA SURFACE TEMPERATURE
regrid: 1 deg on X
@@ -28813,7 +28819,7 @@ stat $1[gx=xtrop]
Mean value: 17.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
dealloc dynamic grid ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT
@@ -28826,15 +28832,15 @@ stat $1[gx=xtrop]
-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
+ 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 (G002) XTROP COADSY NORMAL TIME4
- strip regrid on X: SST --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME4
+ dealloc dynamic grid (G010) XTROP COADSY NORMAL TIME4
SEA SURFACE TEMPERATURE
regrid: 1 deg on X
@@ -28857,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
+ 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 (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
+ 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 (G002) XTROP COADSY NORMAL TIME4
- strip regrid on X: SST --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME4
+ dealloc dynamic grid (G010) XTROP COADSY NORMAL TIME4
SST[GX=XTROP]
LONGITUDE: 129.5E to 79.5W
@@ -28889,7 +28895,7 @@ stat $1x
Mean value: 17.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
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
@@ -28901,7 +28907,7 @@ stat $1x
-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
+ 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
@@ -28922,22 +28928,22 @@ stat $1x
Standard deviation: 9.8848
define grid/x=xtrop gx
- dealloc dynamic grid (G002) XTROP COADSY NORMAL TIME4
+ 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 (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
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
+ 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 (G002) XTROP COADSY NORMAL TIME4
- strip regrid on X: SST --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME4
+ dealloc dynamic grid (G010) XTROP COADSY NORMAL TIME4
SEA SURFACE TEMPERATURE
regrid: 1 deg on X
@@ -28956,7 +28962,7 @@ stat $1[g=gx]
Mean value: 17.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
dealloc dynamic grid ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT
@@ -28969,15 +28975,15 @@ stat $1[g=gx]
-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
+ 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 (G002) XTROP COADSY NORMAL TIME4
- strip regrid on X: SST --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME4
+ dealloc dynamic grid (G010) XTROP COADSY NORMAL TIME4
SEA SURFACE TEMPERATURE
regrid: 1 deg on X
@@ -28999,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
+ 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 (G002) XTROP YTROP NORMAL TIME4
- dealloc dynamic grid (G002) XTROP YTROP NORMAL TIME4
- allocate dynamic grid (G002) XTROP YTROP NORMAL TIME4
+ 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 (G002) XTROP YTROP NORMAL TIME4
- strip regrid on X: SST --> (G002) @LIN
+ 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:179 dset: 1 I: 1 151 J: 1 41 K: -999 -999 L: 1 1
- dealloc dynamic grid (G002) XTROP YTROP NORMAL TIME4
+ dealloc dynamic grid (G010) XTROP YTROP NORMAL TIME4
SEA SURFACE TEMPERATURE
regrid: 1 deg on X, 1 deg on Y
@@ -29030,7 +29036,7 @@ 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
+ 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
@@ -29043,16 +29049,16 @@ stat $1[gx=xtrop,gy=ytrop]
-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
+ 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 (G002) XTROP YTROP NORMAL TIME4
- strip regrid on X: SST --> (G002) @LIN
+ 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:179 dset: 1 I: 1 151 J: 1 41 K: -999 -999 L: 1 1
- dealloc dynamic grid (G002) XTROP YTROP NORMAL TIME4
+ dealloc dynamic grid (G010) XTROP YTROP NORMAL TIME4
SEA SURFACE TEMPERATURE
regrid: 1 deg on X, 1 deg on Y
@@ -29073,7 +29079,7 @@ 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
+ 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
@@ -29571,15 +29577,15 @@ 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
+ 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 (G002) XTROP COADSY NORMAL TIME4
- strip regrid on X: SST5 --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME4
+ dealloc dynamic grid (G010) XTROP COADSY NORMAL TIME4
SST+5
regrid: 1 deg on X
@@ -29598,7 +29604,7 @@ stat $1[gx=xtrop]
Mean value: 22.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
dealloc dynamic grid ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT
@@ -29611,15 +29617,15 @@ stat $1[gx=xtrop]
-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
+ 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 (G002) XTROP COADSY NORMAL TIME4
- strip regrid on X: SST5 --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME4
+ dealloc dynamic grid (G010) XTROP COADSY NORMAL TIME4
SST+5
regrid: 1 deg on X
@@ -29642,21 +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
+ 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 (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
+ 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 (G002) XTROP COADSY NORMAL TIME4
- strip regrid on X: SST5 --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME4
+ dealloc dynamic grid (G010) XTROP COADSY NORMAL TIME4
SST5[GX=XTROP]
LONGITUDE: 129.5E to 79.5W
@@ -29674,7 +29680,7 @@ stat $1x
Mean value: 22.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
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
@@ -29686,7 +29692,7 @@ stat $1x
-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
+ 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
@@ -29709,15 +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
+ 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 (G002) XTROP COADSY NORMAL TIME4
- dealloc dynamic grid (G002) XTROP COADSY NORMAL TIME4
- allocate dynamic grid (G002) XTROP COADSY NORMAL TIME4
+ 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 (G002) XTROP COADSY NORMAL TIME4
+ 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 (G002) XTROP COADSY NORMAL TIME4
+ dealloc dynamic grid (G010) XTROP COADSY NORMAL TIME4
SST+5
regrid: 1 deg on X
@@ -29736,7 +29742,7 @@ stat $1[g=gx]
Mean value: 22.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
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
@@ -29748,13 +29754,13 @@ stat $1[g=gx]
-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
+ 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 (G002) XTROP COADSY NORMAL TIME4
+ 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 (G002) XTROP COADSY NORMAL TIME4
+ dealloc dynamic grid (G010) XTROP COADSY NORMAL TIME4
SST+5
regrid: 1 deg on X
@@ -29776,7 +29782,7 @@ 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
+ 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
@@ -29958,7 +29964,7 @@ let $1xyt = $1[g=gxyt]
-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:150 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
-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
@@ -30464,7 +30470,7 @@ say `a,return=isize`
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
+ 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
@@ -30509,7 +30515,7 @@ cancel mode verify
-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:150 dset: 0 I: 1 3 J: 1 3 K: -999 -999 L: -999 -999
- dealloc dynamic grid (G002) ABSTRACT ABSTRACT NORMAL NORMAL
+ 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:153 dset: 0 I: 1 9 J: -999 -999 K: -999 -999 L: -999 -999
@@ -30563,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
@@ -30592,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
@@ -30619,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
@@ -30706,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
@@ -30718,7 +30724,7 @@ 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
@@ -30848,47 +30854,47 @@ 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 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 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 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 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 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 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 41 pts
@@ -30897,9 +30903,9 @@ SHOW GRID "temp[d=2,gx=sst[d=1],y=10s:2s:.2] + 5",FFTA(sst[d=1,gx=temp[d=2],y=10
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 41 pts
@@ -30907,9 +30913,9 @@ SHOW GRID
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
@@ -30934,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
@@ -31781,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
@@ -32412,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
@@ -34230,7 +34236,7 @@ go bn_unique_str2int
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)
@@ -34374,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
@@ -34395,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
@@ -34419,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
@@ -34444,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
@@ -34460,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
@@ -35595,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
@@ -36975,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:........
@@ -38708,19 +38725,19 @@ show mem/free
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
+ 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 (G005) (AX015) YAX1_100 NORMAL NORMAL
- strip regrid on X: A --> (G005) @XACT
+ 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 (G005) (AX015) YAX1_100 NORMAL NORMAL
+ 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
@@ -38829,8 +38846,8 @@ 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 10 pts
YAX1_100 Y 100 r 1 100 full
@@ -38840,15 +38857,15 @@ show grid
! 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
+ 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 (G005) (AX015) YAX1_100 NORMAL NORMAL
+ dealloc dynamic grid (G022) (AX015) YAX1_100 NORMAL NORMAL
setting up 2D plot
-DELETE A M:247 dset: 1 I: 1 10 J: 1 100 K: -999 -999 L: -999 -999
PPL plot 279 complete
@@ -39486,6 +39503,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
+
! ******** V5.42 Additions below ***********
@@ -40309,37 +40339,37 @@ 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
+ 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 (G002) (AX025) NORMAL NORMAL TAX_SUBSPA
- strip regrid on X: V2D_REG --> (G002) @XACT
+ 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 (G002) (AX025) NORMAL NORMAL TAX_SUBSPA
+ 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
+ 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 (G002) XAX_SUBSPANORMAL NORMAL (AX025)
- dealloc dynamic grid (G002) XAX_SUBSPANORMAL NORMAL (AX025)
- allocate dynamic grid (G002) XAX_SUBSPANORMAL NORMAL (AX025)
+ 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 (G002) XAX_SUBSPANORMAL NORMAL (AX025)
- strip regrid on T: V2D_REG --> (G002) @XACT
+ 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 (G002) XAX_SUBSPANORMAL NORMAL (AX025)
+ 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
@@ -40840,37 +40870,37 @@ 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
+ 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 (G018) (AX017) NORMAL NORMAL TIRREG_SUB
- strip regrid on X: V2D_IRR --> (G018) @XACT
+ 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 (G018) (AX017) NORMAL NORMAL TIRREG_SUB
+ 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
+ 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 (G018) XIRREG_SUBNORMAL NORMAL (AX017)
- dealloc dynamic grid (G018) XIRREG_SUBNORMAL NORMAL (AX017)
- allocate dynamic grid (G018) XIRREG_SUBNORMAL NORMAL (AX017)
+ 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 (G018) XIRREG_SUBNORMAL NORMAL (AX017)
- strip regrid on T: V2D_IRR --> (G018) @XACT
+ 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 (G018) XIRREG_SUBNORMAL NORMAL (AX017)
+ 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
@@ -41917,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
@@ -43138,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>
@@ -43193,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>
@@ -43215,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>
@@ -44549,52 +44579,52 @@ 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)
+ 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 (G023) (AX023) (AX013) NORMAL (AX033)
- strip regrid on X: TAUX --> (G023) @XACT
+ 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 (G023) (AX023) (AX013) NORMAL (AX033)
+ dealloc dynamic grid (G015) (AX023) (AX013) NORMAL (AX033)
can mem/all
-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)
+ 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)
+ 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 (G023) (AX013) (AX023) NORMAL (AX024)
- strip regrid on X: TAUX --> (G023) @XACT
+ 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 (G023) (AX013) (AX023) NORMAL (AX024)
+ dealloc dynamic grid (G015) (AX013) (AX023) NORMAL (AX024)
can mem/all
-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
@@ -44637,16 +44667,16 @@ load var
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
+ 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 (G014) (AX045) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G014) @XACT
+ 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 (G014) (AX045) YAX1_3 ZAX1_2 TAX1_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
@@ -44661,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
+ 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 (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
+ 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 (G014) (AX018) (AX046) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G014) @XACT
+ 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 (G014) (AX018) (AX046) ZAX1_2 TAX1_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
@@ -44694,19 +44724,19 @@ CANC MEM/ALL
! 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
+ 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 (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
+ 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 (G014) (AX018) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G014) @XACT
+ 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 (G014) (AX018) YAX1_3 ZAX1_2 TAX1_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
@@ -44727,18 +44757,18 @@ cancel axis/modulo XAX1_4
! 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
+ 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 (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
+ 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 (G014) (AX046) (AX045) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G014) @XACT
+ 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 (G014) (AX046) (AX045) ZAX1_2 TAX1_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
@@ -44753,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
+ 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 (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
+ 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 (G014) (AX046) (AX018) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G014) @XACT
+ 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 (G014) (AX046) (AX018) ZAX1_2 TAX1_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
@@ -44782,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
+ 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
+ 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
+ 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 (G014) (AX046) YAX1_30 ZAX1_20 TAX1_10
+ 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)
@@ -44813,7 +44843,7 @@ list/j=1/k=1/l=1 a[i=3:5]
21 / 5: 1131.00
-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
+ 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
@@ -44823,12 +44853,12 @@ list/k=1/l=1 a[i=3:5,j=1:8:2]
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
+ 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 (G014) (AX046) YAX1_30 ZAX1_20 TAX1_10
+ 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]
@@ -44916,22 +44946,22 @@ list bigvar[i=3:9:2, j=2:6:2, k=1:3:2]
canc data/all
dealloc dynamic grid (G001) (AX045) (AX047) (AX048) TAX1_10
-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
+ 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
+ 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 (G014) (AX048) (AX047) (AX045) TAX1_10
- strip regrid on X: BIGVAR --> (G014) @XACT
+ 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 (G014) (AX048) (AX047) (AX045) TAX1_10
+ 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
@@ -44948,7 +44978,7 @@ 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
+ 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
@@ -44959,16 +44989,16 @@ 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)
+ 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 (G014) (AX047) (AX048) NORMAL (AX046)
- strip regrid on X: XYTVAR --> (G014) @XACT
+ 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 (G014) (AX047) (AX048) NORMAL (AX046)
+ 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
@@ -44986,7 +45016,7 @@ 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)
+ 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
@@ -44999,16 +45029,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
- allocate dynamic grid (G014) (AX048) (AX047) NORMAL (AX045)
- dealloc dynamic grid (G014) (AX048) (AX047) NORMAL (AX045)
- allocate dynamic grid (G014) (AX048) (AX047) NORMAL (AX045)
+ 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 (G014) (AX048) (AX047) NORMAL (AX045)
- strip regrid on X: XYTVAR --> (G014) @XACT
+ 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 (G014) (AX048) (AX047) NORMAL (AX045)
+ 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
@@ -45024,7 +45054,7 @@ 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)
+ 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
@@ -45043,16 +45073,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
- allocate dynamic grid (G014) (AX047) (AX048) (AX046) NORMAL
- dealloc dynamic grid (G014) (AX047) (AX048) (AX046) NORMAL
- allocate dynamic grid (G014) (AX047) (AX048) (AX046) NORMAL
+ 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 (G014) (AX047) (AX048) (AX046) NORMAL
- strip regrid on X: XYTVAR --> (G014) @XACT
+ 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 (G014) (AX047) (AX048) (AX046) NORMAL
+ 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
@@ -45068,7 +45098,7 @@ 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
+ 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
@@ -45079,16 +45109,16 @@ cancel region; set region/l=1
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
+ 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 (G014) (AX048) (AX047) (AX045) TAX1_6
- strip regrid on X: MIDVAR --> (G014) @XACT
+ 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 (G014) (AX048) (AX047) (AX045) TAX1_6
+ 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
@@ -45103,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
+ 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
+ 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 (G014) (AX047) (AX048) (AX046) TAX1_6
- strip regrid on X: MIDVAR --> (G014) @XACT
+ 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 (G014) (AX047) (AX048) (AX046) TAX1_6
+ 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
@@ -45137,7 +45167,7 @@ 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
+ 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
@@ -45145,16 +45175,16 @@ canc data/all
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
+ 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 (G014) (AX048) (AX047) (AX045) ZAX1_7
- strip regrid on X: MIDVAR --> (G014) @XACT
+ 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 (G014) (AX048) (AX047) (AX045) ZAX1_7
+ 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
@@ -45169,7 +45199,7 @@ 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
+ 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
@@ -45177,19 +45207,19 @@ canc data/all
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
+ 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 (G014) (AX047) (AX048) (AX046) ZAX1_7
- strip regrid on X: MIDVAR --> (G014) @XACT
+ 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 (G014) (AX047) (AX048) (AX046) ZAX1_7
+ 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
@@ -45204,7 +45234,7 @@ 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
+ 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
@@ -45212,16 +45242,16 @@ canc data/all
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
+ 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 (G014) (AX048) (AX047) (AX045) ZAX1_7
- strip regrid on X: MIDVAR --> (G014) @XACT
+ 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 (G014) (AX048) (AX047) (AX045) ZAX1_7
+ 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
@@ -45236,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
+ 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
+ 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 (G014) (AX047) (AX048) (AX046) ZAX1_7
- strip regrid on X: MIDVAR --> (G014) @XACT
+ 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 (G014) (AX047) (AX048) (AX046) ZAX1_7
+ 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
@@ -45270,7 +45300,7 @@ 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
+ 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
@@ -48076,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 @AS17-APR-2017 16:46:47
+ 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
@@ -48733,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
@@ -49395,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
@@ -49413,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
@@ -49523,7 +49553,7 @@ sho command
/DEGMINSE/HALFSPAC
SPAWN
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
@@ -49553,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 = "17-Apr-17:16:45"
+WIN_TITLE = "12-Jul-17:09:51"
set win/title="set the title"
sho sym win_title
@@ -49571,7 +49601,7 @@ sho sym win_title
WIN_TITLE = "_"
set win/title="($session_date):($session_time)"
- !-> set win/title="17-Apr-17:16:45"
+ !-> 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
@@ -49580,16 +49610,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 = 17-Apr-17
+ !-> DEFINE SYMBOL the_date = 12-Jul-17
DEFINE SYMBOL the_time = ($session_time"SESSION_TIME")
- !-> DEFINE SYMBOL the_time = 16:45
+ !-> DEFINE SYMBOL the_time = 09:51
SET WIN/TITLE="($the_date):($the_time)"
- !-> SET WIN/TITLE="17-Apr-17:16:45"
+ !-> SET WIN/TITLE="12-Jul-17:09:51"
can win/all
set win/new
sh sym win_title
-WIN_TITLE = "17-Apr-17:16:45"
+WIN_TITLE = "12-Jul-17:09:51"
GO bn_reset bn_last_error.jnl
cancel mode verify
@@ -51526,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
@@ -52790,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)
@@ -54090,7 +54120,7 @@ sho dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 17-Apr-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
@@ -54139,7 +54169,7 @@ sho dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 17-Apr-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
@@ -55635,7 +55665,7 @@ DNCASE(STR)
STRCAT(STR1,STR2)
SUBSTRING(STR,OFFSET,LENGTH)
STRFLOAT(STR)
-INNERPRODUCT(VAR1,VAR2,IDIM)
+DOT(VAR1,VAR2,IDIM)
TRANSPOSE(VAR,DIM1,DIM2)
Externally defined functions available to Ferret:
@@ -55661,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)
@@ -55671,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)
@@ -55688,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)
@@ -55700,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)
@@ -55744,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)
@@ -55756,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)
@@ -55771,6 +55835,9 @@ 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)
@@ -55789,6 +55856,7 @@ 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)
@@ -55803,40 +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)
-INNERPRODUCT_X(VAR1,VAR2)
-INNERPRODUCT_Y(VAR1,VAR2)
-INNERPRODUCT_Z(VAR1,VAR2)
-INNERPRODUCT_T(VAR1,VAR2)
-INNERPRODUCT_E(VAR1,VAR2)
-INNERPRODUCT_F(VAR1,VAR2)
ADD_9(A,B,C,D,E,F,G,H,I)
APPENDE(ENS,VAR)
AVET(A)
@@ -55861,7 +55895,6 @@ STRING_ARG(Flags,NString)
STRING_CAT3(A,B,C)
STRING_LEN_SUM(S1,S2)
STRINGS_AS_ARGS(S1,S2,NCHAR)
-STRING_TO_ID(STRINGS)
STR_MISSING(MASK,STR,REPL)
STUDENT_T_CUTOFF(P,nf)
SUBTRACT(A,B)
@@ -57775,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
@@ -60162,10 +60195,10 @@ ooooooooooooooooooooooooooooooooooooooooooo
Starting test: bn_clock_syms
GO bn_clock_syms
SH SYM delta_cpu, clock_secs, current_date, current_time
-DELTA_CPU = "47.0518"
-CLOCK_SECS = "76.913"
-CURRENT_DATE = "17-Apr-17"
-CURRENT_TIME = "16:47:14"
+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
@@ -60174,8 +60207,8 @@ CURRENT_TIME = "16:47:14"
use gt4d011
shade/k=1 temp[L=@ave]
sh sym DELTA_CPU, CLOCK_SECS
-DELTA_CPU = "0.040994"
-CLOCK_SECS = "77.068"
+DELTA_CPU = "0.079988"
+CLOCK_SECS = "129.293"
repeat/k=1:10 shade temp[L=@ave]
!-> REPEAT: K=1
@@ -60189,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.266959
+ !-> DEFINE VARIABLE ten_plots = 0.506922
sh sym DELTA_CPU, CLOCK_SECS
-DELTA_CPU = "0"
-CLOCK_SECS = "78.427"
+DELTA_CPU = "0.001"
+CLOCK_SECS = "130.91"
let sumclock = 0
let sumcpu = 0
sh sym CLOCK_SECS
-CLOCK_SECS = "78.428"
+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.033994
- !-> DEFINE VARIABLE sumcpu =0.033994
+ !-> DEFINE VARIABLE dt = 0.06799
+ !-> DEFINE VARIABLE sumcpu =0.06799
!-> REPEAT: K=2
- !-> DEFINE VARIABLE dt = 0.028996
- !-> DEFINE VARIABLE sumcpu =0.06299
+ !-> DEFINE VARIABLE dt = 0.052992
+ !-> DEFINE VARIABLE sumcpu =0.120982
!-> REPEAT: K=3
- !-> DEFINE VARIABLE dt = 0.031995
- !-> DEFINE VARIABLE sumcpu =0.094985
+ !-> DEFINE VARIABLE dt = 0.050992
+ !-> DEFINE VARIABLE sumcpu =0.171974
!-> REPEAT: K=4
- !-> DEFINE VARIABLE dt = 0.032995
- !-> DEFINE VARIABLE sumcpu =0.12798
+ !-> DEFINE VARIABLE dt = 0.053992
+ !-> DEFINE VARIABLE sumcpu =0.225966
!-> REPEAT: K=5
- !-> DEFINE VARIABLE dt = 0.030995
- !-> DEFINE VARIABLE sumcpu =0.158975
+ !-> DEFINE VARIABLE dt = 0.051992
+ !-> DEFINE VARIABLE sumcpu =0.277958
!-> REPEAT: K=6
- !-> DEFINE VARIABLE dt = 0.033995
- !-> DEFINE VARIABLE sumcpu =0.19297
+ !-> DEFINE VARIABLE dt = 0.050992
+ !-> DEFINE VARIABLE sumcpu =0.32895
!-> REPEAT: K=7
- !-> DEFINE VARIABLE dt = 0.028996
- !-> DEFINE VARIABLE sumcpu =0.221966
+ !-> DEFINE VARIABLE dt = 0.053992
+ !-> DEFINE VARIABLE sumcpu =0.382942
!-> REPEAT: K=8
- !-> DEFINE VARIABLE dt = 0.029996
- !-> DEFINE VARIABLE sumcpu =0.251962
+ !-> DEFINE VARIABLE dt = 0.054991
+ !-> DEFINE VARIABLE sumcpu =0.437933
!-> REPEAT: K=9
- !-> DEFINE VARIABLE dt = 0.035994
- !-> DEFINE VARIABLE sumcpu =0.287956
+ !-> DEFINE VARIABLE dt = 0.050993
+ !-> DEFINE VARIABLE sumcpu =0.488926
!-> REPEAT: K=10
- !-> DEFINE VARIABLE dt = 0.032995
- !-> DEFINE VARIABLE sumcpu =0.320951
+ !-> DEFINE VARIABLE dt = 0.052992
+ !-> DEFINE VARIABLE sumcpu =0.541918
say `sumcpu`
- !-> MESSAGE/CONTINUE 0.320951
-0.320951
+ !-> MESSAGE/CONTINUE 0.541918
+0.541918
sh sym CLOCK_SECS
-CLOCK_SECS = "80.781"
+CLOCK_SECS = "133.553"
SH SYM session_date, current_date, session_time, current_time
-SESSION_DATE = "17-Apr-17"
-SESSION_TIME = "16:45"
-CURRENT_DATE = "17-Apr-17"
-CURRENT_TIME = "16:47:18"
+SESSION_DATE = "12-Jul-17"
+SESSION_TIME = "09:51"
+CURRENT_DATE = "12-Jul-17"
+CURRENT_TIME = "09:53:33"
! ******** V6.3 Additions below ***********
@@ -62948,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
@@ -62969,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
@@ -63248,7 +63281,7 @@ let tpts = 39798 + 87*RANDU(I)
show grid tt
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 10 pts
@@ -64155,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-696.1.1.el6.x86_64 64-bit - 04/17/17"
- 4 / 4:" ! 17-Apr-17 16:45 "
+ 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"
@@ -64250,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
@@ -66708,40 +66741,40 @@ can mode ver
BAD FLAG : -1.E+34
SUBSET : 5 points (X)
X : 0.5 to 5.5
-randu2_randn2 0.148
-randu2_randn2 0.852
-randu2_randn2 0.072
-randu2_randn2 0.121
-randu2_randn2 0.649
+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.522
-randu2_randn2 0.962
-randu2_randn2 0.365
-randu2_randn2 0.973
-randu2_randn2 0.332
+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.329
-randu2_randn2 0.680
-randu2_randn2 0.442
-randu2_randn2 0.609
-randu2_randn2 0.777
-randu2_randn2 0.799
+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.438
-randu2_randn2 0.052
-randu2_randn2 0.123
-randu2_randn2 0.274
-randu2_randn2 0.719
-randu2_randn2 0.166
+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)
@@ -66766,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.255
-randu2_randn2 0.053
-randu2_randn2 1.155
-randu2_randn2 -0.079
-randu2_randn2 -1.461
+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.544
-randu2_randn2 -0.576
-randu2_randn2 -0.874
-randu2_randn2 0.399
-randu2_randn2 -0.532
+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 0.805
-randu2_randn2 0.884
-randu2_randn2 0.535
-randu2_randn2 0.086
-randu2_randn2 -0.192
-randu2_randn2 0.304
+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 -1.786
-randu2_randn2 1.110
-randu2_randn2 -1.738
-randu2_randn2 1.397
-randu2_randn2 -0.281
-randu2_randn2 -0.459
+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)
@@ -66824,14 +66857,14 @@ 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.426 1.426 0.699
-randu2_randn2 1.238 1.238 0.699
-randu2_randn2 0.699 0.699 0.127
-randu2_randn2 0.052 0.052 0.388
-randu2_randn2 -0.428 -0.428 0.388
-randu2_randn2 -0.979 -0.428 0.388
-randu2_randn2 0.127 0.127 0.388
-randu2_randn2 0.388 0.388 0.388
+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
@@ -72667,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) 17-Apr-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
@@ -72720,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) 17-Apr-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
@@ -72762,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) 17-Apr-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
@@ -72804,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) 17-Apr-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
@@ -72837,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) 17-Apr-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
@@ -72871,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) 17-Apr-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
@@ -72934,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) 17-Apr-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
@@ -72982,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) 17-Apr-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
@@ -73039,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) 17-Apr-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
@@ -73077,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) 17-Apr-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
@@ -73115,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) 17-Apr-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
@@ -73153,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) 17-Apr-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
@@ -73187,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) 17-Apr-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
@@ -73425,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) 17-Apr-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
@@ -73459,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) 17-Apr-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
@@ -73503,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) 17-Apr-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
@@ -73544,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) 17-Apr-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
@@ -73570,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) 17-Apr-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
@@ -73596,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) 17-Apr-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
@@ -74053,7 +74086,7 @@ variables:
A:history = "From coads_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -74082,7 +74115,7 @@ variables:
E410:history = "From coads_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -74133,7 +74166,7 @@ variables:
E410:history = "From coads_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -74712,8 +74745,8 @@ variables:
DDAT_ORIG:long_name = "DDAT[GZ=ZAXIS_ORIG at ASN]" ;
// global attributes:
- :history = "Mon Apr 17 16:47:39 2017: ncks -h -A -h z1.nc append_to_this.nc\n",
- "FERRET V7.1 (beta/debug) 17-Apr-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" ;
}
@@ -74749,7 +74782,7 @@ variables:
AVAR:long_name = "X[GX=XIRREG]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -74780,7 +74813,7 @@ variables:
AVAR:long_name = "X[GX=XIRREG]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -74843,7 +74876,7 @@ variables:
A:history = "From coads" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -74871,7 +74904,7 @@ variables:
A:history = "From coads" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -75677,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
@@ -76021,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
@@ -76037,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
@@ -76606,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) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -76629,7 +76667,7 @@ variables:
STRVAR:long_name = "mystrings" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -76860,7 +76898,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -76890,7 +76928,7 @@ variables:
A:history = "From a" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -76911,7 +76949,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -76932,7 +76970,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -76954,7 +76992,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -77387,7 +77425,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 17-Apr-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
@@ -77404,7 +77442,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 17-Apr-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
@@ -77421,7 +77459,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 17-Apr-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
@@ -77457,50 +77495,52 @@ GO bn_let_remote
! 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 Use the THREDDS server at http://ferret.pmel.noaa.gov/pmel/thredds
+! 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/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
+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/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/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
+ 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/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
@@ -77508,17 +77548,17 @@ can data/all; can var/all
! open another dataset, define more remote variables
-use "http://ferret.pmel.noaa.gov/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/thredds/dodsC/las/COADS-climatology/data_coads_climatology.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/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/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl (default)
+ 2> http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl (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
@@ -77535,7 +77575,7 @@ sh dat
set view ul; plot/y=-10/x=50:150 sstsum
set view ur; plot/y=-10/x=50:150 airtsum
list/y=-10/x=50:59 sstsum,airtsum
- DATA SET: http://ferret.pmel.noaa.gov/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl
+ DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl
LONGITUDE: 50E to 59E
LATITUDE: 10S (interpolated)
Column 1: SSTSUM is SST[L=1:5 at SUM]
@@ -77550,7 +77590,7 @@ list/y=-10/x=50:59 sstsum,airtsum
let both = sstsum + airtsum
set view lower; plot/y=-10/x=50:150 both
list/y=-10/x=50:59 sstsum, airtsum, both
- DATA SET: http://ferret.pmel.noaa.gov/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl
+ DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl
LONGITUDE: 50E to 59E
LATITUDE: 10S (interpolated)
Column 1: SSTSUM is SST[L=1:5 at SUM]
@@ -77566,7 +77606,7 @@ list/y=-10/x=50:59 sstsum, airtsum, both
can dat/all; can var/all
! make several remote definitions. They can be used together in an expression.
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl"
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl"
let/D=1/remote sstsum = sst[L=1:5 at sum]
let/D=1/remote airtsum = airt[L=1:5 at sum]
let/D=1/remote factor = 12
@@ -77574,7 +77614,7 @@ let/D=1/remote combo = factor*(airtsum - sstsum)
list/y=-5/x=130w:110w combo
VARIABLE : FACTOR*(AIRTSUM - SSTSUM)
FILENAME : data_coads_climatology.jnl
- FILEPATH : http://ferret.pmel.noaa.gov/thredds/dodsC/las/COADS-climatology/
+ FILEPATH : http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/
SUBSET : 10 points (LONGITUDE)
LATITUDE : 5S
5S
@@ -77593,10 +77633,10 @@ list/y=-5/x=130w:110w combo
can dat/all; can var/all
-use "http://ferret.pmel.noaa.gov/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:
@@ -77604,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
@@ -77623,29 +77663,29 @@ SET MODE/LAST ignore
let/D=1/remote a = 12
sho dat
currently SET data sets:
- 1> http://ferret.pmel.noaa.gov/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/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
@@ -78677,7 +78717,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 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
}
set mode/last upcase
@@ -78775,7 +78815,7 @@ variables:
lon360:history = "added to test_save_dsg.nc" ;
// global attributes:
- :history = "CruiseDsgNcFile 1.0FERRET V7.1 (beta/debug) 17-Apr-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 ;
@@ -78802,7 +78842,7 @@ can dat/all; use anew_global.nc
sh att .
attributes for dataset: ./anew_global.nc
..history = Subset of etopo20,
- FERRET V7.1 (beta/debug) 17-Apr-17
+ FERRET V7.2 (beta/debug) 12-Jul-17
..Conventions = Existing conventions note, , CF-1.6
@@ -78837,7 +78877,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 (beta/debug) 17-Apr-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 bn_center_key_labels
@@ -81712,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_"
@@ -83148,7 +83191,7 @@ LIST/PREC=7 tempz_alt
48.5S / 2: 7.726000 7.917999
49.5S / 1: 6.843000 7.021999
SHOW GRID tempz_alt
- GRID (G094)
+ 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
@@ -87635,20 +87678,20 @@ 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
-Mon Apr 17 16:48:02 PDT 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
-Mon Apr 17 16:48:02 PDT 2017
+Wed Jul 12 09:54:47 PDT 2017
sp date
-Mon Apr 17 16:48:02 PDT 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
-Mon Apr 17 16:48:02 PDT 2017
+Wed Jul 12 09:54:47 PDT 2017
GO bn_reset
cancel mode verify
@@ -87705,7 +87748,7 @@ variables:
var:long_name = "0*TT + X[GX=XAX]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -87822,7 +87865,7 @@ all data in memory:
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:196 size:432
+ 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 ... / ...
@@ -88607,7 +88650,7 @@ variables:
TEMP:history = "From /home/data/socat/socatV3/11SS/11SS20140225.nc" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -91663,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
@@ -92864,6 +92907,7 @@ GO bn_aggregate_tef
! 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
@@ -93299,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
@@ -93432,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) 11-Apr-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
@@ -93488,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
@@ -93715,23 +93759,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 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
+ 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
@@ -93930,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) 17-Apr-17
+ ..history = FERRET V7.2 (beta/debug) 12-Jul-17
..Conventions = CF-1.6
..dt_internal = 15
sh att elev
@@ -93951,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) 17-Apr-17
+ ..history = FERRET V7.2 (beta/debug) 12-Jul-17
..Conventions = CF-1.6
sh att elev
attributes for dataset: ./a.nc
@@ -94077,9 +94121,9 @@ 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.025000000000006 seconds
-Second 10K LET commands LET a = 0 takes 2.292 seconds
-5K LOAD with transform takes 3.584 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 bn_show_noupcase
cancel mode verify
@@ -95198,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
@@ -95260,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
@@ -96098,7 +96142,7 @@ sho command/brief v
! 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
@@ -97073,20 +97117,9 @@ list/nohead strindex(..title, "file")
! Bug 2477 plot axes are not fully drawn, some /VS plots
-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
+! 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
@@ -97561,7 +97594,7 @@ save/clob/file=a.nc c
allocate dynamic grid (G208) C2D_AX_X NORMAL NORMAL NORMAL
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:241 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
@@ -97599,6 +97632,11 @@ 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
@@ -97809,7 +97847,7 @@ variables:
VAR:long_name = "X[GX=XLON]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
go bn_reset
@@ -97868,7 +97906,7 @@ variables:
VAR:history = "From a1" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -97915,7 +97953,7 @@ variables:
VAR:history = "From a1" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -98501,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
@@ -98830,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
@@ -98919,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
@@ -99061,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
@@ -99073,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) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -99111,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
@@ -99121,21 +99159,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
@@ -99146,28 +99184,28 @@ variables:
double AX103(AX103) ;
AX103:point_spacing = "even" ;
AX103:axis = "X" ;
- float var(AX103) ;
- var:missing_value = -1.e+34f ;
- var:_FillValue = -1.e+34f ;
+ 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(AX103) ;
- 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(AX103) ;
- 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) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
@@ -99425,9 +99463,11 @@ show data/members
U U 1:5 1:4 ... 1:10
V V 1:5 1:4 ... 1:10
- time-dependent data files:
-31-DEC-2009 23:59 -> 31-DEC-2009 23:59 bn_agg_member_syntax.jnl
-
+ 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
@@ -99874,7 +99914,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 17-Apr-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
@@ -99943,7 +99983,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 17-Apr-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
@@ -100014,7 +100054,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 34 T FERRET V7.1 (beta/debug) 17-Apr-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
@@ -100431,7 +100471,7 @@ variables:
VART:long_name = "RESHAPE(VAR, T[GT=TAX])" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -100462,88 +100502,9 @@ show grid vart
TAX3 TIME 7 i 09-NOV-2015 02:24 13-NOV-2015 02:24 full
-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
+! move this to bn_gif.jnl
+! GO bn_reset
+! GO err71_plotvs_mode_label
GO bn_reset
cancel mode verify
@@ -100684,7 +100645,7 @@ list a[i=2]
GO bn_reset
cancel mode verify
dealloc dynamic grid XABSTRACT ABSTRACT NORMAL NORMAL NORMAL
- -DELETE A M:218 dset: 1 I: 2 2 J: -999 -999 K: -999 -999 L: -999 -999
+ -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
@@ -100716,46 +100677,733 @@ use write_int_att.nc
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_vs_constant
-! err71_vs_constant.jnl
-! See ticket 2318, defining plot axes when data is constant
-! 4/2017 acm
+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
-! The axis ranges had been set as val-1, val+1 which
-! worked poorly for large or small data values
+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
-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
+! multiple directions including e,f
+use 6dfile.nc
-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}
+! 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" ;
+}
-frame/file=bn_vs_const_value.gif
+! 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" ;
+}
-! With constant data value as the first argument
+! 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
-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 bn_compressed_gather
cancel mode verify
@@ -101472,6 +102120,7 @@ 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
@@ -101492,7 +102141,7 @@ 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_STATUS) THEN
+IF ($SPAWN_OK) THEN
!-> IF 1 THEN
say test files already exist. not re-creating them
test files already exist. not re-creating them
@@ -101574,7 +102223,7 @@ show memory/all ! in memory following the last chunk
Peak demand: 6 megawords
Current cache: 6 megawords
all data in memory:
- V[D=test_dyn_mem] XYZ mr:231 size:4000000
+ 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
@@ -101659,11 +102308,11 @@ show memory/all ! in memory following the last chunk
Peak demand: 2.024 megawords
Current cache: 2.024 megawords
all data in memory:
- V[D=test_dyn_mem] XYZ mr:234 size:2000000
+ 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:237 size:4000
+ 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
@@ -102102,21 +102751,21 @@ SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_30.out
> Peak demand: 4.184 megawords
> Current cache: 4.524 megawords
68c68
-< V[D=test_dyn_mem] XYZ mr:220 size:4000000
+< 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:220 size:360000
+> 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:231 size:364000
+> 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
@@ -102390,14 +103039,14 @@ SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
> Peak demand: 2.384 megawords
> Current cache: 5.712 megawords
68c68
-< V[D=test_dyn_mem] XYZ mr:220 size:4000000
+< V[D=test_dyn_mem] XYZ mr:224 size:4000000
---
-> V[D=test_dyn_mem] XYZ mr:242 size:2000000
+> 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:228 size:32000
+> 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
@@ -102408,11 +103057,11 @@ SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
> 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:192 size:320000
+> 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:184 size:64000
+> 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
@@ -102420,11 +103069,11 @@ SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
> 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:194 size:64000
+> 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:220 size:320000
+> 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
>
@@ -102432,19 +103081,19 @@ SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
> 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
+> 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:226 size:64000
+> 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:237 size:320000
+> 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:234 size:64000
+> 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
@@ -102452,7 +103101,7 @@ SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
> 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
+> 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
@@ -102472,7 +103121,7 @@ SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
> 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:224 size:320000
+> 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
>
@@ -102523,18 +103172,18 @@ SPAWN diff bn_dynamic_gather_0.out bn_dynamic_gather_60.out
---
> Peak demand: 2.008 megawords
153c234
-< V[D=test_dyn_mem] XYZ mr:231 size:2000000
+< 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:237 size:4000
+< 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:242 size:4000
+> 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
@@ -102948,48 +103597,48 @@ set v lr; plot/vs/ribbon/sym=17/thick/vlim=50:0 ttvar, pres, temp
set mode/last logo
-GO bn_reset bn_inner
+GO bn_reset bn_dot_product
cancel mode verify
ooooooooooooooooooooooooooooooooooooooooooo
-Starting test: bn_inner
-GO bn_inner
-! bn_inner.jnl
-! 3/2017 *acm* Inner product function for matrix multiply operation
+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 innerproduct*
-INNERPRODUCT(VAR1,VAR2,IDIM)
+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,...)
-INNERPRODUCT_X(VAR1,VAR2)
- Compute the inner product of two variables along X-axis
+DOT_E(VAR1,VAR2)
+ Compute the inner product of two variables along E-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_Y(VAR1,VAR2)
- Compute the inner product of two variables along Y-axis
+DOT_F(VAR1,VAR2)
+ Compute the inner product of two variables along F-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_Z(VAR1,VAR2)
- Compute the inner product of two variables along Z-axis
+DOT_T(VAR1,VAR2)
+ Compute the inner product of two variables along T-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_T(VAR1,VAR2)
- Compute the inner product of two variables along T-axis
+DOT_X(VAR1,VAR2)
+ Compute the inner product of two variables along X-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_E(VAR1,VAR2)
- Compute the inner product of two variables along E-axis
+DOT_Y(VAR1,VAR2)
+ Compute the inner product of two variables along Y-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_F(VAR1,VAR2)
- Compute the inner product of two variables along F-axis
+DOT_Z(VAR1,VAR2)
+ Compute the inner product of two variables along Z-axis
VAR1: Variable 1
VAR2: Variable 2
-! A call to innerproduct(var1, var2, dir) translates into call to
-! function innerproduct_q(var1,var2) where q is the pax direction
+! 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
@@ -103012,15 +103661,15 @@ list var1, var2
3 / 3: 3.000000 1.000000
4 / 4: 4.000000 1.000000
5 / 5: 5.000000 1.000000
-list innerproduct(var1, var2, 1)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 1)
+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 innerproduct_x(var1, var2)
- VARIABLE : INNERPRODUCT_X(VAR1, VAR2)
+list dot_x(var1, var2)
+ VARIABLE : DOT_X(VAR1, VAR2)
15.00000
let var1 = y[gy=ypax]
@@ -103033,8 +103682,8 @@ list var1, var2
0.1 / 1: 0.1000000 1.000000
0.2 / 2: 0.2000000 1.000000
0.3 / 3: 0.3000000 1.000000
-list innerproduct(var1, var2, 2)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 2)
+list dot(var1, var2, 2)
+ VARIABLE : DOT(VAR1, VAR2, 2)
0.6000000
let var1 = z[gz=zpax]
@@ -103048,8 +103697,8 @@ list var1, var2
0.02 / 2: 0.02000000 1.000000
0.03 / 3: 0.03000000 1.000000
0.04 / 4: 0.04000000 1.000000
-list innerproduct(var1, var2, 3)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 3)
+list dot(var1, var2, 3)
+ VARIABLE : DOT(VAR1, VAR2, 3)
0.10000000
let var1 = L[gt=month_reg]
@@ -103071,8 +103720,8 @@ list var1, var2
16-OCT / 10: 10.00000 1.000000
15-NOV / 11: 11.00000 1.000000
16-DEC / 12: 12.00000 1.000000
-list innerproduct(var1, var2, 4)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 4)
+list dot(var1, var2, 4)
+ VARIABLE : DOT(VAR1, VAR2, 4)
78.00000
let var1 = _e[ge=epax]
@@ -103085,8 +103734,8 @@ list var1, var2
-3 / 1: -3.000000 1.000000
-2 / 2: -2.000000 1.000000
-1 / 3: -1.000000 1.000000
-list innerproduct(var1, var2, 5)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 5)
+list dot(var1, var2, 5)
+ VARIABLE : DOT(VAR1, VAR2, 5)
-6.000000
let var1 = _f[gf=fpax]
@@ -103100,8 +103749,8 @@ list var1, var2
-0.3 / 2: -0.3000000 1.000000
-0.2 / 3: -0.2000000 1.000000
-0.1 / 4: -0.1000000 1.000000
-list innerproduct(var1, var2, 6)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 6)
+list dot(var1, var2, 6)
+ VARIABLE : DOT(VAR1, VAR2, 6)
-1.000000
let axy = x[gx=xpax] + y[gy=ypax]
@@ -103189,8 +103838,8 @@ list axy, bxz
3 / 3: 3.300000 0.4000000
4 / 4: 4.300000 0.4000000
5 / 5: 5.300000 0.4000000
-list innerproduct(axy, bxz, 1)
- VARIABLE : INNERPRODUCT(AXY, BXZ, 1)
+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
@@ -103200,8 +103849,8 @@ list innerproduct(axy, bxz, 1)
0.04 / 4: 6.200000 6.400000 6.600000
let byz = y[gy=ypax]+ 10*Z[GZ=Zpax]
-list innerproduct(axy, byz, 2)
- VARIABLE : INNERPRODUCT(AXY, BYZ, 2)
+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
@@ -103212,14 +103861,14 @@ list innerproduct(axy, byz, 2)
let lvar = L[gt=month_reg] - 1
let axyt = axy + lvar
-let multi_inner = innerproduct(axyt, byz, 2)
-save/file=a.nc/clobber multi_inner
+let multi_dot = dot(axyt, byz, 2)
+save/file=a.nc/clobber multi_dot
-can var multi_inner
+can var multi_dot
use a.nc
-! This should be the same as innerproduct(axy, byz, 2)
-list/l=1 multi_inner
- VARIABLE : INNERPRODUCT(AXYT, BYZ, 2)
+! 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
@@ -103235,8 +103884,8 @@ list/l=1 multi_inner
let axz = x[gx=xpax] + z[gz=zpax]
let bzt = 0*z[gz=zpax]+ 10*L[gt=month_reg]
-list innerproduct(axz, bzt, 3)
- VARIABLE : INNERPRODUCT(AXZ, BZT, 3)
+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
@@ -103254,8 +103903,8 @@ list innerproduct(axz, bzt, 3)
16-DEC / 12: 492.000 972.000 1452.000 1932.000 2412.000
let ayt = y[gy=ypax]+ 10*L[gt=month_reg]
-list innerproduct(ayt, bzt, 4)
- VARIABLE : INNERPRODUCT(AYT, BZT, 4)
+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
@@ -103267,14 +103916,14 @@ list innerproduct(ayt, bzt, 4)
let xvar = x[gx=xpax] - 1
let axyt = ayt + xvar
-let multi_inner = innerproduct(axyt, bzt, 4)
-save/file=a.nc/clobber multi_inner
+let multi_dot = dot(axyt, bzt, 4)
+save/file=a.nc/clobber multi_dot
-can var multi_inner
+can var multi_dot
use a.nc
-! This should be the same as innerproduct(ayt, bzt, 4)
-list/i=1 multi_inner
- VARIABLE : INNERPRODUCT(AXYT, BYZ, 2)
+! 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
@@ -103299,8 +103948,8 @@ can dat/all
let ayf = _f[gf=fpax] + y[gy=ypax]
let bfe = 0*_f[gf=fpax]+ 10*_e[ge=epax]
-list innerproduct(ayf, bfe, 6)
- VARIABLE : INNERPRODUCT(AYF, BFE, 6)
+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
@@ -103309,8 +103958,8 @@ list innerproduct(ayf, bfe, 6)
-1 / 3: 6.00000 2.00000 -2.00000
let aze = z[gz=zpax]+ 10*_e[ge=epax]
-list innerproduct(aze, bfe, 5)
- VARIABLE : INNERPRODUCT(AZE, BFE, 5)
+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
@@ -103321,14 +103970,14 @@ list innerproduct(aze, bfe, 5)
let xvar = x[gx=xpax] - 1
let azex = aze + xvar
-let multi_inner = innerproduct(azex, bfe, 5)
-save/file=a.nc/clobber multi_inner
+let multi_dot = dot(azex, bfe, 5)
+save/file=a.nc/clobber multi_dot
-can var multi_inner
+can var multi_dot
use a.nc
-! This should be the same as innerproduct(azex, bfe, 5)
-list/i=1 multi_inner
- VARIABLE : INNERPRODUCT(AZEX, BFE, 5)
+! 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
@@ -103351,6 +104000,7 @@ GO bn_cache_management
! 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.
@@ -103387,7 +104037,7 @@ 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_STATUS) THEN
+IF ($SPAWN_OK) THEN
!-> IF 1 THEN
say test files already exist. not re-creating them
test files already exist. not re-creating them
@@ -103792,7 +104442,7 @@ GO bn_transp_choose
can mem
sh func transpose
TRANSPOSE(VAR,DIM1,DIM2)
- Compute the in two given dimensions
+ 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,...)
@@ -103895,6 +104545,554 @@ list/l=1 var
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
@@ -103909,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-696.1.1.el6.x86_64 64-bit - 04/17/17
- 17-Apr-17 16:50
+ 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
@@ -104729,7 +105927,7 @@ variables:
MY_VAR:long_name = "T[GT=T5]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104754,7 +105952,7 @@ variables:
MY_VAR:long_name = "T[GT=T5]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104778,7 +105976,7 @@ variables:
B:long_name = "\"one line of text\"" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104817,7 +106015,7 @@ variables:
D:history = "From test_string" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104852,7 +106050,7 @@ variables:
B:long_name = "SAMPLEJ(YSEQUENCE({\"a\",\"b\",,\"d\",\"e\",\"f\"}),{2,,1})" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104893,7 +106091,7 @@ variables:
V:long_name = "T[GT=MONTH_IRREG]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -104950,7 +106148,7 @@ variables:
V:history = "From coads_vwnd" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105007,7 +106205,7 @@ variables:
V:history = "From coads_vwnd" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105062,7 +106260,7 @@ variables:
T2:long_name = "Z[GZ=ZIRR]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105110,7 +106308,7 @@ variables:
V:history = "From coads_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105204,7 +106402,7 @@ variables:
SST:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105274,7 +106472,7 @@ variables:
SST:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105325,7 +106523,7 @@ variables:
V:long_name = "X[GX=XAX] +Z[GZ=ZAX] + T[GT=TAX]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105400,7 +106598,7 @@ variables:
A:long_name = "T[GT=TIME]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105427,7 +106625,7 @@ variables:
X_:long_name_mod = "axis ABSTRACT" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
:title = "a long title longer than 80 characters a123456789b123456789c123456789d123456789e123456789f123456789g123456789h123456789" ;
data:
@@ -105451,7 +106649,7 @@ variables:
A:history = "From x" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-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:
@@ -105478,11 +106676,11 @@ variables:
A:history = "From t0_cdc" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-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) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
bn_bounds_defineax.jnl --- N+1 def of bounds.
netcdf irrxzt {
dimensions:
@@ -105513,7 +106711,7 @@ variables:
V:long_name = "X[GX=XAX] +Z[GZ=ZAX] + T[GT=TAX]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105585,7 +106783,7 @@ variables:
VAR_B:long_name = "my strings" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105629,7 +106827,7 @@ variables:
SST:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105671,7 +106869,7 @@ variables:
SST:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105779,7 +106977,7 @@ variables:
ELEV:history = "From err491_attval" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 6 after CANCEL MODE upcase_output
@@ -105820,7 +107018,7 @@ variables:
Elev:history = "From err491_attval" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 7 outtput flags to control attribute output
@@ -105843,7 +107041,7 @@ variables:
BB:another_attr = 6.f ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105869,7 +107067,7 @@ variables:
BB:another_attr = 6.f ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105889,7 +107087,7 @@ variables:
BB:long_name = "{3,4.5,6,7,4}" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105910,7 +107108,7 @@ variables:
BB:long_name = "{3,4.5,6,7,4}" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -105953,7 +107151,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-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.
@@ -105993,7 +107191,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-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.
@@ -106031,7 +107229,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 14 attributes of data from ez data.
@@ -106042,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) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106080,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) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106119,7 +107317,7 @@ variables:
A:four = "theory" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106165,7 +107363,7 @@ variables:
ELEV:history = "From err491_attval" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
:simulation = "K-Bay OAR3d model (200m)" ;
:start_date = "980105000000" ;
@@ -106272,7 +107470,7 @@ variables:
TEMP:units = "deg. C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
:dt_internal = 15. ;
}
@@ -106314,7 +107512,7 @@ variables:
ELEV:history = "From err491_attval" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106397,7 +107595,7 @@ variables:
RIGUE:history = "From test0" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106434,7 +107632,7 @@ variables:
B:long_name = "hello" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106474,7 +107672,7 @@ variables:
VWND:units = "M/S" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106525,7 +107723,7 @@ variables:
T2:history = "From coads_vwnd" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106584,7 +107782,7 @@ variables:
T2:history = "From gt4d011" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106629,7 +107827,7 @@ variables:
T2:history = "From gt4d011" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106672,7 +107870,7 @@ variables:
T2:history = "From gt4d011" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106707,7 +107905,7 @@ variables:
TEMP:units = "DEG C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106741,7 +107939,7 @@ variables:
TWO:history = "From levitus_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 27 attributes of user-defined axes
@@ -106771,7 +107969,7 @@ variables:
AXY:long_name = "RESHAPE (A,RVAR)" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 28 Define a new global attribute
@@ -106800,7 +107998,7 @@ variables:
BROILED:history = "From test0" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-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" ;
@@ -106861,7 +108059,7 @@ variables:
FAREN:history = "From gt4d011" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106906,7 +108104,7 @@ variables:
FAREN:history = "From gt4d011" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -106925,7 +108123,7 @@ variables:
A:long_name = "X[GX=XAX]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106955,7 +108153,7 @@ variables:
A:long_name = "X[GX=XAX]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -106985,7 +108183,7 @@ variables:
A:long_name = "X[GX=XAX]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -107038,7 +108236,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -107080,7 +108278,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -107098,7 +108296,7 @@ variables:
V:long_name = "Y[GY=YAXIS]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
err611_set_var_ez.jnl ---
@@ -107109,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) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -107127,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) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- SET VAR/OUTTYPE for user variable
@@ -107152,7 +108350,7 @@ variables:
A:long_name = "{1.1,2.2,3.3}" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -107173,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) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -107236,7 +108434,7 @@ variables:
newvar:history = "From a" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
bn_keep_axisnames.jnl --- test SAVE/KEEP_AXISNAMES
@@ -107263,7 +108461,7 @@ variables:
A:long_name = "X[GX=X100] + T[GT=T31]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
bn_keep_axisnames.jnl --- without /KEEP_AXISNAMES
@@ -107290,7 +108488,7 @@ variables:
A:long_name = "X[GX=X100] + T[GT=T31]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-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:
@@ -107356,7 +108554,7 @@ variables:
ZUP:long_name = "Z[GZ=ZAXUP]" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-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:
@@ -107388,7 +108586,7 @@ variables:
Y_:long_name_mod = "axis YFIFTEEN" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-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
@@ -107421,7 +108619,7 @@ variables:
XYTVAR:history = "From bn_strides" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -107446,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) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -107484,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) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
data:
@@ -107510,7 +108708,7 @@ variables:
MYVAR:history = "From coads_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -107524,7 +108722,7 @@ variables:
MYVAR:history = "From levitus_climatology" ;
// global attributes:
- :history = "FERRET V7.1 (beta/debug) 17-Apr-17" ;
+ :history = "FERRET V7.2 (beta/debug) 12-Jul-17" ;
:Conventions = "CF-1.6" ;
}
-----
@@ -107538,9 +108736,9 @@ yes?
yes?
yes? GO bn_startupfile
NOAA/PMEL TMAP
- FERRET v7.1 (beta/debug)
- Linux 2.6.32-696.1.1.el6.x86_64 64-bit - 04/17/17
- 17-Apr-17 16:50
+ 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
SET MEMORY/SIZE: 31 megawords
@@ -107549,22 +108747,23 @@ CAN MODE VERIFY
PPL$XPIXEL = "656"
PPL$YPIXEL = "492"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-696.1.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 = "17-Apr-17"
-SESSION_TIME = "16:50"
-SESSION_PID = "22720"
-DELTA_CPU = "0.072988"
-CLOCK_SECS = "0.25"
-CURRENT_DATE = "17-Apr-17"
-CURRENT_TIME = "16:50:22"
+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_STATUS = "1"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
GO_FILE = "./bn_startupfile.jnl"
LAST_GO_FILE = "./bn_startupfile.jnl"
PPL$FORMAT = "(3F10.2)"
@@ -107585,7 +108784,7 @@ PPL$VIEW_X = "0.000"
PPL$VIEW_Y = "0.000"
PPL$VIEW_Z = "0.000"
PPL$COMMAND_FILE = "$$MEMBUF$$"
-WIN_TITLE = "17-Apr-17:16:50"
+WIN_TITLE = "12-Jul-17:09:57"
VP_WIDTH = "10.2"
VP_HEIGHT = "8.8"
VP_SCALE = "1"
@@ -107649,9 +108848,9 @@ yes?
yes?
yes? GO bn_gif
NOAA/PMEL TMAP
- FERRET v7.1 (beta/debug)
- Linux 2.6.32-696.1.1.el6.x86_64 64-bit - 04/17/17
- 17-Apr-17 16:50
+ 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
@@ -108188,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
@@ -108197,9 +109551,9 @@ yes?
yes?
yes? GO bn_ps
NOAA/PMEL TMAP
- FERRET v7.1 (beta/debug)
- Linux 2.6.32-696.1.1.el6.x86_64 64-bit - 04/17/17
- 17-Apr-17 16:50
+ 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
@@ -108311,9 +109665,9 @@ yes?
yes?
yes? GO bn_batch_metafile
NOAA/PMEL TMAP
- FERRET v7.1 (beta/debug)
- Linux 2.6.32-696.1.1.el6.x86_64 64-bit - 04/17/17
- 17-Apr-17 16:50
+ 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
@@ -108397,4 +109751,4 @@ set window/location=0.1,0.1/title="another title"
set mode/last logo
exit/command
-Ended at Mon Apr 17 16:50:25 PDT 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
index a9dbbfe..a80676f 100644
--- a/bench/bn720_bug_fixes.jnl
+++ b/bench/bn720_bug_fixes.jnl
@@ -12,8 +12,9 @@ GO err71_prec_return
GO bn_reset
GO err71_save_rigid
-GO bn_reset
-GO err71_plotvs_mode_label
+! move this to bn_gif.jnl
+! GO bn_reset
+! GO err71_plotvs_mode_label
GO bn_reset
GO err71_set_redirect
@@ -30,5 +31,38 @@ 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_vs_constant
+GO err71_repeat_paren
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_aggregate_tef.jnl b/bench/bn_aggregate_tef.jnl
index 593107c..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
@@ -15,7 +16,7 @@ CANCEL MODE VERIFY
! see if the test file already exists
SPAWN "ls tmp/f04_e3_t3_1v.nc"
-IF ($SPAWN_STATUS) THEN
+IF ($SPAWN_OK) THEN
say *** NOT RE-CREATING bn_aggregate_tef.jnl test files. They already exist.
ELSE
diff --git a/bench/bn_all.jnl b/bench/bn_all.jnl
index 2a6f5e1..706de29 100644
--- a/bench/bn_all.jnl
+++ b/bench/bn_all.jnl
@@ -1129,8 +1129,8 @@ GO bn_stat_precision
GO bn_reset bn_plot_vs_with_time
GO bn_plot_vs_with_time
-GO bn_reset bn_inner
-GO bn_inner
+GO bn_reset bn_dot_product
+GO bn_dot_product
GO bn_reset bn_cache_management
GO bn_cache_management
@@ -1138,6 +1138,9 @@ 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 **
GO bn_reset
diff --git a/bench/bn_cache_management.jnl b/bench/bn_cache_management.jnl
index 957ecb8..aae776f 100644
--- a/bench/bn_cache_management.jnl
+++ b/bench/bn_cache_management.jnl
@@ -3,6 +3,7 @@
! 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.
@@ -36,7 +37,7 @@ define axis/x=1:1000000:1 xmillion
! 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_STATUS) THEN
+IF ($SPAWN_OK) THEN
say test files already exist. not re-creating them
ELSE
!**************************************
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_color_wire.jnl b/bench/bn_color_wire.jnl
new file mode 100644
index 0000000..ccbb0e8
--- /dev/null
+++ b/bench/bn_color_wire.jnl
@@ -0,0 +1,13 @@
+set text /font=lucida
+set region /i=1:80 /j=1:80
+let bump = exp(-1.0*(((I-40)/20)^2 + ((J-40)/20)^2))
+wire /color=blue /viewpoint=-4,-10,2 bump
+frame /file=bluewire.png
+set window /color=blue 1
+set text /font=lucida /color=(100,100,25)
+wire /color=red /thick=3.5 /viewpoint=-4,-10,2 bump
+frame /file=redwire.png
+wire /color=(100,0,0,25) /thick=3.5 /viewpoint=-4,-10,2 bump
+frame /file=red25wire.png
+wire /color=(100,0,0) /opacity=10 /thick=3.5 /viewpoint=-4,-10,2 bump
+frame /file=red10wire.png
diff --git a/bench/bn_contourcolor.jnl b/bench/bn_contourcolor.jnl
index a1d53ae..4495651 100644
--- a/bench/bn_contourcolor.jnl
+++ b/bench/bn_contourcolor.jnl
@@ -6,3 +6,11 @@ contour/i=1:20/j=1:20/lev=(0)(-10,10,2.125)/color=green/title="CONTOUR LUCIDA GR
frame /file=contourcolor_green.pdf
contour/i=1:20/j=1:20/lev=(0)(-10,10,2.125)/color=(60,20,30)/title="CONTOUR LUCIDA (60,20,30)" 10*sin(i/3)*cos(j/4)
frame /file=contourcolor_puce.pdf
+
+
+! Test contour labels in different colors
+! Test contour labels on a depth axis
+use gt4d011.cdf
+set text/color=blue contour
+contour/j=40/l=1/color=(30,60,30)/title="CONTOUR depth var with blue labels" temp
+frame /file=contourcolor_depth.pdf
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
index 95e5fdb..52d9faa 100644
--- a/bench/bn_dynamic_gather.jnl
+++ b/bench/bn_dynamic_gather.jnl
@@ -1,5 +1,6 @@
! 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
@@ -19,7 +20,7 @@ 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 ($SPAWN_OK) THEN
say test files already exist. not re-creating them
ELSE
define symbol saved_memory_size = ($FERRET_MEMORY)
diff --git a/bench/bn_gif.jnl b/bench/bn_gif.jnl
index 424c0af..e7a6119 100644
--- a/bench/bn_gif.jnl
+++ b/bench/bn_gif.jnl
@@ -183,6 +183,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_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 91cb20c..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 Use the THREDDS server at http://ferret.pmel.noaa.gov/pmel/thredds
+! 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/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
+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/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,8 +31,8 @@ can data/all; can var/all
! open another dataset, define more remote variables
-use "http://ferret.pmel.noaa.gov/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/thredds/dodsC/las/COADS-climatology/data_coads_climatology.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
@@ -46,7 +48,7 @@ list/y=-10/x=50:59 sstsum, airtsum, both
can dat/all; can var/all
! make several remote definitions. They can be used together in an expression.
-use "http://ferret.pmel.noaa.gov/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl"
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl"
let/D=1/remote sstsum = sst[L=1:5 at sum]
let/D=1/remote airtsum = airt[L=1:5 at sum]
let/D=1/remote factor = 12
@@ -56,10 +58,10 @@ list/y=-5/x=130w:110w combo
can dat/all; can var/all
-use "http://ferret.pmel.noaa.gov/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_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_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/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_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
index aa3f165..2d69d74 100644
--- a/bench/err71_plotvs_mode_label.jnl
+++ b/bench/err71_plotvs_mode_label.jnl
@@ -1,4 +1,4 @@
-! err71_plotVS_mode_label.jnl
+! err71_plotvs_mode_label.jnl
! *acm*3/17/17 Ticket 2517:
! MODE LONG_LABEL, MODE LATIT_LABEL need to apply
! to PLOT/VS plots.
@@ -49,7 +49,7 @@ 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
+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
@@ -65,7 +65,7 @@ annotate/norm/x=0.1/y=0.9/siz=0.1 "long TRUE latit FALSE"
cancel mode long_lab
set mode latit_lab
-set view lr; plot/vs/line/sym/hlim=0:40/vlim=-20:20 lat,lon
+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
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_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_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_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/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/axticlabel.pdf b/bench/test_results/axticlabel.pdf
index 2b71c51..00489cb 100644
Binary files a/bench/test_results/axticlabel.pdf and b/bench/test_results/axticlabel.pdf differ
diff --git a/bench/test_results/bluewire.png b/bench/test_results/bluewire.png
new file mode 100644
index 0000000..4da1f01
Binary files /dev/null and b/bench/test_results/bluewire.png differ
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_axis_vs.png b/bench/test_results/bn_axis_vs.png
index d6e7b89..625f87b 100644
Binary files a/bench/test_results/bn_axis_vs.png and b/bench/test_results/bn_axis_vs.png differ
diff --git a/bench/test_results/bn_contour_conset.gif b/bench/test_results/bn_contour_conset.gif
index d4232f1..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 5e8acfd..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_inf2missing.pdf b/bench/test_results/bn_inf2missing.pdf
index ea7644b..6bd0823 100644
Binary files a/bench/test_results/bn_inf2missing.pdf and b/bench/test_results/bn_inf2missing.pdf differ
diff --git a/bench/test_results/bn_labels_on_taxis.gif b/bench/test_results/bn_labels_on_taxis.gif
index 47929c2..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_labels_on_taxis.pdf b/bench/test_results/bn_labels_on_taxis.pdf
index 733b8dc..fa2d627 100644
Binary files a/bench/test_results/bn_labels_on_taxis.pdf and b/bench/test_results/bn_labels_on_taxis.pdf differ
diff --git a/bench/test_results/bn_ribbon_vlog.gif b/bench/test_results/bn_ribbon_vlog.gif
index ae54874..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_ribbon_vlog.png b/bench/test_results/bn_ribbon_vlog.png
index 53ac89e..ad1f8fb 100644
Binary files a/bench/test_results/bn_ribbon_vlog.png and b/bench/test_results/bn_ribbon_vlog.png differ
diff --git a/bench/test_results/bn_subspan_mod_strides.gif b/bench/test_results/bn_subspan_mod_strides.gif
index 582f1b6..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
index 4ffeb2c..5d735cc 100644
Binary files a/bench/test_results/bn_vs_const_value.gif and b/bench/test_results/bn_vs_const_value.gif differ
diff --git a/bench/test_results/bn_vs_const_value.png b/bench/test_results/bn_vs_const_value.png
index a946743..cf9c080 100644
Binary files a/bench/test_results/bn_vs_const_value.png and b/bench/test_results/bn_vs_const_value.png differ
diff --git a/bench/test_results/bnplot.pdf b/bench/test_results/bnplot.pdf
index bc10ec7..5b81d71 100644
Binary files a/bench/test_results/bnplot.pdf and b/bench/test_results/bnplot.pdf 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/bnplot_4.eps b/bench/test_results/bnplot_4.eps
index 5e237ea..109f823 100644
--- a/bench/test_results/bnplot_4.eps
+++ b/bench/test_results/bnplot_4.eps
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: cairo 1.14.4 (http://cairographics.org)
-%%CreationDate: Tue Apr 18 17:19:02 2017
+%%Creator: cairo 1.14.10 (http://cairographics.org)
+%%CreationDate: Tue Jul 11 18:36:08 2017
%%Pages: 1
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
@@ -58,6 +58,9 @@ save
/g { setgray } bind def
/rg { setrgbcolor } bind def
/d1 { setcachedevice } bind def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
%%EndProlog
%%BeginSetup
%%EndSetup
diff --git a/bench/test_results/bnplot_4.pdf b/bench/test_results/bnplot_4.pdf
index d55879d..caac65c 100644
Binary files a/bench/test_results/bnplot_4.pdf and b/bench/test_results/bnplot_4.pdf differ
diff --git a/bench/test_results/bnplot_4.ps b/bench/test_results/bnplot_4.ps
index e5110c8..7449088 100644
--- a/bench/test_results/bnplot_4.ps
+++ b/bench/test_results/bnplot_4.ps
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
-%%Creator: cairo 1.14.4 (http://cairographics.org)
-%%CreationDate: Tue Apr 18 17:19:02 2017
+%%Creator: cairo 1.14.10 (http://cairographics.org)
+%%CreationDate: Tue Jul 11 18:36:08 2017
%%Pages: 1
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
@@ -62,6 +62,9 @@
/g { setgray } bind def
/rg { setrgbcolor } bind def
/d1 { setcachedevice } bind def
+/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
+/cairo_image { image cairo_flush_ascii85_file } def
+/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
/cairo_set_page_size {
% Change paper size, but only if different from previous paper size otherwise
% duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size
diff --git a/bench/test_results/closed_lev.pdf b/bench/test_results/closed_lev.pdf
index 6ad8e73..6672828 100644
Binary files a/bench/test_results/closed_lev.pdf and b/bench/test_results/closed_lev.pdf differ
diff --git a/bench/test_results/contourcolor_blue.pdf b/bench/test_results/contourcolor_blue.pdf
index 28b93af..242b614 100644
Binary files a/bench/test_results/contourcolor_blue.pdf and b/bench/test_results/contourcolor_blue.pdf differ
diff --git a/bench/test_results/contourcolor_depth.pdf b/bench/test_results/contourcolor_depth.pdf
new file mode 100644
index 0000000..b731c52
Binary files /dev/null and b/bench/test_results/contourcolor_depth.pdf differ
diff --git a/bench/test_results/contourcolor_green.pdf b/bench/test_results/contourcolor_green.pdf
index 19469b3..a3518bd 100644
Binary files a/bench/test_results/contourcolor_green.pdf and b/bench/test_results/contourcolor_green.pdf differ
diff --git a/bench/test_results/contourcolor_puce.pdf b/bench/test_results/contourcolor_puce.pdf
index eb6721e..4b42714 100644
Binary files a/bench/test_results/contourcolor_puce.pdf and b/bench/test_results/contourcolor_puce.pdf differ
diff --git a/bench/test_results/dashbug.pdf b/bench/test_results/dashbug.pdf
index 72429c7..e517fec 100644
Binary files a/bench/test_results/dashbug.pdf and b/bench/test_results/dashbug.pdf differ
diff --git a/bench/test_results/degC_axlab.pdf b/bench/test_results/degC_axlab.pdf
index c6d99b9..f67c1f9 100644
Binary files a/bench/test_results/degC_axlab.pdf and b/bench/test_results/degC_axlab.pdf differ
diff --git a/bench/test_results/dots.pdf b/bench/test_results/dots.pdf
index efe781c..e05b33e 100644
Binary files a/bench/test_results/dots.pdf and b/bench/test_results/dots.pdf differ
diff --git a/bench/test_results/err700_key.gif b/bench/test_results/err700_key.gif
index fbd9133..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 ad33656..36f6f5b 100644
--- a/bench/test_results/ferret_run_tests_err
+++ b/bench/test_results/ferret_run_tests_err
@@ -1,306 +1,3 @@
-Using FERRET /home/flat/ksmith/Ferret/bin/ferret
-lrwxrwxrwx. 1 ksmith oerdnewp 11 Apr 18 17:01 /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
- bn720_bug_fixes.jnl
- bn_compressed_gather.jnl
- bn_dynamic_gather.jnl
- bn_stat_precision.jnl
- bn_plot_vs_with_time.jnl
- bn_inner.jnl
- bn_cache_management.jnl
- bn_transp_choose.jnl
- bn_gif.jnl
- bn_ps.jnl
- bn_all_ef.jnl
- bn_startupfile.jnl
- err700_decimate.jnl
-Beginning at Tue Apr 18 17:03:01 PDT 2017
*** Running ferret script: bn_syntax.jnl
*** NOTE: /FILES is deprecated. Use /MEMBERS
*** NOTE: in GIF mode: ignoring SET MODE METAFILE
@@ -597,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
@@ -613,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
@@ -1367,6 +1064,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
@@ -1387,9 +1085,9 @@ 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
@@ -1483,7 +1181,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
ooooooooooooooooooooooooooooooooooooooooooo
-rm: cannot remove `input.txt': No such file or directory
+rm: cannot remove ‘input.txt’: No such file or directory
ls: cannot access input.txt: No such file or directory
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
@@ -2231,8 +1929,6 @@ 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:
**TMAP ERR: non-existent or not on line
@@ -2401,7 +2097,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooo
*** Running ferret script: bn_set_strides.jnl
**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
@@ -3464,7 +3160,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
@@ -3609,6 +3305,8 @@ 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
@@ -3798,8 +3496,59 @@ 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_WORD, expecting SCAN_ATTR or SCAN_DATASET or SCAN_ERROR
-context: <!DOCTYPE^ html PUBLIC "-//W3C//DTD HTML+RDFa 1.1//EN"><html lang="en" dir="ltr" version="HTML+RDFa 1.1" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:og="http://ogp.me/ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/ [...]
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "time_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "depth_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "lat_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "lon_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "time_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "depth_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "lat_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "lon_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "time_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "depth_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "lat_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** 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 = t00an1[d=1,z=1:100 at ave]
+ **ERROR: command syntax: /REMOTE variable definition must also specify /D=
+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_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_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_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_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
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
@@ -3931,7 +3680,7 @@ 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
-rm: cannot remove `test_save_dsg.nc': No such file or directory
+rm: cannot remove ‘test_save_dsg.nc’: No such file or directory
*** Running ferret script: bn_global_atts.jnl
LISTing to file anew_global.nc
*** Running ferret script: bn_conventions_history.jnl
@@ -4117,7 +3866,7 @@ 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
+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
@@ -4165,7 +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
-rm: cannot remove `layerz_test_data.txt': No such file or directory
+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
@@ -4350,7 +4099,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
@@ -4364,7 +4113,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
@@ -4400,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
@@ -4455,9 +4204,9 @@ 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
**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 [...]
@@ -4788,9 +4537,6 @@ 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 XAXIS
Replacing definition of axis YAXIS
Replacing definition of axis TAXIS
@@ -4935,8 +4681,8 @@ list index,edtim,udtim,udate,edate
LISTing to file a.nc
*** Running ferret script: bn_spawn_fail.jnl
ls: cannot access notafile.nowhere: No such file or directory
-rm: cannot remove `nothing.dat': No such file or directory
-cp: cannot stat `nofile.dat': No such file or directory
+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
*** Running ferret script: bn_agg_member_syntax.jnl
**ERROR: unknown data set: D=5.3
@@ -5042,6 +4788,18 @@ 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
@@ -5049,6 +4807,31 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
@@ -5285,7 +5068,7 @@ SET MODE FRUGAL:95
*** Running ferret script: bn_plot_vs_with_time.jnl
Replacing definition of axis TIME
Replacing definition of axis TIME
-*** Running ferret script: bn_inner.jnl
+*** Running ferret script: bn_dot_product.jnl
LISTing to file a.nc
LISTing to file a.nc
LISTing to file a.nc
@@ -5335,6 +5118,25 @@ ls: cannot access tmp/test_auto_cache_20.nc: No such file or directory
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
**ERROR: dimensions improperly specified: specified data is not a line
- its a 2D region: "plot/i=1:10/j=1:20/nolabel i+j"
@@ -5400,6 +5202,24 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
**ERROR: dimensions improperly specified: specified data is not a line
- its a 2D region: "plot/i=1:10/j=1:20/nolabel i+j"
@@ -5447,4 +5267,3 @@ ooooooooooooooooooooooooooooooooooooooooooo
*** NOTE: in GIF mode: ignoring SET MODE METAFILE
*** NOTE: in GIF mode: ignoring SET MODE METAFILE
*** Running ferret script: err700_decimate.jnl
-Ended at Tue Apr 18 17:06:31 PDT 2017
diff --git a/bench/test_results/ferret_run_tests_log b/bench/test_results/ferret_run_tests_log
index ab3ee90..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 Apr 18 17:01 /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
@@ -292,15 +274,15 @@ Benchmark scripts that will be run:
bn_dynamic_gather.jnl
bn_stat_precision.jnl
bn_plot_vs_with_time.jnl
- bn_inner.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 Tue Apr 18 17:03:01 PDT 2017
*** Running ferret script: bn_syntax.jnl
! bn401_syntax.JNL
! - test syntax interpretation of Program FERRET
@@ -446,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
@@ -8458,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.
@@ -9715,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
@@ -9745,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
@@ -9781,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
@@ -9825,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
@@ -9863,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
@@ -9898,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))
@@ -9936,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)/)
@@ -10520,22 +10502,23 @@ show symbols/all
PPL$XPIXEL = "0"
PPL$YPIXEL = "0"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-696.1.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 = "18-Apr-17"
-SESSION_TIME = "17:03"
-SESSION_PID = "25874"
-DELTA_CPU = "0.007998"
-CLOCK_SECS = "0.003"
-CURRENT_DATE = "18-Apr-17"
-CURRENT_TIME = "17:03:06"
+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_STATUS = "1"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
! define some symbols ... syntax variations
define symbol s1 = hello
@@ -10551,22 +10534,23 @@ show symbol/all
PPL$XPIXEL = "0"
PPL$YPIXEL = "0"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-696.1.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 = "18-Apr-17"
-SESSION_TIME = "17:03"
-SESSION_PID = "25874"
-DELTA_CPU = "0.007999"
-CLOCK_SECS = "0.011"
-CURRENT_DATE = "18-Apr-17"
-CURRENT_TIME = "17:03:06"
+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_STATUS = "1"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
S1 = "hello"
S2 = ""hello""
S3 = "hello and goodbye"
@@ -10574,10 +10558,11 @@ NUM = "3"
T$DOLLAR = "hi"
T_HELLO = "hi"
show symbol s*
-SESSION_DATE = "18-Apr-17"
-SESSION_TIME = "17:03"
-SESSION_PID = "25874"
-SPAWN_STATUS = "1"
+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"
@@ -10587,17 +10572,19 @@ S2 = ""hello""
! exercise CANCEL SYMBOL
cancel symbol s2
show symbol s*
-SESSION_DATE = "18-Apr-17"
-SESSION_TIME = "17:03"
-SESSION_PID = "25874"
-SPAWN_STATUS = "1"
+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 = "18-Apr-17"
-SESSION_TIME = "17:03"
-SESSION_PID = "25874"
-SPAWN_STATUS = "1"
+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
@@ -10725,22 +10712,23 @@ show symbols/all
PPL$XPIXEL = "0"
PPL$YPIXEL = "0"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-696.1.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 = "18-Apr-17"
-SESSION_TIME = "17:03"
-SESSION_PID = "25874"
-DELTA_CPU = "0.028995"
-CLOCK_SECS = "0.045"
-CURRENT_DATE = "18-Apr-17"
-CURRENT_TIME = "17:03:06"
+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_STATUS = "1"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
*** Running ferret script: bn_comma_delimited.jnl
! bn420_comma_delimited
@@ -12429,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
@@ -12476,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
@@ -12516,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
@@ -12559,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
@@ -12591,7 +12579,7 @@ list temp[gz=z999999,z=5:15] ! err during regrid
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
@@ -12603,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
@@ -12631,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
@@ -12669,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
@@ -12706,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
@@ -12728,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
@@ -12751,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
@@ -12781,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
@@ -12856,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
@@ -12965,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
@@ -12979,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
@@ -13064,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
@@ -13087,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
@@ -13116,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 5 pts
+ (AX###) X 5 i 1 6561 5 pts
normal Y
normal Z
normal T
@@ -13149,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
@@ -13163,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
@@ -13191,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
@@ -13216,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
@@ -13244,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
@@ -13287,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
@@ -13357,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
@@ -13522,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
@@ -13693,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
@@ -13834,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
@@ -14019,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
@@ -14058,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.
@@ -15077,17 +15065,17 @@ load temp[g=u,gx=@ave,gy=@asn]
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
+ 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 (G009) PSXU PSYT PSZT TIME2
- strip regrid on X: TEMP --> (G009) @LIN
+ 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 (G009) PSXU PSYT PSZT TIME2
+ 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
+ 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
@@ -17288,21 +17276,21 @@ 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
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @AVE
+ 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 (G009) X1PT NORMAL NORMAL NORMAL
+ 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 (G009) X1PT NORMAL NORMAL NORMAL
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X1PT]
regrid: 1 delta on X at AVE
SUBSET : 7 points (X)
@@ -17315,18 +17303,18 @@ list a1[gx=xoffset at ave]
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
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
- dealloc dynamic grid (G010) XOFFSET NORMAL NORMAL NORMAL
- allocate dynamic grid (G010) XOFFSET 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 (G010) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @SUM
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X1PT]
regrid: 1 delta on X at SUM
SUBSET : 7 points (X)
@@ -17338,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
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
- dealloc dynamic grid (G010) XOFFSET NORMAL NORMAL NORMAL
- allocate dynamic grid (G010) XOFFSET 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 (G010) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @VAR
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
+ 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)
@@ -17362,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
+ 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 (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
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @AVE
+ 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 (G010) X2PT NORMAL NORMAL NORMAL
+ 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 (G010) X2PT NORMAL NORMAL NORMAL
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X2PT]
regrid: 1 delta on X at AVE
SUBSET : 7 points (X)
@@ -17393,18 +17381,18 @@ list a2[gx=xoffset at ave]
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
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
- dealloc dynamic grid (G011) XOFFSET NORMAL NORMAL NORMAL
- allocate dynamic grid (G011) XOFFSET 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 (G011) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @SUM
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X2PT]
regrid: 1 delta on X at SUM
SUBSET : 7 points (X)
@@ -17416,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
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
- dealloc dynamic grid (G011) XOFFSET NORMAL NORMAL NORMAL
- allocate dynamic grid (G011) XOFFSET 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 (G011) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @VAR
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
+ 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)
@@ -17445,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
+ 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 (G010) X2PT NORMAL NORMAL NORMAL
+ 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 (G009) X1PT NORMAL NORMAL NORMAL
+ 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
+ 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 (G010) XOFFSET YOFFSET NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @AVE
+ 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
+ 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 (G012) NORMAL Y1PT NORMAL NORMAL
+ 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 (G012) NORMAL Y1PT NORMAL NORMAL
+ 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 (G011) X1PT NORMAL NORMAL NORMAL
+ 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 (G010) XOFFSET YOFFSET NORMAL NORMAL
+ 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)
@@ -17494,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
+ 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 (G010) XOFFSET YOFFSET NORMAL NORMAL
- dealloc dynamic grid (G010) XOFFSET YOFFSET NORMAL NORMAL
- allocate dynamic grid (G010) XOFFSET YOFFSET 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 (G010) XOFFSET YOFFSET NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @SUM
+ 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
+ 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)
@@ -17522,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
+ 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 (G010) XOFFSET YOFFSET NORMAL NORMAL
- dealloc dynamic grid (G010) XOFFSET YOFFSET NORMAL NORMAL
- allocate dynamic grid (G010) XOFFSET YOFFSET 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 (G010) XOFFSET YOFFSET NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @VAR
+ 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
+ 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)
@@ -17551,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
+ 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 (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
+ 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 (G011) XOFFSET YOFFSET NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @AVE
+ 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
+ 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 (G013) NORMAL Y2PT NORMAL NORMAL
+ 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 (G013) NORMAL Y2PT NORMAL NORMAL
+ 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 (G012) X2PT NORMAL NORMAL NORMAL
+ 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 (G011) XOFFSET YOFFSET NORMAL NORMAL
+ 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)
@@ -17593,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
+ 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 (G011) XOFFSET YOFFSET NORMAL NORMAL
- dealloc dynamic grid (G011) XOFFSET YOFFSET NORMAL NORMAL
- allocate dynamic grid (G011) XOFFSET YOFFSET 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 (G011) XOFFSET YOFFSET NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @SUM
+ 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
+ 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)
@@ -17622,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
+ 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 (G011) XOFFSET YOFFSET NORMAL NORMAL
- dealloc dynamic grid (G011) XOFFSET YOFFSET NORMAL NORMAL
- allocate dynamic grid (G011) XOFFSET YOFFSET 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 (G011) XOFFSET YOFFSET NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @VAR
+ 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
+ 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)
@@ -17657,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
+ 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 (G010) X2PT Y2PT NORMAL NORMAL
+ 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 (G009) X1PT Y1PT NORMAL NORMAL
+ 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
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @MAX
+ 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 (G009) X1PT NORMAL NORMAL NORMAL
+ 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 (G009) X1PT NORMAL NORMAL NORMAL
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X1PT]
regrid: 1 delta on X at MAX
SUBSET : 7 points (X)
@@ -17696,25 +17684,25 @@ list a1[gx=xoffset at max]
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
+ 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 (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
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @MAX
+ 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 (G010) X2PT NORMAL NORMAL NORMAL
+ 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 (G010) X2PT NORMAL NORMAL NORMAL
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X2PT]
regrid: 1 delta on X at MAX
SUBSET : 7 points (X)
@@ -17727,25 +17715,25 @@ list a2[gx=xoffset at max]
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
+ 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 (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
+ 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 (G012) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A4 --> (G012) @MAX
+ 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 (G011) X4PT NORMAL NORMAL NORMAL
+ 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 (G011) X4PT NORMAL NORMAL NORMAL
+ 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 (G012) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X4PT]
regrid: 1 delta on X at MAX
SUBSET : 7 points (X)
@@ -17758,18 +17746,18 @@ list a4[gx=xoffset at max]
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
+ 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 (G012) XOFFSET NORMAL NORMAL NORMAL
- dealloc dynamic grid (G012) XOFFSET NORMAL NORMAL NORMAL
- allocate dynamic grid (G012) XOFFSET 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 (G012) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A4 --> (G012) @MIN
+ 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 (G012) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X4PT]
regrid: 1 delta on X at MIN
SUBSET : 7 points (X)
@@ -17781,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
+ 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 (G012) XOFFSET NORMAL NORMAL NORMAL
- dealloc dynamic grid (G012) XOFFSET NORMAL NORMAL NORMAL
- allocate dynamic grid (G012) XOFFSET 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 (G012) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A4 --> (G012) @SUM
+ 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 (G012) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X4PT]
regrid: 1 delta on X at SUM
SUBSET : 7 points (X)
@@ -17809,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
+ 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 (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
+ 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 (G013) X5 NORMAL NORMAL NORMAL
- strip regrid on X: A5 --> (G013) @MAX
+ 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 (G012) X5_EDGES NORMAL NORMAL NORMAL
+ 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 (G012) X5_EDGES NORMAL NORMAL NORMAL
+ 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 (G013) X5 NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) X5 NORMAL NORMAL NORMAL
VARIABLE : X[GX=X5_EDGES]
regrid: 1 delta on X at MAX
SUBSET : 5 points (X)
@@ -17837,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
+ 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 (G012) X5_EDGES NORMAL NORMAL NORMAL
+ 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 (G011) X4PT NORMAL NORMAL NORMAL
+ 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 (G010) X2PT NORMAL NORMAL NORMAL
+ 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 (G009) X1PT NORMAL NORMAL NORMAL
+ 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
+ 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 (G010) X5 NORMAL NORMAL NORMAL
- strip regrid on X: A5 --> (G010) @MAX
+ 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 (G009) X5_EDGES NORMAL NORMAL NORMAL
+ 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 (G009) X5_EDGES NORMAL NORMAL NORMAL
+ 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 (G010) X5 NORMAL NORMAL NORMAL
+ 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)
@@ -17876,34 +17864,34 @@ list a5[gx=x5 at max]
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
+ 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 (G010) X5 NORMAL NORMAL NORMAL
- dealloc dynamic grid (G010) X5 NORMAL NORMAL NORMAL
- allocate dynamic grid (G010) X5 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 (G010) X5 NORMAL NORMAL NORMAL
- strip regrid on X: A5 --> (G010) @MAX
+ 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 (G010) X5 NORMAL NORMAL NORMAL
+ 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
+ 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 (G010) X5 NORMAL NORMAL NORMAL
- dealloc dynamic grid (G010) X5 NORMAL NORMAL NORMAL
- allocate dynamic grid (G010) X5 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 (G010) X5 NORMAL NORMAL NORMAL
- strip regrid on X: A5 --> (G010) @MAX
+ 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 (G010) X5 NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) X5 NORMAL NORMAL NORMAL
VARIABLE : X[GX=X5_EDGES, I=3]
regrid: 1 delta on X at MAX
X : 4
@@ -17914,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
+ 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 (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
+ 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 (G010) NORMAL NORMAL NORMAL TDAY
+ 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 (G010) NORMAL NORMAL NORMAL TDAY
+ dealloc dynamic grid (G###) NORMAL NORMAL NORMAL TDAY
VARIABLE : T[GT=TDAY]
SUBSET : 5 points (TIME)
01-JAN-1990 00 / 1: 32493.
@@ -17936,8 +17924,8 @@ 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
@@ -17945,17 +17933,17 @@ show grid
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
+ 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 (G011) NORMAL NORMAL NORMAL THOUR
- dealloc dynamic grid (G011) NORMAL NORMAL NORMAL THOUR
- allocate dynamic grid (G011) NORMAL NORMAL NORMAL THOUR
+ 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 (G011) NORMAL NORMAL NORMAL THOUR
- strip regrid on T: ATIME --> (G011) @MAX
+ 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 (G011) NORMAL NORMAL NORMAL THOUR
+ dealloc dynamic grid (G###) NORMAL NORMAL NORMAL THOUR
VARIABLE : T[GT=TDAY]
regrid: 24 hour on T at MAX
SUBSET : 5 points (TIME)
@@ -17966,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
@@ -19585,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
@@ -25064,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
@@ -25149,7 +25137,7 @@ GO err491_spawn_quotes.jnl
! this should be a valid command
SPAWN "date"
-Tue Apr 18 17:03:12 PDT 2017
+WKD MON DD HH:MM:SS ZZZ YYYY
GO bn_reset
cancel mode verify
@@ -25286,14 +25274,14 @@ 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
+ 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
@@ -25329,10 +25317,10 @@ cancel memory/all
-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
+ 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 (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: 15 dset: 0 I: 1 3 J: -999 -999 K: -999 -999 L: -999 -999
@@ -25358,11 +25346,11 @@ cancel memory/all
-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
+ 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
@@ -25396,13 +25384,13 @@ cancel memory/all
-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
+ 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
@@ -25426,8 +25414,8 @@ 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
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
+ 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
@@ -25435,7 +25423,7 @@ 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
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
@@ -25459,9 +25447,9 @@ cancel memory/all
-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
+ 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 (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 1 J: -999 -999 K: -999 -999 L: -999 -999
@@ -25486,12 +25474,12 @@ cancel memory/all
-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
+ 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 (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
@@ -25521,8 +25509,8 @@ cancel memory/all
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
@@ -25530,7 +25518,7 @@ list/l=1/y=-2:2 SAMPLEI(a,{30,40,50})
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
@@ -25568,7 +25556,7 @@ cancel memory/all
! 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
+ 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
@@ -25577,7 +25565,7 @@ load/l=1/y=0 sst[I=30:50]
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
+ 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
@@ -25601,7 +25589,7 @@ 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
load/l=1/y=0 sst[I=30:39]
- dealloc 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 GSQ1 COADSX COADSY NORMAL TIME
strip limits reconciliation : EX#1
@@ -25610,7 +25598,7 @@ load/l=1/y=0 sst[I=30:39]
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
+ 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
@@ -25638,7 +25626,7 @@ cancel memory/all
-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
+ 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
@@ -25647,7 +25635,7 @@ load/l=1/y=0 sst[I=30:40]
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
+ 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
@@ -25673,7 +25661,7 @@ cancel memory/all
-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
+ 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
@@ -25682,7 +25670,7 @@ load/l=1/y=0 sst[I=30:41]
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
+ 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
@@ -25754,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
@@ -25776,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
@@ -25938,15 +25926,15 @@ 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
+ 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
+ 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
@@ -26540,16 +26528,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
- 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
+ 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 (G006) (AX021) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX021) YAX1_3 ZAX1_2 TAX1_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,9 +26557,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
- allocate dynamic grid (G006) (AX021) YAX1_3 ZAX1_2 TAX1_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 (G006) (AX021) YAX1_3 ZAX1_2 TAX1_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
@@ -26591,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
+ 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 (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
+ 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 (G006) (AX020) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX020) YAX1_3 ZAX1_2 TAX1_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)
@@ -26644,7 +26632,7 @@ 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
load var
- dealloc dynamic grid (G006) (AX020) YAX1_3 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 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
@@ -26652,16 +26640,16 @@ load var
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
+ 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 (G006) (AX020) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX020) YAX1_3 ZAX1_2 TAX1_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
@@ -26678,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
+ 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 (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
+ 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 (G007) (AX020) (AX022) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G007) @XACT
+ 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 (G007) (AX020) (AX022) ZAX1_2 TAX1_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
@@ -26711,19 +26699,19 @@ CANC MEM/ALL
! 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
+ 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 (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
+ 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 (G007) (AX021) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G007) @XACT
+ 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 (G007) (AX021) YAX1_3 ZAX1_2 TAX1_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
@@ -26744,18 +26732,18 @@ cancel axis/modulo XAX1_4
! 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
+ 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 (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
+ 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 (G007) (AX020) (AX022) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G007) @XACT
+ 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 (G007) (AX020) (AX022) ZAX1_2 TAX1_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
@@ -26770,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
+ 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 (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
+ 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 (G007) (AX020) (AX021) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G007) @XACT
+ 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 (G007) (AX020) (AX021) ZAX1_2 TAX1_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
@@ -26799,7 +26787,7 @@ 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
+ 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
@@ -26808,15 +26796,15 @@ set mode ignore; LIST/i=2:4:2 VAR; cancel mode ignore
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
+ 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 (G006) (AX020) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @AVE
+ 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 (G006) (AX020) YAX1_3 ZAX1_2 TAX1_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
@@ -26835,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
+ 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
+ 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
+ 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 (G006) (AX021) YAX1_30 ZAX1_20 TAX1_10
+ 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)
@@ -26867,24 +26855,24 @@ list/j=1/k=1/l=1 a[i=3:5]
21 / 5: 1131.
-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
+ 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 (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
+ 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
+ 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 (G006) (AX021) YAX1_30 ZAX1_20 TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX021) YAX1_30 ZAX1_20 TAX1_10
+ 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 (G007) (AX021) (AX022) ZAX1_20 TAX1_10
+ 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
@@ -26901,7 +26889,7 @@ 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
+ 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
@@ -26929,17 +26917,17 @@ cancel mem/all
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
+ 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
+ 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 (G007) (AX020) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -26955,9 +26943,9 @@ LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
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
+ 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 (G007) (AX020) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -26971,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
+ 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 (G006) (AX021) YAX1_30 ZAX1_20 TAX1_10
+ 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
+ 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
+ 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 (G006) (AX020) YUNEVEN ZAX1_6 TAX1_4
+ dealloc dynamic grid (G###) (AX###) YUNEVEN ZAX1_6 TAX1_4
VARIABLE : UNEVENVAR[I=2:4:2]
FILENAME : bn_strides.cdf
SUBSET : 2 points (X)
@@ -27018,7 +27006,7 @@ 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
load/k=1/l=1 UNEVENVAR
- dealloc dynamic grid (G006) (AX020) YUNEVEN 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 GPC4 XUNEVEN YUNEVEN ZAX1_6 TAX1_4
strip limits reconciliation : EX#1
@@ -27027,17 +27015,17 @@ load/k=1/l=1 UNEVENVAR
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
+ 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
+ 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 (G006) (AX020) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27050,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
+ 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 (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
+ 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
+ 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 (G007) (AX020) (AX022) ZAX1_6 TAX1_4
+ 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
@@ -27084,19 +27072,19 @@ CANC MEM/ALL
! 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
+ 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 (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
+ 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 (G007) (AX021) YUNEVEN ZAX1_6 TAX1_4
- strip regrid on X: UNEVENVAR --> (G007) @XACT
+ 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 (G007) (AX021) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27114,19 +27102,19 @@ cancel axis/modulo XUNEVEN
! 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
+ 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 (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
+ 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
+ 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 (G007) (AX020) (AX022) ZAX1_6 TAX1_4
+ 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
@@ -27138,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
+ 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 (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
+ 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
+ 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 (G007) (AX021) (AX023) ZAX1_6 TAX1_4
+ 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
@@ -27166,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
+ 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 (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
+ 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
+ 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 (G007) (AX021) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27193,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
+ 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 (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
+ 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
+ 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 (G007) (AX023) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27223,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
+ 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 (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
+ 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
+ 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 (G007) (AX021) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27258,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
+ 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 (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
+ 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 (G007) (AX023) YAX1_30 ZAX1_20 TAX1_10
- strip regrid on X: BIGVAR --> (G007) @XACT
+ 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 (G007) (AX023) YAX1_30 ZAX1_20 TAX1_10
+ dealloc dynamic grid (G###) (AX###) YAX1_30 ZAX1_20 TAX1_10
VARIABLE : VAR
regrid: 2 delta on X
FILENAME : bn_strides.cdf
@@ -27287,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
+ 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 (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
+ 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 (G007) XAX1_40 (AX021) ZAX1_20 TAX1_10
- strip regrid on Y: BIGVAR --> (G007) @XACT
+ 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 (G007) XAX1_40 (AX021) ZAX1_20 TAX1_10
+ dealloc dynamic grid (G###) XAX1_40 (AX###) ZAX1_20 TAX1_10
VARIABLE : VAR
regrid: 2 delta on Y
FILENAME : bn_strides.cdf
@@ -27316,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
+ 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 (G007) (AX023) (AX022) (AX024) TAX1_10
- dealloc dynamic grid (G007) (AX023) (AX022) (AX024) TAX1_10
- allocate dynamic grid (G007) (AX023) (AX022) (AX024) TAX1_10
+ 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 (G007) (AX023) (AX022) (AX024) TAX1_10
- strip regrid on X: BIGVAR --> (G007) @XACT
+ 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 (G007) (AX023) (AX022) (AX024) TAX1_10
+ 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
@@ -27345,9 +27333,9 @@ 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
+ 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 (G006) (AX020) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27355,16 +27343,16 @@ canc data/all
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
+ 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 (G006) (AX024) YAX1_30 XAX1_40 TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX024) YAX1_30 XAX1_40 TAX1_10
+ dealloc dynamic grid (G###) (AX###) YAX1_30 XAX1_40 TAX1_10
VARIABLE : VAR
regrid: 2 delta on X
FILENAME : bn_strides.cdf
@@ -27381,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
+ 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 (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
+ 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 (G006) ZAX1_20 (AX020) XAX1_40 TAX1_10
- strip regrid on Y: BIGVAR --> (G006) @XACT
+ 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 (G006) ZAX1_20 (AX020) XAX1_40 TAX1_10
+ dealloc dynamic grid (G###) ZAX1_20 (AX###) XAX1_40 TAX1_10
VARIABLE : VAR
regrid: 2 delta on Y
FILENAME : bn_strides.cdf
@@ -27410,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
+ 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 (G006) (AX024) (AX022) (AX023) TAX1_10
- dealloc dynamic grid (G006) (AX024) (AX022) (AX023) TAX1_10
- allocate dynamic grid (G006) (AX024) (AX022) (AX023) TAX1_10
+ 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 (G006) (AX024) (AX022) (AX023) TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) (AX023) TAX1_10
+ 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
@@ -27439,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
+ 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
+ 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 (G006) (AX022) XAX1_40 YAX1_30 TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX022) XAX1_40 YAX1_30 TAX1_10
+ dealloc dynamic grid (G###) (AX###) XAX1_40 YAX1_30 TAX1_10
VARIABLE : VAR
regrid: 2 delta on X
FILENAME : bn_strides.cdf
@@ -27472,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
+ 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 (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
+ 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 (G006) ZAX1_20 (AX023) YAX1_30 TAX1_10
- strip regrid on Y: BIGVAR --> (G006) @XACT
+ 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 (G006) ZAX1_20 (AX023) YAX1_30 TAX1_10
+ dealloc dynamic grid (G###) ZAX1_20 (AX###) YAX1_30 TAX1_10
VARIABLE : VAR
regrid: 2 delta on Y
FILENAME : bn_strides.cdf
@@ -27501,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
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_10
- dealloc dynamic grid (G006) (AX022) (AX024) (AX020) TAX1_10
- allocate dynamic grid (G006) (AX022) (AX024) (AX020) TAX1_10
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_10
+ 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
@@ -27530,7 +27518,7 @@ 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
+ 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
@@ -27550,16 +27538,16 @@ show grid xytvar
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
+ 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 (G006) (AX024) YLAT NORMAL TTIME
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX024) YLAT NORMAL TTIME
+ dealloc dynamic grid (G###) (AX###) YLAT NORMAL TTIME
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on X
FILENAME : bn_strides.cdf
@@ -27575,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
+ 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 (G006) XLON (AX020) NORMAL TTIME
- dealloc dynamic grid (G006) XLON (AX020) NORMAL TTIME
- allocate dynamic grid (G006) XLON (AX020) NORMAL TTIME
+ 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 (G006) XLON (AX020) NORMAL TTIME
- strip regrid on Y: XYTVAR --> (G006) @XACT
+ 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 (G006) XLON (AX020) NORMAL TTIME
+ dealloc dynamic grid (G###) XLON (AX###) NORMAL TTIME
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -27603,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
+ 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 (G006) (AX024) (AX022) NORMAL (AX023)
- dealloc dynamic grid (G006) (AX024) (AX022) NORMAL (AX023)
- allocate dynamic grid (G006) (AX024) (AX022) NORMAL (AX023)
+ 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 (G006) (AX024) (AX022) NORMAL (AX023)
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) NORMAL (AX023)
+ 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
@@ -27631,7 +27619,7 @@ 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)
+ 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
@@ -27648,16 +27636,16 @@ show grid xytvar
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
+ 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 (G006) (AX022) XLON NORMAL TTIME
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX022) XLON NORMAL TTIME
+ dealloc dynamic grid (G###) (AX###) XLON NORMAL TTIME
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on X
FILENAME : bn_strides.cdf
@@ -27673,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
+ 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 (G006) YLAT (AX023) NORMAL TTIME
- dealloc dynamic grid (G006) YLAT (AX023) NORMAL TTIME
- allocate dynamic grid (G006) YLAT (AX023) NORMAL TTIME
+ 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 (G006) YLAT (AX023) NORMAL TTIME
- strip regrid on Y: XYTVAR --> (G006) @XACT
+ 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 (G006) YLAT (AX023) NORMAL TTIME
+ dealloc dynamic grid (G###) YLAT (AX###) NORMAL TTIME
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -27701,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
+ 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 (G006) (AX022) (AX024) NORMAL (AX020)
- dealloc dynamic grid (G006) (AX022) (AX024) NORMAL (AX020)
- allocate dynamic grid (G006) (AX022) (AX024) NORMAL (AX020)
+ 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 (G006) (AX022) (AX024) NORMAL (AX020)
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) NORMAL (AX020)
+ 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
@@ -27729,7 +27717,7 @@ 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)
+ 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
@@ -27746,16 +27734,16 @@ show grid xytvar
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
+ 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 (G006) (AX024) YLAT NORMAL XLON
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX024) YLAT NORMAL XLON
+ dealloc dynamic grid (G###) (AX###) YLAT NORMAL XLON
VARIABLE : L*1000 + J*10 + I
regrid: 2 day on X
FILENAME : bn_strides.cdf
@@ -27771,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
+ 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 (G006) TTIME (AX020) NORMAL XLON
- dealloc dynamic grid (G006) TTIME (AX020) NORMAL XLON
- allocate dynamic grid (G006) TTIME (AX020) NORMAL XLON
+ 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 (G006) TTIME (AX020) NORMAL XLON
- strip regrid on Y: XYTVAR --> (G006) @XACT
+ 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 (G006) TTIME (AX020) NORMAL XLON
+ dealloc dynamic grid (G###) TTIME (AX###) NORMAL XLON
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -27799,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
+ 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 (G006) (AX024) (AX022) NORMAL (AX023)
- dealloc dynamic grid (G006) (AX024) (AX022) NORMAL (AX023)
- allocate dynamic grid (G006) (AX024) (AX022) NORMAL (AX023)
+ 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 (G006) (AX024) (AX022) NORMAL (AX023)
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) NORMAL (AX023)
+ 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
@@ -27827,7 +27815,7 @@ 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)
+ 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
@@ -27844,16 +27832,16 @@ show grid xytvar
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
+ 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 (G006) (AX022) XLON NORMAL YLAT
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX022) XLON NORMAL YLAT
+ dealloc dynamic grid (G###) (AX###) XLON NORMAL YLAT
VARIABLE : L*1000 + J*10 + I
regrid: 2 day on X
FILENAME : bn_strides.cdf
@@ -27869,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
+ 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 (G006) TTIME (AX023) NORMAL YLAT
- dealloc dynamic grid (G006) TTIME (AX023) NORMAL YLAT
- allocate dynamic grid (G006) TTIME (AX023) NORMAL YLAT
+ 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 (G006) TTIME (AX023) NORMAL YLAT
- strip regrid on Y: XYTVAR --> (G006) @XACT
+ 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 (G006) TTIME (AX023) NORMAL YLAT
+ dealloc dynamic grid (G###) TTIME (AX###) NORMAL YLAT
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -27897,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
+ 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 (G006) (AX022) (AX024) NORMAL (AX020)
- dealloc dynamic grid (G006) (AX022) (AX024) NORMAL (AX020)
- allocate dynamic grid (G006) (AX022) (AX024) NORMAL (AX020)
+ 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 (G006) (AX022) (AX024) NORMAL (AX020)
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) NORMAL (AX020)
+ 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
@@ -27925,7 +27913,7 @@ 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)
+ 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
@@ -27943,17 +27931,17 @@ show grid xytvar
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
+ 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
+ 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 (G006) (AX024) XLON YLAT NORMAL
+ dealloc dynamic grid (G###) (AX###) XLON YLAT NORMAL
VARIABLE : L*1000 + J*10 + I
regrid: 2 day on X
FILENAME : bn_strides.cdf
@@ -27969,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
+ 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 (G006) TTIME (AX020) YLAT NORMAL
- dealloc dynamic grid (G006) TTIME (AX020) YLAT NORMAL
- allocate dynamic grid (G006) TTIME (AX020) YLAT NORMAL
+ 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
+ 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 (G006) TTIME (AX020) YLAT NORMAL
+ dealloc dynamic grid (G###) TTIME (AX###) YLAT NORMAL
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -27998,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
+ 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 (G006) (AX024) (AX022) (AX023) NORMAL
- dealloc dynamic grid (G006) (AX024) (AX022) (AX023) NORMAL
- allocate dynamic grid (G006) (AX024) (AX022) (AX023) NORMAL
+ 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 (G006) (AX024) (AX022) (AX023) NORMAL
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) (AX023) NORMAL
+ 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
@@ -28026,7 +28014,7 @@ 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
+ 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
@@ -28051,16 +28039,16 @@ cancel region; set region/l=1
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
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_6
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_6
+ 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
@@ -28075,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
+ 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
+ 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 (G006) (AX024) (AX022) (AX023) TAX1_6
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) (AX023) TAX1_6
+ 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
@@ -28109,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
+ 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
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_6
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_6
+ 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
@@ -28143,7 +28131,7 @@ 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
+ 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
@@ -28151,16 +28139,16 @@ canc data/all
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
+ 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 (G006) (AX024) (AX022) (AX023) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) (AX023) ZAX1_7
+ 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
@@ -28175,7 +28163,7 @@ 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
+ 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
@@ -28183,19 +28171,19 @@ canc data/all
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
+ 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 (G006) (AX022) (AX024) (AX020) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) (AX020) ZAX1_7
+ 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
@@ -28210,7 +28198,7 @@ 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
+ 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
@@ -28218,16 +28206,16 @@ canc data/all
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
+ 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 (G006) (AX024) (AX022) (AX023) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) (AX023) ZAX1_7
+ 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
@@ -28242,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
+ 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
+ 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 (G006) (AX022) (AX024) (AX020) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) (AX020) ZAX1_7
+ 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
@@ -28276,7 +28264,7 @@ 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
+ 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
@@ -28566,15 +28554,15 @@ 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
+ 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 (G002) XTROP COADSY NORMAL TIME
- strip regrid on X: SST --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SEA SURFACE TEMPERATURE
regrid: 1 deg on X
@@ -28593,7 +28581,7 @@ stat $1[gx=xtrop]
Mean value: 17.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
dealloc dynamic grid ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT
@@ -28606,15 +28594,15 @@ stat $1[gx=xtrop]
-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
+ 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 (G002) XTROP COADSY NORMAL TIME
- strip regrid on X: SST --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SEA SURFACE TEMPERATURE
regrid: 1 deg on X
@@ -28637,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
+ 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 (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
+ 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 (G002) XTROP COADSY NORMAL TIME
- strip regrid on X: SST --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SST[GX=XTROP]
LONGITUDE: 129.5E to 79.5W
@@ -28669,7 +28657,7 @@ stat $1x
Mean value: 17.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
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
@@ -28681,7 +28669,7 @@ stat $1x
-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
+ 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
@@ -28704,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
+ 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 (G002) XTROP COADSY NORMAL TIME
- dealloc dynamic grid (G002) XTROP COADSY NORMAL TIME
- allocate dynamic grid (G002) XTROP COADSY NORMAL TIME
+ 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 (G002) XTROP COADSY NORMAL TIME
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SEA SURFACE TEMPERATURE
regrid: 1 deg on X
@@ -28731,7 +28719,7 @@ stat $1[g=gx]
Mean value: 17.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
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
@@ -28743,13 +28731,13 @@ stat $1[g=gx]
-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
+ 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 (G002) XTROP COADSY NORMAL TIME
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SEA SURFACE TEMPERATURE
regrid: 1 deg on X
@@ -28771,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
+ 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 (G003) XTROP YTROP NORMAL TIME
- dealloc dynamic grid (G003) XTROP YTROP NORMAL TIME
- allocate dynamic grid (G003) XTROP YTROP NORMAL TIME
+ 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 (G003) XTROP YTROP NORMAL TIME
- strip regrid on X: SST --> (G003) @LIN
+ 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
+ dealloc dynamic grid (G###) XTROP YTROP NORMAL TIME
SEA SURFACE TEMPERATURE
regrid: 1 deg on X, 1 deg on Y
@@ -28801,7 +28789,7 @@ 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
+ 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
@@ -28814,16 +28802,16 @@ stat $1[gx=xtrop,gy=ytrop]
-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
+ 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 (G003) XTROP YTROP NORMAL TIME
- strip regrid on X: SST --> (G003) @LIN
+ 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
+ dealloc dynamic grid (G###) XTROP YTROP NORMAL TIME
SEA SURFACE TEMPERATURE
regrid: 1 deg on X, 1 deg on Y
@@ -28844,7 +28832,7 @@ 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
+ 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
@@ -28980,7 +28968,7 @@ let $1xyt = $1[g=gxyt]
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
+ 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
@@ -29357,15 +29345,15 @@ 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
+ 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 (G002) XTROP COADSY NORMAL TIME
- strip regrid on X: SST5 --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SST+5
regrid: 1 deg on X
@@ -29384,7 +29372,7 @@ stat $1[gx=xtrop]
Mean value: 22.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
dealloc dynamic grid ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT
@@ -29397,15 +29385,15 @@ stat $1[gx=xtrop]
-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
+ 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 (G002) XTROP COADSY NORMAL TIME
- strip regrid on X: SST5 --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SST+5
regrid: 1 deg on X
@@ -29428,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
+ 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 (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
+ 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 (G002) XTROP COADSY NORMAL TIME
- strip regrid on X: SST5 --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SST5[GX=XTROP]
LONGITUDE: 129.5E to 79.5W
@@ -29460,7 +29448,7 @@ stat $1x
Mean value: 22.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
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
@@ -29472,7 +29460,7 @@ stat $1x
-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
+ 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
@@ -29495,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
+ 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 (G002) XTROP COADSY NORMAL TIME
- dealloc dynamic grid (G002) XTROP COADSY NORMAL TIME
- allocate dynamic grid (G002) XTROP COADSY NORMAL TIME
+ 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 (G002) XTROP COADSY NORMAL TIME
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SST+5
regrid: 1 deg on X
@@ -29522,7 +29510,7 @@ stat $1[g=gx]
Mean value: 22.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
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
@@ -29534,13 +29522,13 @@ stat $1[g=gx]
-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
+ 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 (G002) XTROP COADSY NORMAL TIME
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SST+5
regrid: 1 deg on X
@@ -29562,7 +29550,7 @@ 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
+ 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
@@ -29744,7 +29732,7 @@ let $1xyt = $1[g=gxyt]
-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
+ 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
@@ -30250,7 +30238,7 @@ say `a,return=isize`
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
+ 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
@@ -30328,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
@@ -30357,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
@@ -30384,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
@@ -30437,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
@@ -30452,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
@@ -30465,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
@@ -30483,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 201 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
@@ -30613,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 41 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 41 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 41 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 41 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 41 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 41 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 41 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 41 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
@@ -30694,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
@@ -31515,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
@@ -32146,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
@@ -33964,7 +33952,7 @@ go bn_unique_str2int
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)
@@ -34108,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
@@ -34129,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
@@ -34153,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
@@ -34178,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
@@ -34194,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
@@ -35329,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
@@ -35515,14 +35516,14 @@ 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
+ 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 (G002) (AX002) NORMAL NORMAL NORMAL
- strip regrid on X: A --> (G002) @XACT
+ 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
@@ -35532,24 +35533,24 @@ list/nohead b ! using rdstride
-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
+ 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
+ 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 (G003) (AX003) NORMAL NORMAL NORMAL
- dealloc dynamic grid (G003) (AX003) NORMAL NORMAL NORMAL
- allocate dynamic grid (G003) (AX003) NORMAL NORMAL NORMAL
+ 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 (G003) (AX003) NORMAL NORMAL NORMAL
- strip regrid on X: A --> (G003) @XACT
+ 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 (G003) (AX003) NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) (AX###) NORMAL NORMAL NORMAL
1 / 1: 1.00
4 / 2: 4.00
7 / 3: 7.00
@@ -35560,10 +35561,10 @@ 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
+ 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 (G002) (AX002) 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
found B M: 2 dset: 1 I: 1 3 J: -999 -999 K: -999 -999 L: -999 -999
18 / 1: 18.00
@@ -35766,15 +35767,15 @@ 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
+ 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 (G002) (AX002) NORMAL NORMAL NORMAL
- dealloc dynamic grid (G002) (AX002) NORMAL NORMAL NORMAL
- allocate dynamic grid (G002) (AX002) NORMAL NORMAL NORMAL
+ 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 (G002) (AX002) NORMAL NORMAL NORMAL
- strip regrid on X: STR --> (G002) @XACT
+ 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
@@ -35784,24 +35785,24 @@ list/nohead str[i=18:23:2] ! using rdstride
-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
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
+ 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 (G003) (AX003) NORMAL NORMAL NORMAL
- dealloc dynamic grid (G003) (AX003) NORMAL NORMAL NORMAL
- allocate dynamic grid (G003) (AX003) NORMAL NORMAL NORMAL
+ 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 (G003) (AX003) NORMAL NORMAL NORMAL
- strip regrid on X: STR --> (G003) @XACT
+ 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 (G003) (AX003) NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) (AX###) NORMAL NORMAL NORMAL
1 / 1:"a"
4 / 2:"d"
7 / 3:"g"
@@ -36692,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:........
@@ -36906,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,\,"
@@ -37480,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,\,"
@@ -38402,19 +38401,19 @@ show mem/free
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
+ 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 (G003) (AX003) YAX1_100 NORMAL NORMAL
- strip regrid on X: A --> (G003) @XACT
+ 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 (G003) (AX003) YAX1_100 NORMAL NORMAL
+ 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
@@ -38523,10 +38522,10 @@ 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 10 pts
+ (AX###) X 10 r 1 91 10 pts
YAX1_100 Y 100 r 1 100 full
normal Z
normal T
@@ -38534,15 +38533,15 @@ show grid
! 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
+ 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 (G003) (AX003) YAX1_100 NORMAL NORMAL
+ dealloc dynamic grid (G###) (AX###) YAX1_100 NORMAL NORMAL
setting up 2D plot
-DELETE A M: 21 dset: 1 I: 1 10 J: 1 100 K: -999 -999 L: -999 -999
PPL plot 26 complete
@@ -38856,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
@@ -39175,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
@@ -39981,37 +39990,37 @@ 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
+ 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 (G004) (AX002) NORMAL NORMAL TAX_SUBSPA
- strip regrid on X: V2D_REG --> (G004) @XACT
+ 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 (G004) (AX002) NORMAL NORMAL TAX_SUBSPA
+ 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
+ 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 (G004) XAX_SUBSPANORMAL NORMAL (AX002)
- dealloc dynamic grid (G004) XAX_SUBSPANORMAL NORMAL (AX002)
- allocate dynamic grid (G004) XAX_SUBSPANORMAL NORMAL (AX002)
+ 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 (G004) XAX_SUBSPANORMAL NORMAL (AX002)
- strip regrid on T: V2D_REG --> (G004) @XACT
+ 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 (G004) XAX_SUBSPANORMAL NORMAL (AX002)
+ 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
@@ -40512,37 +40521,37 @@ 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
+ 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 (G006) (AX001) NORMAL NORMAL TIRREG_SUB
- strip regrid on X: V2D_IRR --> (G006) @XACT
+ 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 (G006) (AX001) NORMAL NORMAL TIRREG_SUB
+ 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
+ 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 (G006) XIRREG_SUBNORMAL NORMAL (AX001)
- dealloc dynamic grid (G006) XIRREG_SUBNORMAL NORMAL (AX001)
- allocate dynamic grid (G006) XIRREG_SUBNORMAL NORMAL (AX001)
+ 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 (G006) XIRREG_SUBNORMAL NORMAL (AX001)
- strip regrid on T: V2D_IRR --> (G006) @XACT
+ 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 (G006) XIRREG_SUBNORMAL NORMAL (AX001)
+ 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
@@ -41528,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
@@ -42705,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>
@@ -42760,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>
@@ -42782,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>
@@ -44087,52 +44096,52 @@ 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)
+ 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 (G005) (AX009) (AX010) NORMAL (AX011)
- strip regrid on X: TAUX --> (G005) @XACT
+ 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 (G005) (AX009) (AX010) NORMAL (AX011)
+ 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
def grid/like=taux agrid
- dealloc dynamic grid (G005) (AX009) (AX010) NORMAL (AX011)
+ 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)
+ 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 (G005) (AX010) (AX009) NORMAL (AX008)
- strip regrid on X: TAUX --> (G005) @XACT
+ 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 (G005) (AX010) (AX009) NORMAL (AX008)
+ 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
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
@@ -44175,16 +44184,16 @@ load var
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
+ 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 (G006) (AX001) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX001) YAX1_3 ZAX1_2 TAX1_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
@@ -44199,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
+ 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 (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
+ 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 (G006) (AX007) (AX002) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX007) (AX002) ZAX1_2 TAX1_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
@@ -44232,19 +44241,19 @@ CANC MEM/ALL
! 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
+ 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 (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
+ 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 (G006) (AX007) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX007) YAX1_3 ZAX1_2 TAX1_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
@@ -44265,18 +44274,18 @@ cancel axis/modulo XAX1_4
! 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
+ 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 (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
+ 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 (G006) (AX002) (AX001) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX002) (AX001) ZAX1_2 TAX1_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
@@ -44291,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
+ 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 (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
+ 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 (G006) (AX002) (AX007) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX002) (AX007) ZAX1_2 TAX1_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
@@ -44320,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
+ 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
+ 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
+ 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 (G006) (AX002) YAX1_30 ZAX1_20 TAX1_10
+ 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)
@@ -44351,24 +44360,24 @@ list/j=1/k=1/l=1 a[i=3:5]
21 / 5: 1131.
-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
+ 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 (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
+ 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
+ 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 (G006) (AX002) YAX1_30 ZAX1_20 TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX002) YAX1_30 ZAX1_20 TAX1_10
+ 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 (G007) (AX002) (AX001) ZAX1_20 TAX1_10
+ 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
@@ -44393,19 +44402,19 @@ cancel mem/all
! 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
+ 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 (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
+ 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
+ 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 (G007) (AX007) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -44423,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
+ 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 (G007) (AX001) (AX023) (AX024) TAX1_10
- dealloc dynamic grid (G007) (AX001) (AX023) (AX024) TAX1_10
- allocate dynamic grid (G007) (AX001) (AX023) (AX024) TAX1_10
+ 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 (G007) (AX001) (AX023) (AX024) TAX1_10
- strip regrid on X: BIGVAR --> (G007) @XACT
+ 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 (G007) (AX001) (AX023) (AX024) TAX1_10
+ 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
@@ -44452,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
+ 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 (G006) (AX002) YAX1_30 ZAX1_20 TAX1_10
+ 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
+ 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 (G006) (AX024) (AX023) (AX001) TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX023) (AX001) TAX1_10
+ 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
@@ -44486,7 +44495,7 @@ 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
+ 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
@@ -44497,16 +44506,16 @@ 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)
+ 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 (G006) (AX023) (AX024) NORMAL (AX002)
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX023) (AX024) NORMAL (AX002)
+ 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
@@ -44524,7 +44533,7 @@ 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)
+ 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
@@ -44537,16 +44546,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
- allocate dynamic grid (G006) (AX024) (AX023) NORMAL (AX001)
- dealloc dynamic grid (G006) (AX024) (AX023) NORMAL (AX001)
- allocate dynamic grid (G006) (AX024) (AX023) NORMAL (AX001)
+ 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 (G006) (AX024) (AX023) NORMAL (AX001)
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX023) NORMAL (AX001)
+ 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
@@ -44562,7 +44571,7 @@ 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)
+ 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
@@ -44581,16 +44590,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
- allocate dynamic grid (G006) (AX023) (AX024) (AX002) NORMAL
- dealloc dynamic grid (G006) (AX023) (AX024) (AX002) NORMAL
- allocate dynamic grid (G006) (AX023) (AX024) (AX002) NORMAL
+ 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 (G006) (AX023) (AX024) (AX002) NORMAL
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX023) (AX024) (AX002) NORMAL
+ 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
@@ -44606,7 +44615,7 @@ 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
+ 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
@@ -44617,16 +44626,16 @@ cancel region; set region/l=1
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
+ 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 (G006) (AX024) (AX023) (AX001) TAX1_6
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX023) (AX001) TAX1_6
+ 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
@@ -44641,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
+ 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
+ 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 (G006) (AX023) (AX024) (AX002) TAX1_6
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX023) (AX024) (AX002) TAX1_6
+ 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
@@ -44675,7 +44684,7 @@ 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
+ 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
@@ -44683,16 +44692,16 @@ canc data/all
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
+ 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 (G006) (AX024) (AX023) (AX001) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX023) (AX001) ZAX1_7
+ 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
@@ -44707,7 +44716,7 @@ 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
+ 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
@@ -44715,19 +44724,19 @@ canc data/all
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
+ 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 (G006) (AX023) (AX024) (AX002) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX023) (AX024) (AX002) ZAX1_7
+ 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
@@ -44742,7 +44751,7 @@ 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
+ 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
@@ -44750,16 +44759,16 @@ canc data/all
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
+ 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 (G006) (AX024) (AX023) (AX001) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX023) (AX001) ZAX1_7
+ 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
@@ -44774,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
+ 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
+ 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 (G006) (AX023) (AX024) (AX002) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX023) (AX024) (AX002) ZAX1_7
+ 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
@@ -44808,7 +44817,7 @@ 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
+ 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
@@ -47387,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
@@ -47406,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
@@ -47824,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
@@ -48470,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
@@ -48488,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
@@ -48598,7 +48607,7 @@ sho command
/DEGMINSE/HALFSPAC
SPAWN
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
@@ -48640,7 +48649,7 @@ sho sym win_title
WIN_TITLE = "_"
set win/title="($session_date):($session_time)"
- !-> set win/title="18-Apr-17:17:03"
+ !-> 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
@@ -48649,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 = 18-Apr-17
+ !-> DEFINE SYMBOL the_date = DD-MON-YY
DEFINE SYMBOL the_time = ($session_time"SESSION_TIME")
- !-> DEFINE SYMBOL the_time = 17:03
+ !-> DEFINE SYMBOL the_time = HH:MM
SET WIN/TITLE="($the_date):($the_time)"
- !-> SET WIN/TITLE="18-Apr-17:17:03"
+ !-> SET WIN/TITLE="DD-MON-YY HH:MM"
can win/all
set win/new
sh sym win_title
-WIN_TITLE = "18-Apr-17:17:03"
+WIN_TITLE = "DD-MON-YY HH:MM"
*** Running ferret script: bn_last_error.jnl
! bn_last_error.jnl
! acm Nov 2005
@@ -48934,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]
@@ -48946,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
@@ -48976,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
@@ -49002,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.
@@ -49033,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
@@ -50570,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
@@ -51800,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)
@@ -53094,7 +53103,7 @@ sho dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 22 T FERRET V7.1 18-Apr-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
@@ -53143,7 +53152,7 @@ sho dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 22 T FERRET V7.1 18-Apr-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
@@ -53409,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
@@ -53468,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
@@ -53519,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
@@ -53537,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
@@ -53563,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
@@ -53658,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
@@ -53761,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
@@ -53877,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
@@ -54576,7 +54585,7 @@ DNCASE(STR)
STRCAT(STR1,STR2)
SUBSTRING(STR,OFFSET,LENGTH)
STRFLOAT(STR)
-INNERPRODUCT(VAR1,VAR2,IDIM)
+DOT(VAR1,VAR2,IDIM)
TRANSPOSE(VAR,DIM1,DIM2)
Externally defined functions available to Ferret:
@@ -54602,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)
@@ -54612,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)
@@ -54629,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)
@@ -54641,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)
@@ -54685,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)
@@ -54697,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)
@@ -54712,6 +54755,9 @@ 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)
@@ -54730,6 +54776,7 @@ 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)
@@ -54744,40 +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)
-INNERPRODUCT_X(VAR1,VAR2)
-INNERPRODUCT_Y(VAR1,VAR2)
-INNERPRODUCT_Z(VAR1,VAR2)
-INNERPRODUCT_T(VAR1,VAR2)
-INNERPRODUCT_E(VAR1,VAR2)
-INNERPRODUCT_F(VAR1,VAR2)
ADD_9(A,B,C,D,E,F,G,H,I)
APPENDE(ENS,VAR)
AVET(A)
@@ -55696,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>
@@ -56390,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
@@ -56642,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
@@ -58940,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 = "18-Apr-17"
-CURRENT_TIME = "17:03:41"
+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
@@ -58952,8 +58965,8 @@ CURRENT_TIME = "17:03:41"
use gt4d011
shade/k=1 temp[L=@ave]
sh sym DELTA_CPU, CLOCK_SECS
-DELTA_CPU = "0.041993"
-CLOCK_SECS = "0.051"
+DELTA_CPU = "######"
+CLOCK_SECS = "######"
repeat/k=1:10 shade temp[L=@ave]
!-> REPEAT: K=1
@@ -58967,60 +58980,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.143978
+ !-> DEFINE VARIABLE ten_plots = 0.######
sh sym DELTA_CPU, CLOCK_SECS
-DELTA_CPU = "0"
-CLOCK_SECS = "0.194"
+DELTA_CPU = "######"
+CLOCK_SECS = "######"
let sumclock = 0
let sumcpu = 0
sh sym CLOCK_SECS
-CLOCK_SECS = "0.195"
+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.015998
- !-> DEFINE VARIABLE sumcpu =0.015998
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=2
- !-> DEFINE VARIABLE dt = 0.015998
- !-> DEFINE VARIABLE sumcpu =0.031996
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=3
- !-> DEFINE VARIABLE dt = 0.016997
- !-> DEFINE VARIABLE sumcpu =0.048993
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=4
- !-> DEFINE VARIABLE dt = 0.015998
- !-> DEFINE VARIABLE sumcpu =0.064991
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=5
- !-> DEFINE VARIABLE dt = 0.015997
- !-> DEFINE VARIABLE sumcpu =0.080988
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=6
- !-> DEFINE VARIABLE dt = 0.015998
- !-> DEFINE VARIABLE sumcpu =0.096986
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=7
- !-> DEFINE VARIABLE dt = 0.015997
- !-> DEFINE VARIABLE sumcpu =0.112983
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=8
- !-> DEFINE VARIABLE dt = 0.015998
- !-> DEFINE VARIABLE sumcpu =0.128981
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=9
- !-> DEFINE VARIABLE dt = 0.014998
- !-> DEFINE VARIABLE sumcpu =0.143979
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=10
- !-> DEFINE VARIABLE dt = 0.015997
- !-> DEFINE VARIABLE sumcpu =0.159976
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
say `sumcpu`
- !-> MESSAGE/CONTINUE 0.159976
-0.159976
+ !-> MESSAGE/CONTINUE 0.######
+0.######
sh sym CLOCK_SECS
-CLOCK_SECS = "0.355"
+CLOCK_SECS = "######"
SH SYM session_date, current_date, session_time, current_time
-SESSION_DATE = "18-Apr-17"
-SESSION_TIME = "17:03"
-CURRENT_DATE = "18-Apr-17"
-CURRENT_TIME = "17:03:42"
+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
@@ -59669,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)
@@ -59698,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
@@ -60134,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.
@@ -60566,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
@@ -60595,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
@@ -60622,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
@@ -60675,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
@@ -60690,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
@@ -60703,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
@@ -60721,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 201 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
@@ -60758,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
@@ -61040,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.
@@ -61634,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
@@ -61655,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
@@ -61722,7 +61735,7 @@ 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
@@ -61927,7 +61940,7 @@ 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
@@ -61946,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
@@ -61963,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
@@ -62811,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-696.1.1.el6.x86_64 64-bit - 04/18/17"
- 4 / 4:" ! 18-Apr-17 17:03 "
+ 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"
@@ -62901,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
@@ -65066,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 3 pts
+ (AX###) X 3 r 0 2 3 pts
normal Y
normal Z
normal T
@@ -65080,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 3 pts
+ (AX###) X 3 r 1 3 3 pts
normal Y
normal Z
normal T
@@ -65305,130 +65318,130 @@ can mode ver
BAD FLAG : -1.E+34
SUBSET : 5 points (X)
X : 0.5 to 5.5
-randu2_randn2 0.984
-randu2_randn2 0.760
-randu2_randn2 0.059
-randu2_randn2 0.800
-randu2_randn2 0.018
+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.095
-randu2_randn2 0.166
-randu2_randn2 0.374
-randu2_randn2 0.197
-randu2_randn2 0.116
+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.430
-randu2_randn2 0.122
-randu2_randn2 0.969
-randu2_randn2 0.258
-randu2_randn2 0.197
-randu2_randn2 0.467
+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.404
-randu2_randn2 0.358
-randu2_randn2 0.446
-randu2_randn2 0.532
-randu2_randn2 0.141
-randu2_randn2 0.323
+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 -1.441
-randu2_randn2 -0.355
-randu2_randn2 -0.879
-randu2_randn2 0.105
-randu2_randn2 1.220
+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.813
-randu2_randn2 -0.893
-randu2_randn2 0.103
-randu2_randn2 -0.424
-randu2_randn2 -0.914
+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 1.442
-randu2_randn2 -0.797
-randu2_randn2 -1.054
-randu2_randn2 -0.922
-randu2_randn2 -0.741
-randu2_randn2 0.201
+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 1.390
-randu2_randn2 0.539
-randu2_randn2 0.251
-randu2_randn2 1.731
-randu2_randn2 -1.350
-randu2_randn2 2.628
+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.898 1.898 0.781
-randu2_randn2 1.536 1.536 0.781
-randu2_randn2 0.781 0.781 0.487
-randu2_randn2 0.487 0.487 0.487
-randu2_randn2 0.009 0.009 0.487
-randu2_randn2 -0.627 0.009 0.487
-randu2_randn2 0.089 0.089 0.487
-randu2_randn2 0.344 0.344 0.487
+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.
@@ -67291,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.
@@ -69683,31 +69696,31 @@ list a1[ge=eoffset at ave, gf=fax4day at ave]
-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
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
- strip regrid on E: A1 --> (G003) @AVE
+ 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
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL NORMAL F1PT
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL NORMAL F1PT
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL E1PT NORMAL
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
+ 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)
@@ -69730,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
+ 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 (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
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
- strip regrid on E: A1 --> (G003) @SUM
+ 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
+ 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)
@@ -69767,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
+ 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 (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
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
- strip regrid on E: A1 --> (G003) @VAR
+ 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
+ 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)
@@ -69805,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
+ 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 (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
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
- strip regrid on E: A2 --> (G004) @AVE
+ 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
+ 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 (G006) NORMAL NORMAL NORMAL NORMAL NORMAL F2PT
+ 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 (G006) NORMAL NORMAL NORMAL NORMAL NORMAL F2PT
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL E2PT NORMAL
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
+ 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)
@@ -69856,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
+ 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 (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
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
- strip regrid on E: A2 --> (G004) @SUM
+ 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
+ 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)
@@ -69893,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
+ 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 (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
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
- strip regrid on E: A2 --> (G004) @VAR
+ 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
+ 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)
@@ -69933,33 +69946,33 @@ 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
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL E2PT F2PT
+ 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 (G002) NORMAL NORMAL NORMAL NORMAL E1PT F1PT
+ 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
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
- strip regrid on E: A1 --> (G003) @MAX
+ 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 (G002) NORMAL NORMAL NORMAL NORMAL E1PT NORMAL
+ 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 (G002) NORMAL NORMAL NORMAL NORMAL E1PT NORMAL
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
+ 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)
@@ -69967,25 +69980,25 @@ list a1[ge=eoffset at max]
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
+ 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 (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
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
- strip regrid on E: A2 --> (G004) @MAX
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL E2PT NORMAL
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL E2PT NORMAL
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
+ 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)
@@ -69993,25 +70006,25 @@ list a2[ge=eoffset at max]
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
+ 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 (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
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
- strip regrid on E: A4 --> (G005) @MAX
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL E4PT NORMAL
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL E4PT NORMAL
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
+ 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)
@@ -70019,36 +70032,36 @@ list a4[ge=eoffset at max]
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
+ 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 (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
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
- strip regrid on E: A4 --> (G005) @MIN
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
+ 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
+ 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 (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
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
- strip regrid on E: A4 --> (G005) @SUM
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
+ 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)
@@ -70060,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
+ 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 (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
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL NORMAL EDAY
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL NORMAL EDAY
+ dealloc dynamic grid (G###) NORMAL NORMAL NORMAL NORMAL NORMAL EDAY
VARIABLE : _F[GF=EDAY]
SUBSET : 5 points (FORECAST)
01-JAN-1990 00 / 1: 32493.
@@ -70082,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
@@ -70093,17 +70106,17 @@ show grid
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
+ 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 (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
+ 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 (G006) NORMAL NORMAL NORMAL NORMAL NORMAL EHOUR
- strip regrid on F: AFCST --> (G006) @MAX
+ 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 (G006) NORMAL NORMAL NORMAL NORMAL NORMAL EHOUR
+ 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)
@@ -70114,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
@@ -70151,7 +70164,7 @@ 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
+ 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
strip --> SST[T=01-JAN00:45:31-DEC06:34 at AVE,D=5]
@@ -70197,7 +70210,7 @@ all data in memory:
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
@@ -70260,7 +70273,7 @@ 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
+ 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
strip --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=6]
@@ -70321,7 +70334,7 @@ show data/files fourfiles_gap
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
+ 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
strip --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=7]
@@ -71165,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 18-Apr-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
@@ -71223,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 18-Apr-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
@@ -71271,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 18-Apr-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
@@ -71319,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 18-Apr-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
@@ -71359,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 18-Apr-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
@@ -71400,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 18-Apr-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
@@ -71470,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 18-Apr-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
@@ -71523,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 18-Apr-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
@@ -71587,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 18-Apr-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
@@ -71631,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 18-Apr-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
@@ -71675,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 18-Apr-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
@@ -71719,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 18-Apr-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
@@ -71760,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 18-Apr-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
@@ -71991,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 18-Apr-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
@@ -72032,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 18-Apr-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
@@ -72083,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 18-Apr-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
@@ -72131,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 18-Apr-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
@@ -72157,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 18-Apr-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
@@ -72183,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 18-Apr-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
@@ -72623,7 +72636,7 @@ variables:
A:history = "From coads_climatology" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -72652,7 +72665,7 @@ variables:
E410:history = "From coads_climatology" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -72703,7 +72716,7 @@ variables:
E410:history = "From coads_climatology" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -72913,8 +72926,6 @@ list ..history
! Just a dot is interpretd as a number.
list .
- VARIABLE : constant
- 0.0000
set mode/last ignore
@@ -73073,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
@@ -73091,12 +73102,12 @@ 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
@@ -73281,10 +73292,10 @@ variables:
DDAT_ORIG:long_name = "DDAT[GZ=ZAXIS_ORIG at ASN]" ;
// global attributes:
- :history = "Tue Apr 18 17:03:53 2017: ncks -h -A -h z1.nc append_to_this.nc\n",
- "FERRET V7.1 18-Apr-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
@@ -73313,7 +73324,7 @@ variables:
AVAR:long_name = "X[GX=XIRREG]" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -73344,7 +73355,7 @@ variables:
AVAR:long_name = "X[GX=XIRREG]" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -73407,7 +73418,7 @@ variables:
A:history = "From coads" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -73435,7 +73446,7 @@ variables:
A:history = "From coads" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -74225,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
@@ -74569,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
@@ -74585,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
@@ -75137,7 +75153,7 @@ variables:
LABELS:history = "From http://dunkel.pmel.noaa.gov:8930/thredds/dodsC/data/atmos3.ncml" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -75160,7 +75176,7 @@ variables:
STRVAR:long_name = "mystrings" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -75379,7 +75395,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -75409,7 +75425,7 @@ variables:
A:history = "From a" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -75430,7 +75446,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -75451,7 +75467,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -75473,7 +75489,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -75886,7 +75902,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 22 T FERRET V7.1 18-Apr-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
@@ -75903,7 +75919,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 22 T FERRET V7.1 18-Apr-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
@@ -75920,7 +75936,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 22 T FERRET V7.1 18-Apr-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
@@ -75951,13 +75967,202 @@ 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 Use the THREDDS server at http://ferret.pmel.noaa.gov/pmel/thredds
+! 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/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
+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 1 then EXIT/SCRIPT
+ !-> if 0 then EXIT/SCRIPT
+
+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_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_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
+ LONGITUDE: 60W to 50W
+ LATITUDE: 14.5N
+ 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: 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="`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
+can data/all; can var/all
+
+! open another dataset, define more remote variables
+
+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_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
+ name title I J K L
+ 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
+ SST SEA SURFACE TEMPERATURE 1:180 1:90 ... 1:12
+ AIRT AIR TEMPERATURE 1:180 1:90 ... 1:12
+ SPEH SPECIFIC HUMIDITY 1:180 1:90 ... 1:12
+ WSPD WIND SPEED 1:180 1:90 ... 1:12
+ UWND ZONAL WIND 1:180 1:90 ... 1:12
+ VWND MERIDIONAL WIND 1:180 1:90 ... 1:12
+ SLP SEA LEVEL PRESSURE 1:180 1:90 ... 1:12
+ ------------------------------
+ AIRTSUM[D=data_coads_climatology.jnl] (/REMOTE) = AIRT[L=1:5 at SUM]
+ SSTSUM[D=data_coads_climatology.jnl] (/REMOTE) = SST[L=1:5 at SUM]
+
+
+set view ul; plot/y=-10/x=50:150 sstsum
+set view ur; plot/y=-10/x=50:150 airtsum
+list/y=-10/x=50:59 sstsum,airtsum
+ DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl
+ LONGITUDE: 50E to 59E
+ LATITUDE: 11S
+ Column 1: SSTSUM is SST[L=1:5 at SUM]
+ Column 2: AIRTSUM is AIRT[L=1:5 at SUM]
+ SSTSUM AIRTSUM
+51E / 16: 140.5 138.3
+53E / 17: 140.6 138.4
+55E / 18: 141.3 139.5
+57E / 19: 141.4 138.5
+59E / 20: 141.5 139.1
+
+let both = sstsum + airtsum
+set view lower; plot/y=-10/x=50:150 both
+list/y=-10/x=50:59 sstsum, airtsum, both
+ DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl
+ LONGITUDE: 50E to 59E
+ LATITUDE: 11S
+ Column 1: SSTSUM is SST[L=1:5 at SUM]
+ Column 2: AIRTSUM is AIRT[L=1:5 at SUM]
+ Column 3: BOTH is SSTSUM + AIRTSUM
+ SSTSUM AIRTSUM BOTH
+51E / 16: 140.5 138.3 278.7
+53E / 17: 140.6 138.4 279.0
+55E / 18: 141.3 139.5 280.9
+57E / 19: 141.4 138.5 279.9
+59E / 20: 141.5 139.1 280.6
+
+can dat/all; can var/all
+
+! make several remote definitions. They can be used together in an expression.
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl"
+let/D=1/remote sstsum = sst[L=1:5 at sum]
+let/D=1/remote airtsum = airt[L=1:5 at sum]
+let/D=1/remote factor = 12
+let/D=1/remote combo = factor*(airtsum - sstsum)
+list/y=-5/x=130w:110w combo
+ VARIABLE : FACTOR*(AIRTSUM - SSTSUM)
+ FILENAME : data_coads_climatology.jnl
+ FILEPATH : http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/
+ SUBSET : 10 points (LONGITUDE)
+ LATITUDE : 5S
+ 5S
+ 43
+ 129W / 106: -7.04
+ 127W / 107: -7.88
+ 125W / 108: -0.59
+ 123W / 109: -10.31
+ 121W / 110: -1.90
+ 119W / 111: -4.39
+ 117W / 112: -6.35
+ 115W / 113: -9.40
+ 113W / 114: -9.81
+ 111W / 115: -11.41
+
+
+can dat/all; can var/all
+
+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 = t00an1[z=1:100 at ave]
+
+! Intentional errors:
+
+! But cannot put d= within the expression: the expr is evaluated on
+! the remote server so the same datsets are not open there.
+
+set mode ignore
+let/D=1/remote rvar = t00an1[d=1,z=1:100 at ave]
+
+
+! But, require LET/D= with /REMOTE
+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*t00an1[L=@ave]
+list/x=300/y=15 avar
+
+SET MODE/LAST ignore
+
+! The dataset remains open, we can fix the definition.
+let/D=1/remote a = 12
+sho dat
+ currently SET data sets:
+ 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
+ T00AN1 Temperature 1:360 1:180 1:33 1:1
+ ------------------------------
+ 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*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-JUL 00:00 to 02-JUL 00:00
+ 60.5W
+ 300
+ 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
+
*** Running ferret script: bn691_bug_fixes.jnl
! bn691_bug_fixes
! test various fixes that went into version 6.91
@@ -76193,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)
@@ -76474,7 +76679,7 @@ 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
@@ -76490,7 +76695,7 @@ load bigvar
! 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
@@ -76972,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 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
}
set mode/last upcase
@@ -77065,7 +77270,7 @@ variables:
lon360:history = "added to test_save_dsg.nc" ;
// global attributes:
- :history = "CruiseDsgNcFile 1.0FERRET V7.1 18-Apr-17" ;
+ :history = "CruiseDsgNcFile 1.0FERRET V7.2 DD-MON-YY" ;
:featureType = "Trajectory" ;
:Conventions = "Some other conventionsCF-1.6" ;
:geospatial_lon_min = -92.77 ;
@@ -77092,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 18-Apr-17
+ FERRET V7.2 DD-MON-YY
..Conventions = Existing conventions note, , CF-1.6
@@ -77122,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 18-Apr-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
@@ -79915,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_"
@@ -80619,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
@@ -80935,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
@@ -81191,17 +81399,17 @@ LIST/PREC=7 tempz
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
+ 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 (G002) XAXLEVITR1YAXLEVITR4(AX005) NORMAL
- strip regrid on Z: TEMP --> (G002) @LIN
+ 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
@@ -81211,7 +81419,7 @@ LIST/PREC=7 tempz
-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
+ 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)
@@ -81233,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
+ 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 (G002) XAXLEVITR1YAXLEVITR4(AX005) NORMAL
- GRID (G002)
+ 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
@@ -81284,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
@@ -81318,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 5 pts
+ (AX###) Z 5 r 2 10 5 pts
normal T
!! do same regrid using the shorhand semi-automated notation
@@ -81343,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
@@ -81406,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
@@ -82599,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
@@ -82666,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
@@ -82737,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
@@ -82902,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
@@ -82929,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
@@ -82956,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
@@ -82983,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
@@ -83217,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
@@ -83244,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
@@ -83271,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
@@ -83298,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
@@ -83518,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
@@ -83543,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
@@ -83568,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
@@ -83593,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
@@ -83787,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
@@ -83812,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
@@ -83837,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
@@ -83862,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
@@ -84056,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
@@ -84081,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
@@ -84106,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
@@ -84131,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
@@ -84325,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
@@ -84350,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
@@ -84375,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
@@ -84400,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
@@ -84594,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
@@ -84619,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
@@ -84644,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
@@ -84669,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
@@ -85772,20 +85980,20 @@ 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
-Tue Apr 18 17:04:04 PDT 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
-Tue Apr 18 17:04:04 PDT 2017
+WKD MON DD HH:MM:SS ZZZ YYYY
sp date
-Tue Apr 18 17:04:04 PDT 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
-Tue Apr 18 17:04:04 PDT 2017
+WKD MON DD HH:MM:SS ZZZ YYYY
GO bn_reset
cancel mode verify
@@ -85843,7 +86051,7 @@ variables:
var:long_name = "0*TT + X[GX=XAX]" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -85999,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
@@ -86745,7 +86953,7 @@ variables:
TEMP:history = "From /home/data/socat/socatV3/11SS/11SS20140225.nc" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -89010,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
@@ -89040,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
@@ -89116,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"
@@ -89132,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
@@ -89154,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
@@ -89452,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 201 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) 60 pts
- (AX007) LATITUDE 45 r 89S 87N 45 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
@@ -89474,7 +89682,7 @@ 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
@@ -89483,7 +89691,7 @@ sh grid vwnd_days
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
@@ -89539,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
@@ -89551,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 4 pts
- (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)
can dat/all
@@ -89585,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 4 pts
+ (AX###) Z 5 r 100 500 4 pts
normal T
! and with a grid-changing function thrown in
@@ -89611,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
@@ -89622,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
@@ -89776,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
@@ -90039,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
@@ -90972,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
@@ -91405,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
@@ -91538,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 18-Apr-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
@@ -91593,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
@@ -91697,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.
@@ -91820,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
@@ -92022,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 18-Apr-17
+ ..history = FERRET V7.2 DD-MON-YY
..Conventions = CF-1.6
..dt_internal = 15
sh att elev
@@ -92043,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 18-Apr-17
+ ..history = FERRET V7.2 DD-MON-YY
..Conventions = CF-1.6
sh att elev
attributes for dataset: ./a.nc
@@ -92063,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 201 pts
+ (AX###) LATITUDE 201 r 10S 10N 201 pts
normal Z
TIME TIME 3mr 16-JAN 06:00 17-MAR 02:58 1 pt
@@ -92164,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.977 seconds
-Second 10K LET commands LET a = 0 takes 2.196 seconds
-5K LOAD with transform takes 3.506 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
@@ -92188,7 +92397,7 @@ 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 10 pts
normal Y
@@ -93299,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
@@ -93361,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
@@ -94176,7 +94385,7 @@ sho command/brief v
! 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
@@ -95135,20 +95344,9 @@ list/nohead strindex(..title, "file")
! Bug 2477 plot axes are not fully drawn, some /VS plots
-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
+! 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
@@ -95614,15 +95812,15 @@ save/clob/file=a.nc c
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
+ 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 (G001) C2D_AX_X NORMAL NORMAL NORMAL
- pseudo X M: 8 dset: 0 I: 11 31 J: -999 -999 K: -999 -999 L: -999 -999
- dealloc dynamic grid (G001) C2D_AX_X NORMAL NORMAL NORMAL
+ 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
@@ -95694,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
@@ -95877,7 +96075,7 @@ variables:
VAR:long_name = "X[GX=XLON]" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
go bn_reset
@@ -95936,7 +96134,7 @@ variables:
VAR:history = "From a1" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -95983,7 +96181,7 @@ variables:
VAR:history = "From a1" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -96054,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
@@ -96085,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
@@ -96115,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
@@ -96559,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
@@ -96888,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
@@ -96977,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
@@ -97037,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
@@ -97046,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
@@ -97114,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
@@ -97123,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 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -97164,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
@@ -97174,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
@@ -97196,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 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -97463,9 +97661,11 @@ show data/members
U U 1:5 1:4 ... 1:10
V V 1:5 1:4 ... 1:10
- time-dependent data files:
-31-DEC-2009 23:59 -> 31-DEC-2009 23:59 bn_agg_member_syntax.jnl
-
+ 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
@@ -97907,7 +98107,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 22 T FERRET V7.1 18-Apr-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
@@ -97976,7 +98176,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 22 T FERRET V7.1 18-Apr-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
@@ -98047,7 +98247,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 22 T FERRET V7.1 18-Apr-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
@@ -98456,7 +98656,7 @@ variables:
VART:long_name = "RESHAPE(VAR, T[GT=TAX])" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -98487,88 +98687,9 @@ show grid vart
TAX1 TIME 7 i 09-NOV-2015 02:24 13-NOV-2015 02:24 full
-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
+! move this to bn_gif.jnl
+! GO bn_reset
+! GO err71_plotvs_mode_label
GO bn_reset
cancel mode verify
@@ -98699,7 +98820,7 @@ list a[i=2]
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: 2 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
@@ -98709,9 +98830,9 @@ list a[i=2]
GO bn_reset
cancel mode verify
dealloc dynamic grid XABSTRACT ABSTRACT NORMAL NORMAL NORMAL
- -DELETE A M: 6 dset: 1 I: 2 2 J: -999 -999 K: -999 -999 L: -999 -999
+ -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: 2 dset: 1 I: 2 2 J: -999 -999 K: -999 -999 L: -999 -999
+ -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
@@ -98741,46 +98862,733 @@ use write_int_att.nc
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_vs_constant
-! err71_vs_constant.jnl
-! See ticket 2318, defining plot axes when data is constant
-! 4/2017 acm
+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
-! The axis ranges had been set as val-1, val+1 which
-! worked poorly for large or small data values
+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
+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
+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
-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
+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
+! Check result if the missing-flag is zero
-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}
+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
-frame/file=bn_vs_const_value.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
-! 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}
+! 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)
@@ -99487,6 +100295,7 @@ LIST/PREC=12 xyz[x=@std,y=@std,z=@std]
*** 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
@@ -99506,7 +100315,7 @@ 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 ($SPAWN_OK) THEN
!-> IF 0 THEN
ELSE
define symbol saved_memory_size = ($FERRET_MEMORY)
@@ -100973,44 +101782,44 @@ set v lr; plot/vs/ribbon/sym=17/thick/vlim=50:0 ttvar, pres, temp
set mode/last logo
-*** Running ferret script: bn_inner.jnl
-! bn_inner.jnl
-! 3/2017 *acm* Inner product function for matrix multiply operation
+*** Running ferret script: bn_dot_product.jnl
+! bn_dot_product.jnl
+! 3/2017 *acm* dot product function for matrix multiply operation
-sh func innerproduct*
-INNERPRODUCT(VAR1,VAR2,IDIM)
+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,...)
-INNERPRODUCT_X(VAR1,VAR2)
- Compute the inner product of two variables along X-axis
+DOT_E(VAR1,VAR2)
+ Compute the inner product of two variables along E-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_Y(VAR1,VAR2)
- Compute the inner product of two variables along Y-axis
+DOT_F(VAR1,VAR2)
+ Compute the inner product of two variables along F-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_Z(VAR1,VAR2)
- Compute the inner product of two variables along Z-axis
+DOT_T(VAR1,VAR2)
+ Compute the inner product of two variables along T-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_T(VAR1,VAR2)
- Compute the inner product of two variables along T-axis
+DOT_X(VAR1,VAR2)
+ Compute the inner product of two variables along X-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_E(VAR1,VAR2)
- Compute the inner product of two variables along E-axis
+DOT_Y(VAR1,VAR2)
+ Compute the inner product of two variables along Y-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_F(VAR1,VAR2)
- Compute the inner product of two variables along F-axis
+DOT_Z(VAR1,VAR2)
+ Compute the inner product of two variables along Z-axis
VAR1: Variable 1
VAR2: Variable 2
-! A call to innerproduct(var1, var2, dir) translates into call to
-! function innerproduct_q(var1,var2) where q is the pax direction
+! 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
@@ -101033,15 +101842,15 @@ list var1, var2
3 / 3: 3.000000 1.000000
4 / 4: 4.000000 1.000000
5 / 5: 5.000000 1.000000
-list innerproduct(var1, var2, 1)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 1)
+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 innerproduct_x(var1, var2)
- VARIABLE : INNERPRODUCT_X(VAR1, VAR2)
+list dot_x(var1, var2)
+ VARIABLE : DOT_X(VAR1, VAR2)
15.00000
let var1 = y[gy=ypax]
@@ -101054,8 +101863,8 @@ list var1, var2
0.1 / 1: 0.1000000 1.000000
0.2 / 2: 0.2000000 1.000000
0.3 / 3: 0.3000000 1.000000
-list innerproduct(var1, var2, 2)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 2)
+list dot(var1, var2, 2)
+ VARIABLE : DOT(VAR1, VAR2, 2)
0.6000000
let var1 = z[gz=zpax]
@@ -101069,8 +101878,8 @@ list var1, var2
0.02 / 2: 0.02000000 1.000000
0.03 / 3: 0.03000000 1.000000
0.04 / 4: 0.04000000 1.000000
-list innerproduct(var1, var2, 3)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 3)
+list dot(var1, var2, 3)
+ VARIABLE : DOT(VAR1, VAR2, 3)
0.10000000
let var1 = L[gt=month_reg]
@@ -101092,8 +101901,8 @@ list var1, var2
16-OCT / 10: 10.00000 1.000000
15-NOV / 11: 11.00000 1.000000
16-DEC / 12: 12.00000 1.000000
-list innerproduct(var1, var2, 4)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 4)
+list dot(var1, var2, 4)
+ VARIABLE : DOT(VAR1, VAR2, 4)
78.00000
let var1 = _e[ge=epax]
@@ -101106,8 +101915,8 @@ list var1, var2
-3 / 1: -3.000000 1.000000
-2 / 2: -2.000000 1.000000
-1 / 3: -1.000000 1.000000
-list innerproduct(var1, var2, 5)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 5)
+list dot(var1, var2, 5)
+ VARIABLE : DOT(VAR1, VAR2, 5)
-6.000000
let var1 = _f[gf=fpax]
@@ -101121,8 +101930,8 @@ list var1, var2
-0.3 / 2: -0.3000000 1.000000
-0.2 / 3: -0.2000000 1.000000
-0.1 / 4: -0.1000000 1.000000
-list innerproduct(var1, var2, 6)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 6)
+list dot(var1, var2, 6)
+ VARIABLE : DOT(VAR1, VAR2, 6)
-1.000000
let axy = x[gx=xpax] + y[gy=ypax]
@@ -101210,8 +102019,8 @@ list axy, bxz
3 / 3: 3.300000 0.4000000
4 / 4: 4.300000 0.4000000
5 / 5: 5.300000 0.4000000
-list innerproduct(axy, bxz, 1)
- VARIABLE : INNERPRODUCT(AXY, BXZ, 1)
+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
@@ -101221,8 +102030,8 @@ list innerproduct(axy, bxz, 1)
0.04 / 4: 6.200000 6.400000 6.600000
let byz = y[gy=ypax]+ 10*Z[GZ=Zpax]
-list innerproduct(axy, byz, 2)
- VARIABLE : INNERPRODUCT(AXY, BYZ, 2)
+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
@@ -101233,14 +102042,14 @@ list innerproduct(axy, byz, 2)
let lvar = L[gt=month_reg] - 1
let axyt = axy + lvar
-let multi_inner = innerproduct(axyt, byz, 2)
-save/file=a.nc/clobber multi_inner
+let multi_dot = dot(axyt, byz, 2)
+save/file=a.nc/clobber multi_dot
-can var multi_inner
+can var multi_dot
use a.nc
-! This should be the same as innerproduct(axy, byz, 2)
-list/l=1 multi_inner
- VARIABLE : INNERPRODUCT(AXYT, BYZ, 2)
+! 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
@@ -101256,8 +102065,8 @@ list/l=1 multi_inner
let axz = x[gx=xpax] + z[gz=zpax]
let bzt = 0*z[gz=zpax]+ 10*L[gt=month_reg]
-list innerproduct(axz, bzt, 3)
- VARIABLE : INNERPRODUCT(AXZ, BZT, 3)
+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
@@ -101275,8 +102084,8 @@ list innerproduct(axz, bzt, 3)
16-DEC / 12: 492.000 972.000 1452.000 1932.000 2412.000
let ayt = y[gy=ypax]+ 10*L[gt=month_reg]
-list innerproduct(ayt, bzt, 4)
- VARIABLE : INNERPRODUCT(AYT, BZT, 4)
+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
@@ -101288,14 +102097,14 @@ list innerproduct(ayt, bzt, 4)
let xvar = x[gx=xpax] - 1
let axyt = ayt + xvar
-let multi_inner = innerproduct(axyt, bzt, 4)
-save/file=a.nc/clobber multi_inner
+let multi_dot = dot(axyt, bzt, 4)
+save/file=a.nc/clobber multi_dot
-can var multi_inner
+can var multi_dot
use a.nc
-! This should be the same as innerproduct(ayt, bzt, 4)
-list/i=1 multi_inner
- VARIABLE : INNERPRODUCT(AXYT, BYZ, 2)
+! 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
@@ -101320,8 +102129,8 @@ can dat/all
let ayf = _f[gf=fpax] + y[gy=ypax]
let bfe = 0*_f[gf=fpax]+ 10*_e[ge=epax]
-list innerproduct(ayf, bfe, 6)
- VARIABLE : INNERPRODUCT(AYF, BFE, 6)
+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
@@ -101330,8 +102139,8 @@ list innerproduct(ayf, bfe, 6)
-1 / 3: 6.00000 2.00000 -2.00000
let aze = z[gz=zpax]+ 10*_e[ge=epax]
-list innerproduct(aze, bfe, 5)
- VARIABLE : INNERPRODUCT(AZE, BFE, 5)
+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
@@ -101342,14 +102151,14 @@ list innerproduct(aze, bfe, 5)
let xvar = x[gx=xpax] - 1
let azex = aze + xvar
-let multi_inner = innerproduct(azex, bfe, 5)
-save/file=a.nc/clobber multi_inner
+let multi_dot = dot(azex, bfe, 5)
+save/file=a.nc/clobber multi_dot
-can var multi_inner
+can var multi_dot
use a.nc
-! This should be the same as innerproduct(azex, bfe, 5)
-list/i=1 multi_inner
- VARIABLE : INNERPRODUCT(AZEX, BFE, 5)
+! 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
@@ -101367,6 +102176,7 @@ cancel list/precision
! 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.
@@ -101402,7 +102212,7 @@ define axis/x=1:1000000:1 xmillion
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 ($SPAWN_OK) THEN
!-> IF 0 THEN
ELSE
say creating test files
@@ -101905,6 +102715,549 @@ list/l=1 var
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
@@ -102374,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)
@@ -102394,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)
@@ -102441,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
@@ -103348,22 +104856,23 @@ exit/command
PPL$XPIXEL = "0"
PPL$YPIXEL = "0"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-696.1.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 = "18-Apr-17"
-SESSION_TIME = "17:06"
-SESSION_PID = "29013"
-DELTA_CPU = "0.020996"
-CLOCK_SECS = "0.015"
-CURRENT_DATE = "18-Apr-17"
-CURRENT_TIME = "17:06: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_STATUS = "1"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
GO_FILE = "./bn_startupfile.jnl"
LAST_GO_FILE = "./bn_startupfile.jnl"
PPL$FORMAT = "(3F10.2)"
@@ -105503,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 Tue Apr 18 17:06:31 PDT 2017
diff --git a/bench/test_results/ferret_run_tests_ncdump b/bench/test_results/ferret_run_tests_ncdump
index 0297282..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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-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 18-Apr-17" ;
+ :history = "FERRET V7.2 DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
*** Running ferret script: bn_list_clim_axes.jnl
@@ -3088,9 +3088,10 @@ variables:
*** 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_inner.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
@@ -3749,7 +3750,7 @@ variables:
tmonth:history = "added to /home/data/socat/socatV3/492C/492C19881104.nc" ;
// global attributes:
- :history = "FERRET V7.1 18-Apr-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/flowlines.pdf b/bench/test_results/flowlines.pdf
index f1bae62..91b53ff 100644
Binary files a/bench/test_results/flowlines.pdf and b/bench/test_results/flowlines.pdf differ
diff --git a/bench/test_results/forecast_actual.gif b/bench/test_results/forecast_actual.gif
index a7de84e..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 72624f3..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 6a77c95..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 e580d9e..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/graticules.pdf b/bench/test_results/graticules.pdf
index 17853a3..d4419cd 100644
Binary files a/bench/test_results/graticules.pdf and b/bench/test_results/graticules.pdf differ
diff --git a/bench/test_results/legend_1d_plots.gif b/bench/test_results/legend_1d_plots.gif
index 4fb79d9..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 c42f3b9..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/linecolors.pdf b/bench/test_results/linecolors.pdf
index b35f327..4b2eda1 100644
Binary files a/bench/test_results/linecolors.pdf and b/bench/test_results/linecolors.pdf differ
diff --git a/bench/test_results/lon_lat_label_controls.gif b/bench/test_results/lon_lat_label_controls.gif
index 339520c..1b610ec 100644
Binary files a/bench/test_results/lon_lat_label_controls.gif and b/bench/test_results/lon_lat_label_controls.gif differ
diff --git a/bench/test_results/lon_lat_label_controls.png b/bench/test_results/lon_lat_label_controls.png
index 17ce5a7..81a9020 100644
Binary files a/bench/test_results/lon_lat_label_controls.png and b/bench/test_results/lon_lat_label_controls.png differ
diff --git a/bench/test_results/multi_line_labels.pdf b/bench/test_results/multi_line_labels.pdf
index 9b2a541..a04e53f 100644
Binary files a/bench/test_results/multi_line_labels.pdf and b/bench/test_results/multi_line_labels.pdf differ
diff --git a/bench/test_results/outline_poly.pdf b/bench/test_results/outline_poly.pdf
index 1c83d45..1e2d883 100644
Binary files a/bench/test_results/outline_poly.pdf and b/bench/test_results/outline_poly.pdf differ
diff --git a/bench/test_results/polygon_plot.pdf b/bench/test_results/polygon_plot.pdf
index e813e3d..3edec80 100644
Binary files a/bench/test_results/polygon_plot.pdf and b/bench/test_results/polygon_plot.pdf differ
diff --git a/bench/test_results/pyferret_run_tests_err b/bench/test_results/pyferret_run_tests_err
index fae4d24..b498f4b 100644
--- a/bench/test_results/pyferret_run_tests_err
+++ b/bench/test_results/pyferret_run_tests_err
@@ -1,317 +1,3 @@
-Using FERRET /home/flat/ksmith/PyFerret/bin/pyferret
--rwxr-xr-x. 1 ksmith oerdnewp 1404 Apr 18 17:14 /home/flat/ksmith/PyFerret/bin/pyferret
-Using external functions from /home/flat/ksmith/PyFerret/ext_func/pylibs
-Benchmark run by ksmith
-Note: RUN_TESTS.sh test results for PyFerret
-****** 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_FONTS=/home/flat/ksmith/PyFerret/ppl/fonts
-FER_GO=. /home/flat/ksmith/PyFerret/go /home/flat/ksmith/PyFerret/examples /home/flat/ksmith/PyFerret/contrib
-FER_GRIDS=.
-FER_LIBS=/home/flat/ksmith/PyFerret/lib
-FER_PALETTE=. /home/flat/ksmith/PyFerret/ppl
-FER_WEB_BROWSER=firefox
-PYFER_EXTERNAL_FUNCTIONS=/home/flat/ksmith/PyFerret/ext_func/pylibs
-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_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
- bn720_bug_fixes.jnl
- bn_compressed_gather.jnl
- bn_dynamic_gather.jnl
- bn_stat_precision.jnl
- bn_plot_vs_with_time.jnl
- bn_inner.jnl
- bn_cache_management.jnl
- bn_transp_choose.jnl
- bn_gif.jnl
- bn_ps.jnl
- bn_all_ef.jnl
- bn_startupfile.jnl
- err700_decimate.jnl
- bn_outline_poly.jnl
- bn_contourcolor.jnl
- bn_inf2missing.jnl
- testgetstrdata.py
- testferregion.py
- testferdset.py
- testfervar.py
- testferaggdset.py
- testferaxis.py
- testfergrid.py
- testferpyvar.py
- testfermethods.py
-Beginning at Tue Apr 18 17:14:32 PDT 2017
*** Running ferret script: bn_syntax.jnl
*** NOTE: /FILES is deprecated. Use /MEMBERS
*** NOTE: the use of "SET MODE METAFILE" is deprecated;
@@ -630,7 +316,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
@@ -646,7 +332,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
@@ -1397,6 +1083,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
@@ -1417,9 +1104,9 @@ 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
@@ -1516,7 +1203,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
ooooooooooooooooooooooooooooooooooooooooooo
-rm: cannot remove `input.txt': No such file or directory
+rm: cannot remove ‘input.txt’: No such file or directory
ls: cannot access input.txt: No such file or directory
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
@@ -2263,8 +1950,6 @@ Replacing definition of axis TIME
**TMAP ERR: non-existent or not on line
this_is_not_a_file.nc
SET DAT/FORM=CDF this_is_not_a_file.nc
-syntax error, unexpected WORD_STRING, expecting WORD_WORD
-context: Error { code = 404; message = "data/PMEL/COADS/coads_nothing.cdf"^;};
**Internet Data error
NetCDF: file not found (OPeNDAP/netCDF Error code -90)
Data set: http://ferret.pmel.noaa.gov/pmel/thredds/dodsC/data/PMEL/COADS/coads_nothing.cdf
@@ -2430,7 +2115,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooo
*** Running ferret script: bn_set_strides.jnl
**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
@@ -3493,7 +3178,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
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/PyFerret/go/magnify.jnl
+ *** NOTE: ....../go/magnify.jnl
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
ooooooooooooooooooooooooooooooooooooooooooo
@@ -3642,6 +3327,8 @@ 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
@@ -3827,8 +3514,59 @@ 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_WORD, expecting SCAN_ATTR or SCAN_DATASET or SCAN_ERROR
-context: <!DOCTYPE^ html PUBLIC "-//W3C//DTD HTML+RDFa 1.1//EN"><html lang="en" dir="ltr" version="HTML+RDFa 1.1" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:og="http://ogp.me/ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/ [...]
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "time_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "depth_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "lat_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "lon_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "time_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "depth_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "lat_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "lon_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "time_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "depth_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** NOTE: Bounds definition "lat_bnds" points to no existing axis
+ *** NOTE: Ignoring BOUNDS attribute
+ *** NOTE: netCDF bounds variable definition error
+ *** 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 = t00an1[d=1,z=1:100 at ave]
+ **ERROR: command syntax: /REMOTE variable definition must also specify /D=
+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_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_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_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_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
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
@@ -3960,7 +3698,7 @@ 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
-rm: cannot remove `test_save_dsg.nc': No such file or directory
+rm: cannot remove ‘test_save_dsg.nc’: No such file or directory
*** Running ferret script: bn_global_atts.jnl
LISTing to file anew_global.nc
*** Running ferret script: bn_conventions_history.jnl
@@ -4142,7 +3880,7 @@ 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
+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
@@ -4190,7 +3928,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
-rm: cannot remove `layerz_test_data.txt': No such file or directory
+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
@@ -4278,8 +4016,6 @@ load/l=1:5 bigvar
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
ooooooooooooooooooooooooooooooooooooooooooo
-Cannot create cookie file
-Cannot create cookie file
Replacing definition of axis XAX
PERMANENT data cleared from memory
TEMPORARY data cleared from memory
@@ -4377,7 +4113,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
@@ -4391,7 +4127,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
@@ -4427,15 +4163,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
@@ -4482,9 +4218,9 @@ go/garbage tmp/testMe
**ERROR: unknown command qualifier: garbage
go/garbage "tmp/testMe"
**ERROR: unknown command qualifier: garbage
-go/garbage /home/flat/ksmith/pyferret_dev/bench/tmp/testMe.jnl
+go/garbage ....../bench/tmp/testMe.jnl
**ERROR: unknown command qualifier: garbage
-go/garbage "/home/flat/ksmith/pyferret_dev/bench/tmp/testMe.jnl"
+go/garbage "....../bench/tmp/testMe.jnl"
*** Running ferret script: bn_long_lists.jnl
**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 [...]
@@ -4815,9 +4551,6 @@ 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 XAXIS
Replacing definition of axis YAXIS
Replacing definition of axis TAXIS
@@ -4962,8 +4695,8 @@ list index,edtim,udtim,udate,edate
LISTing to file a.nc
*** Running ferret script: bn_spawn_fail.jnl
ls: cannot access notafile.nowhere: No such file or directory
-rm: cannot remove `nothing.dat': No such file or directory
-cp: cannot stat `nofile.dat': No such file or directory
+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
*** Running ferret script: bn_agg_member_syntax.jnl
**ERROR: unknown data set: D=5.3
@@ -5069,6 +4802,18 @@ 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
@@ -5076,6 +4821,31 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
@@ -5312,7 +5082,7 @@ SET MODE FRUGAL:95
*** Running ferret script: bn_plot_vs_with_time.jnl
Replacing definition of axis TIME
Replacing definition of axis TIME
-*** Running ferret script: bn_inner.jnl
+*** Running ferret script: bn_dot_product.jnl
LISTing to file a.nc
LISTing to file a.nc
LISTing to file a.nc
@@ -5362,6 +5132,25 @@ ls: cannot access tmp/test_auto_cache_20.nc: No such file or directory
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
**ERROR: dimensions improperly specified: specified data is not a line
- its a 2D region: "plot/i=1:10/j=1:20/nolabel i+j"
@@ -5427,6 +5216,24 @@ ooooooooooooooooooooooooooooooooooooooooooo
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
**ERROR: dimensions improperly specified: specified data is not a line
- its a 2D region: "plot/i=1:10/j=1:20/nolabel i+j"
@@ -5471,6 +5278,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
*** NOTE: the use of "SET MODE METAFILE" is deprecated;
*** NOTE: instead use "FRAME /FILE=... /FORMAT=..."
*** Running ferret script: err700_decimate.jnl
+*** Running ferret script: bn_color_wire.jnl
*** Running ferret script: bn_outline_poly.jnl
*** Running ferret script: bn_contourcolor.jnl
*** Running ferret script: bn_inf2missing.jnl
@@ -5483,11 +5291,11 @@ ooooooooooooooooooooooooooooooooooooooooooo
*** Running python script: testfervar.py
>>> ... ... >>> >>> >>> Traceback (most recent call last):
File "<stdin>", line 1, in <module>
- File "/home/flat/ksmith/PyFerret/lib/python2.6/site-packages/pyferret/ferdset.py", line 230, in __delattr__
+ File "....../lib/python2.7/site-packages/pyferret/ferdset.py", line 230, in __delattr__
self.__delitem__(name)
- File "/home/flat/ksmith/PyFerret/lib/python2.6/site-packages/pyferret/ferdset.py", line 165, in __delitem__
+ File "....../lib/python2.7/site-packages/pyferret/ferdset.py", line 165, in __delitem__
value._removefromferret()
- File "/home/flat/ksmith/PyFerret/lib/python2.6/site-packages/pyferret/fervar.py", line 882, in _removefromferret
+ File "....../lib/python2.7/site-packages/pyferret/fervar.py", line 882, in _removefromferret
raise NotImplementedError('%s is a file variable; close the dataset to remove' % fername)
NotImplementedError: SST[d=coads_climatology.cdf] is a file variable; close the dataset to remove
@@ -5502,4 +5310,3 @@ NotImplementedError: SST[d=coads_climatology.cdf] is a file variable; close the
>>> ... ... >>> >>> >>>
*** Running python script: testfermethods.py
>>> ... ... >>> >>> >>>
-Ended at Tue Apr 18 17:19:10 PDT 2017
diff --git a/bench/test_results/pyferret_run_tests_log b/bench/test_results/pyferret_run_tests_log
index 953c137..86c94d7 100644
--- a/bench/test_results/pyferret_run_tests_log
+++ b/bench/test_results/pyferret_run_tests_log
@@ -1,22 +1,4 @@
-Using FERRET /home/flat/ksmith/PyFerret/bin/pyferret
--rwxr-xr-x. 1 ksmith oerdnewp 1404 Apr 18 17:14 /home/flat/ksmith/PyFerret/bin/pyferret
-Using external functions from /home/flat/ksmith/PyFerret/ext_func/pylibs
-Benchmark run by ksmith
-Note: RUN_TESTS.sh test results for PyFerret
****** 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_FONTS=/home/flat/ksmith/PyFerret/ppl/fonts
-FER_GO=. /home/flat/ksmith/PyFerret/go /home/flat/ksmith/PyFerret/examples /home/flat/ksmith/PyFerret/contrib
-FER_GRIDS=.
-FER_LIBS=/home/flat/ksmith/PyFerret/lib
-FER_PALETTE=. /home/flat/ksmith/PyFerret/ppl
-FER_WEB_BROWSER=firefox
-PYFER_EXTERNAL_FUNCTIONS=/home/flat/ksmith/PyFerret/ext_func/pylibs
Benchmark scripts that will be run:
bn_syntax.jnl
bn_dollar.jnl
@@ -291,14 +273,16 @@ Benchmark scripts that will be run:
bn_dynamic_gather.jnl
bn_stat_precision.jnl
bn_plot_vs_with_time.jnl
- bn_inner.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
+ bn_color_wire.jnl
bn_outline_poly.jnl
bn_contourcolor.jnl
bn_inf2missing.jnl
@@ -311,9 +295,8 @@ Benchmark scripts that will be run:
testfergrid.py
testferpyvar.py
testfermethods.py
-Beginning at Tue Apr 18 17:14:32 PDT 2017
*** Running ferret script: bn_syntax.jnl
-[?1034h! bn401_syntax.JNL
+! bn401_syntax.JNL
! - test syntax interpretation of Program FERRET
! - major changes for FERRET ver 2.00 5/90
! - changed mode REMOTE to mode STUPID - REMOTE removed in V2.30
@@ -457,7 +440,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
@@ -1256,7 +1239,7 @@ J1111111112222222222333333333344444444445555555555666666666677777777778888888888
*** A111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000B111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000C111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000D111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000E111111111222222222233333333334444444444555555555566666666667777777777888888888899999999 [...]
*** Running ferret script: bn_dollar.jnl
-[?1034h! test this with GO journal hello
+! test this with GO journal hello
! V510: 3/00 *sh* added tests of backslash escapes and surrounding quotations
! V532: 5/01 *sh* added tests of 2-digit arguments; made mode ignore stricter
@@ -1425,7 +1408,7 @@ set mode ignore
say ($10)0 ! argument 10 not defined
set mode/last ignore
*** Running ferret script: bn_grave.jnl
-[?1034h! bn420_grave
+! bn420_grave
! benchmark to test evaluation of grave accent-enclosed expressions
! requires FERRET version 4.00 or later
@@ -1748,7 +1731,7 @@ say `sst,return=trash`
set mode/last ignore_errors
*** Running ferret script: bn_letd.jnl
-[?1034h! bn420_letd.jnl
+! bn420_letd.jnl
! 9/1/95
! test LET definitions with the /D qualifier: LET, SHOW, SET VAR, CANCEL
@@ -2022,7 +2005,7 @@ list q[d=v12file]
3 / 3: 4.00 5.00 6.00 7.00 8.00 9.00 10.00 11.00
*** Running ferret script: bn_if.jnl
-[?1034h! bn430_if
+! bn430_if
! 5/6/96
! 5/22/96 - added nested multi-line IF with nesting in REJECTED clause
@@ -2114,7 +2097,7 @@ IF yes THEN
say ---->... now inside of IF clause
---->... now inside of IF clause
*** Running ferret script: bn_expressions.jnl
-[?1034h! bn450_expressions.JNL
+! bn450_expressions.JNL
! test all manner of expressions
! V450 - commented out MODE POLISH test -- mode was eliminated
! V530 - new pseudo-variables XBOXLO, YBOXHI, etc.
@@ -2642,7 +2625,7 @@ LIST/L=5:7 TBOXLO, TBOXHI
6 / 6: 5.500 6.500
7 / 7: 6.500 7.500
*** Running ferret script: bn_geometry.jnl
-[?1034h! bn200_geometry.JNL
+! bn200_geometry.JNL
! benchmark various geometries for accessing FERRET data
! similar tests are performed on:
! abstract variable
@@ -3935,7 +3918,7 @@ SET MODE/LAST IGNORE_ERRORS
*** Running ferret script: bn_output.jnl
-[?1034h! bn200_output.JNL
+! 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)
@@ -6922,7 +6905,7 @@ SET MODE/LAST IGNORE
CANCEL LIST
*** Running ferret script: bn_in_plane.jnl
-[?1034h! bn200_in_plane.JNL
+! bn200_in_plane.JNL
! benchmark various geometries with in-plane transformation applied (@SBX)
! this benchmark is layered on the compress benchmark to obtain the geometries
! similar tests are performed on:
@@ -7436,7 +7419,7 @@ LIST/ORDER=T v[t=@sbx,i=@ave,j=@ave,k=@ave]
2 3 4
-2.855 -1.567 -0.836
*** Running ferret script: bn_compress.jnl
-[?1034h! bn200_compress.JNL
+! bn200_compress.JNL
! benchmark various geometries obtained by compressing FERRET data with @AVE
! similar tests are performed on:
! abstract variable
@@ -7942,7 +7925,7 @@ 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
! ****
*** Running ferret script: bn_interpolate.jnl
-[?1034h! bn200_interpolate.JNL
+! bn200_interpolate.JNL
! benchmark interpolation along various axes
SET LIST/PRECISION=6
@@ -8337,7 +8320,7 @@ LIST v[@xpt, at ypt, at zpt, at tpt]
T : 1.0005 (interpolated)
1113.00
*** Running ferret script: bn_regrid.jnl
-[?1034h! bn200_regrid.JNL
+! bn200_regrid.JNL
! test regridding
! first test consists of regridding and re-regridding back and comparing
! when the variable, v is linear along all axes results should be exact
@@ -8470,17 +8453,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.
@@ -9714,7 +9697,7 @@ list a24[g=g48]-a48
05-JAN-1980 00 / 3: -438312.
07-JAN-1980 00 / 4: -438312.
*** Running ferret script: bn_ez.jnl
-[?1034h! bn401_ez.JNL
+! bn401_ez.JNL
! test all manner of accessing non-TMAP data files
! V401 modified from bn200_ez.jnl by the addition of a test of UNF reading
@@ -9727,7 +9710,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
@@ -9757,10 +9740,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
@@ -9793,10 +9776,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
@@ -9837,10 +9820,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
@@ -9875,10 +9858,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
@@ -9910,10 +9893,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))
@@ -9948,10 +9931,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)/)
@@ -10092,14 +10075,14 @@ LIST X1
VARIABLE : X1
FILENAME : EZ.DAT
SUBSET : 8 points (X)
- 1 / 1: 0.0060
- 2 / 2: 0.1760
- 3 / 3: 0.2820
- 4 / 4: 0.3550
- 5 / 5: 0.3790
- 6 / 6: 0.3930
- 7 / 7: ....
- 8 / 8: 0.0000
+ 1 / 1: 6.000E-03
+ 2 / 2: 1.760E-01
+ 3 / 3: 2.820E-01
+ 4 / 4: 3.550E-01
+ 5 / 5: 3.790E-01
+ 6 / 6: 3.930E-01
+ 7 / 7: ....
+ 8 / 8: 4.981+173
SHOW DATA
currently SET data sets:
1> ./EZ.DAT (default)
@@ -10127,7 +10110,7 @@ list my_var
9 / 9: 9.00
10 / 10: 10.00
*** Running ferret script: bn_plot.jnl
-[?1034h! bn450_plot.JNL - updated 9/97 from bn320_plot.jnl
+! bn450_plot.JNL - updated 9/97 from bn320_plot.jnl
! upgraded from bn320 to provide method for testing batch mode. Also remove
! all labels to create "master" gif and ps files to compare against
! *kob*
@@ -10325,7 +10308,7 @@ polygon/thick/color=red/palette=blue {1,2,1}, {2,1,0.5}
set mode/last logo
*** Running ferret script: bn_curv.jnl
-[?1034hcancel mode ignore
+cancel mode ignore
!
! Your basic map projection
!
@@ -10502,7 +10485,7 @@ can mode ignore
set mode meta bnplot.plt
*** Running ferret script: bn_symbols.jnl
-[?1034h! bn420_symbols
+! bn420_symbols
! benchmark to test machinery of symbol definition and use
! requires FERRET version 4.00 or later
@@ -10523,22 +10506,23 @@ show symbols/all
PPL$XPIXEL = "0"
PPL$YPIXEL = "0"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-696.1.1.el6.x86_64"
+FERRET_VERSION = "7.2"
+FERRET_PLATFORM = "Linux 3.10.0-514.26.2.el7.x86_64"
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 = "18-Apr-17"
-SESSION_TIME = "17:14"
-SESSION_PID = "13862"
-DELTA_CPU = "0.215966"
-CLOCK_SECS = "0.102"
-CURRENT_DATE = "18-Apr-17"
-CURRENT_TIME = "17:14:41"
+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 = "PyFerret"
PEAK_MEMORY = "0"
-SPAWN_STATUS = "1"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
! define some symbols ... syntax variations
define symbol s1 = hello
@@ -10554,22 +10538,23 @@ show symbol/all
PPL$XPIXEL = "0"
PPL$YPIXEL = "0"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-696.1.1.el6.x86_64"
+FERRET_VERSION = "7.2"
+FERRET_PLATFORM = "Linux 3.10.0-514.26.2.el7.x86_64"
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 = "18-Apr-17"
-SESSION_TIME = "17:14"
-SESSION_PID = "13862"
-DELTA_CPU = "0.006999"
-CLOCK_SECS = "0.11"
-CURRENT_DATE = "18-Apr-17"
-CURRENT_TIME = "17:14:41"
+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 = "PyFerret"
PEAK_MEMORY = "0"
-SPAWN_STATUS = "1"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
S1 = "hello"
S2 = ""hello""
S3 = "hello and goodbye"
@@ -10577,10 +10562,11 @@ NUM = "3"
T$DOLLAR = "hi"
T_HELLO = "hi"
show symbol s*
-SESSION_DATE = "18-Apr-17"
-SESSION_TIME = "17:14"
-SESSION_PID = "13862"
-SPAWN_STATUS = "1"
+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"
@@ -10590,17 +10576,19 @@ S2 = ""hello""
! exercise CANCEL SYMBOL
cancel symbol s2
show symbol s*
-SESSION_DATE = "18-Apr-17"
-SESSION_TIME = "17:14"
-SESSION_PID = "13862"
-SPAWN_STATUS = "1"
+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 = "18-Apr-17"
-SESSION_TIME = "17:14"
-SESSION_PID = "13862"
-SPAWN_STATUS = "1"
+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
@@ -10728,25 +10716,26 @@ show symbols/all
PPL$XPIXEL = "819"
PPL$YPIXEL = "707"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-696.1.1.el6.x86_64"
+FERRET_VERSION = "7.2"
+FERRET_PLATFORM = "Linux 3.10.0-514.26.2.el7.x86_64"
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 = "18-Apr-17"
-SESSION_TIME = "17:14"
-SESSION_PID = "13862"
-DELTA_CPU = "0.017998"
-CLOCK_SECS = "0.128"
-CURRENT_DATE = "18-Apr-17"
-CURRENT_TIME = "17:14:41"
+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 = "PyFerret"
PEAK_MEMORY = "201"
-SPAWN_STATUS = "1"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
*** Running ferret script: bn_comma_delimited.jnl
-[?1034h! bn420_comma_delimited
+! bn420_comma_delimited
! 10/2/95 - test comma and tab-delimited outputs
@@ -12404,7 +12393,7 @@ LIST/FORMAT=comma/precision=5 10*j+i
2,21,22,23,24,25
3,31,32,33,34,35
*** Running ferret script: bn_dynamic_grids.jnl
-[?1034h! bn420_dynamic_grids
+! bn420_dynamic_grids
! 9/95-9/11/95 - test the creation, destruction, and use of dynamic grids
! 2/96 - added GX=lo:hi:delta notation
! 4/98 *sh* changes once again to confine_axis -- earlier trapped error is once
@@ -12432,7 +12421,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
@@ -12479,7 +12468,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
@@ -12519,7 +12508,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
@@ -12562,7 +12551,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
@@ -12594,7 +12583,7 @@ list temp[gz=z999999,z=5:15] ! err during regrid
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
@@ -12606,7 +12595,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
@@ -12634,7 +12623,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
@@ -12672,7 +12661,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
@@ -12709,7 +12698,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
@@ -12731,7 +12720,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
@@ -12754,14 +12743,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
@@ -12784,7 +12773,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
@@ -12859,7 +12848,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
@@ -12968,7 +12957,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
@@ -12982,7 +12971,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
@@ -13067,10 +13056,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
@@ -13090,9 +13079,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
@@ -13119,10 +13108,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 5 pts
+ (AX###) X 5 i 1 6561 5 pts
normal Y
normal Z
normal T
@@ -13152,7 +13141,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
@@ -13166,7 +13155,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
@@ -13194,9 +13183,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
@@ -13219,9 +13208,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
@@ -13247,7 +13236,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
@@ -13290,9 +13279,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
@@ -13360,10 +13349,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
@@ -13525,10 +13514,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
@@ -13696,9 +13685,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
@@ -13837,9 +13826,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
@@ -14022,9 +14011,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
@@ -14061,7 +14050,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.
@@ -14077,7 +14066,7 @@ set axis/modulo psxt
set mode/last diag
*** Running ferret script: bn_cdf.jnl
-[?1034h! bn320_cdf
+! bn320_cdf
! benchmark to test netCDF input and output
! requires version 3.20 or later
! updated from version 2.3 1/26/95
@@ -14963,7 +14952,7 @@ list/x=180 fcn_rev_sub
0 / 11: 0.0000
1S / 10: 0.3166
*** Running ferret script: bn_regrid_transforms.jnl
-[?1034h! bn500_regrid_transforms
+! bn500_regrid_transforms
! benchmark to test regridding transformations and syntax
! requires version 2.30 or later
! 8/92
@@ -15080,17 +15069,17 @@ load temp[g=u,gx=@ave,gy=@asn]
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
+ 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 (G009) PSXU PSYT PSZT TIME2
- strip regrid on X: TEMP --> (G009) @LIN
+ 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 (G009) PSXU PSYT PSZT TIME2
+ 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
+ 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
@@ -17291,21 +17280,21 @@ 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
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @AVE
+ 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 (G009) X1PT NORMAL NORMAL NORMAL
+ 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 (G009) X1PT NORMAL NORMAL NORMAL
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X1PT]
regrid: 1 delta on X at AVE
SUBSET : 7 points (X)
@@ -17318,18 +17307,18 @@ list a1[gx=xoffset at ave]
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
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
- dealloc dynamic grid (G010) XOFFSET NORMAL NORMAL NORMAL
- allocate dynamic grid (G010) XOFFSET 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 (G010) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @SUM
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X1PT]
regrid: 1 delta on X at SUM
SUBSET : 7 points (X)
@@ -17341,18 +17330,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
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
- dealloc dynamic grid (G010) XOFFSET NORMAL NORMAL NORMAL
- allocate dynamic grid (G010) XOFFSET 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 (G010) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @VAR
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
+ 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)
@@ -17365,25 +17354,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
+ 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 (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
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @AVE
+ 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 (G010) X2PT NORMAL NORMAL NORMAL
+ 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 (G010) X2PT NORMAL NORMAL NORMAL
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X2PT]
regrid: 1 delta on X at AVE
SUBSET : 7 points (X)
@@ -17396,18 +17385,18 @@ list a2[gx=xoffset at ave]
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
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
- dealloc dynamic grid (G011) XOFFSET NORMAL NORMAL NORMAL
- allocate dynamic grid (G011) XOFFSET 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 (G011) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @SUM
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X2PT]
regrid: 1 delta on X at SUM
SUBSET : 7 points (X)
@@ -17419,18 +17408,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
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
- dealloc dynamic grid (G011) XOFFSET NORMAL NORMAL NORMAL
- allocate dynamic grid (G011) XOFFSET 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 (G011) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @VAR
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
+ 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)
@@ -17448,42 +17437,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
+ 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 (G010) X2PT NORMAL NORMAL NORMAL
+ 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 (G009) X1PT NORMAL NORMAL NORMAL
+ 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
+ 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 (G010) XOFFSET YOFFSET NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @AVE
+ 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
+ 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 (G012) NORMAL Y1PT NORMAL NORMAL
+ 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 (G012) NORMAL Y1PT NORMAL NORMAL
+ 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 (G011) X1PT NORMAL NORMAL NORMAL
+ 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 (G010) XOFFSET YOFFSET NORMAL NORMAL
+ 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)
@@ -17497,21 +17486,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
+ 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 (G010) XOFFSET YOFFSET NORMAL NORMAL
- dealloc dynamic grid (G010) XOFFSET YOFFSET NORMAL NORMAL
- allocate dynamic grid (G010) XOFFSET YOFFSET 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 (G010) XOFFSET YOFFSET NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @SUM
+ 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
+ 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)
@@ -17525,21 +17514,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
+ 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 (G010) XOFFSET YOFFSET NORMAL NORMAL
- dealloc dynamic grid (G010) XOFFSET YOFFSET NORMAL NORMAL
- allocate dynamic grid (G010) XOFFSET YOFFSET 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 (G010) XOFFSET YOFFSET NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @VAR
+ 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
+ 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)
@@ -17554,35 +17543,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
+ 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 (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
+ 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 (G011) XOFFSET YOFFSET NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @AVE
+ 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
+ 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 (G013) NORMAL Y2PT NORMAL NORMAL
+ 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 (G013) NORMAL Y2PT NORMAL NORMAL
+ 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 (G012) X2PT NORMAL NORMAL NORMAL
+ 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 (G011) XOFFSET YOFFSET NORMAL NORMAL
+ 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)
@@ -17596,21 +17585,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
+ 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 (G011) XOFFSET YOFFSET NORMAL NORMAL
- dealloc dynamic grid (G011) XOFFSET YOFFSET NORMAL NORMAL
- allocate dynamic grid (G011) XOFFSET YOFFSET 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 (G011) XOFFSET YOFFSET NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @SUM
+ 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
+ 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)
@@ -17625,21 +17614,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
+ 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 (G011) XOFFSET YOFFSET NORMAL NORMAL
- dealloc dynamic grid (G011) XOFFSET YOFFSET NORMAL NORMAL
- allocate dynamic grid (G011) XOFFSET YOFFSET 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 (G011) XOFFSET YOFFSET NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @VAR
+ 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
+ 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)
@@ -17660,33 +17649,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
+ 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 (G010) X2PT Y2PT NORMAL NORMAL
+ 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 (G009) X1PT Y1PT NORMAL NORMAL
+ 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
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A1 --> (G010) @MAX
+ 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 (G009) X1PT NORMAL NORMAL NORMAL
+ 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 (G009) X1PT NORMAL NORMAL NORMAL
+ 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 (G010) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X1PT]
regrid: 1 delta on X at MAX
SUBSET : 7 points (X)
@@ -17699,25 +17688,25 @@ list a1[gx=xoffset at max]
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
+ 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 (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
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A2 --> (G011) @MAX
+ 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 (G010) X2PT NORMAL NORMAL NORMAL
+ 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 (G010) X2PT NORMAL NORMAL NORMAL
+ 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 (G011) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X2PT]
regrid: 1 delta on X at MAX
SUBSET : 7 points (X)
@@ -17730,25 +17719,25 @@ list a2[gx=xoffset at max]
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
+ 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 (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
+ 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 (G012) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A4 --> (G012) @MAX
+ 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 (G011) X4PT NORMAL NORMAL NORMAL
+ 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 (G011) X4PT NORMAL NORMAL NORMAL
+ 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 (G012) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X4PT]
regrid: 1 delta on X at MAX
SUBSET : 7 points (X)
@@ -17761,18 +17750,18 @@ list a4[gx=xoffset at max]
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
+ 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 (G012) XOFFSET NORMAL NORMAL NORMAL
- dealloc dynamic grid (G012) XOFFSET NORMAL NORMAL NORMAL
- allocate dynamic grid (G012) XOFFSET 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 (G012) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A4 --> (G012) @MIN
+ 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 (G012) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X4PT]
regrid: 1 delta on X at MIN
SUBSET : 7 points (X)
@@ -17784,18 +17773,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
+ 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 (G012) XOFFSET NORMAL NORMAL NORMAL
- dealloc dynamic grid (G012) XOFFSET NORMAL NORMAL NORMAL
- allocate dynamic grid (G012) XOFFSET 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 (G012) XOFFSET NORMAL NORMAL NORMAL
- strip regrid on X: A4 --> (G012) @SUM
+ 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 (G012) XOFFSET NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) XOFFSET NORMAL NORMAL NORMAL
VARIABLE : X[GX=X4PT]
regrid: 1 delta on X at SUM
SUBSET : 7 points (X)
@@ -17812,25 +17801,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
+ 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 (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
+ 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 (G013) X5 NORMAL NORMAL NORMAL
- strip regrid on X: A5 --> (G013) @MAX
+ 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 (G012) X5_EDGES NORMAL NORMAL NORMAL
+ 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 (G012) X5_EDGES NORMAL NORMAL NORMAL
+ 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 (G013) X5 NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) X5 NORMAL NORMAL NORMAL
VARIABLE : X[GX=X5_EDGES]
regrid: 1 delta on X at MAX
SUBSET : 5 points (X)
@@ -17840,35 +17829,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
+ 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 (G012) X5_EDGES NORMAL NORMAL NORMAL
+ 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 (G011) X4PT NORMAL NORMAL NORMAL
+ 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 (G010) X2PT NORMAL NORMAL NORMAL
+ 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 (G009) X1PT NORMAL NORMAL NORMAL
+ 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
+ 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 (G010) X5 NORMAL NORMAL NORMAL
- strip regrid on X: A5 --> (G010) @MAX
+ 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 (G009) X5_EDGES NORMAL NORMAL NORMAL
+ 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 (G009) X5_EDGES NORMAL NORMAL NORMAL
+ 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 (G010) X5 NORMAL NORMAL NORMAL
+ 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)
@@ -17879,34 +17868,34 @@ list a5[gx=x5 at max]
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
+ 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 (G010) X5 NORMAL NORMAL NORMAL
- dealloc dynamic grid (G010) X5 NORMAL NORMAL NORMAL
- allocate dynamic grid (G010) X5 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 (G010) X5 NORMAL NORMAL NORMAL
- strip regrid on X: A5 --> (G010) @MAX
+ 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 (G010) X5 NORMAL NORMAL NORMAL
+ 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
+ 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 (G010) X5 NORMAL NORMAL NORMAL
- dealloc dynamic grid (G010) X5 NORMAL NORMAL NORMAL
- allocate dynamic grid (G010) X5 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 (G010) X5 NORMAL NORMAL NORMAL
- strip regrid on X: A5 --> (G010) @MAX
+ 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 (G010) X5 NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) X5 NORMAL NORMAL NORMAL
VARIABLE : X[GX=X5_EDGES, I=3]
regrid: 1 delta on X at MAX
X : 4
@@ -17917,19 +17906,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
+ 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 (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
+ 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 (G010) NORMAL NORMAL NORMAL TDAY
+ 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 (G010) NORMAL NORMAL NORMAL TDAY
+ dealloc dynamic grid (G###) NORMAL NORMAL NORMAL TDAY
VARIABLE : T[GT=TDAY]
SUBSET : 5 points (TIME)
01-JAN-1990 00 / 1: 32493.
@@ -17939,8 +17928,8 @@ 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
@@ -17948,17 +17937,17 @@ show grid
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
+ 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 (G011) NORMAL NORMAL NORMAL THOUR
- dealloc dynamic grid (G011) NORMAL NORMAL NORMAL THOUR
- allocate dynamic grid (G011) NORMAL NORMAL NORMAL THOUR
+ 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 (G011) NORMAL NORMAL NORMAL THOUR
- strip regrid on T: ATIME --> (G011) @MAX
+ 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 (G011) NORMAL NORMAL NORMAL THOUR
+ dealloc dynamic grid (G###) NORMAL NORMAL NORMAL THOUR
VARIABLE : T[GT=TDAY]
regrid: 24 hour on T at MAX
SUBSET : 5 points (TIME)
@@ -17969,8 +17958,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
@@ -17984,7 +17973,7 @@ set mode/last diag
*** Running ferret script: bn_axis_limits.jnl
-[?1034h!bn301_axis_limits.jnl
+!bn301_axis_limits.jnl
! exercise the new-V301 /XLIMITS and /YLIMITS qualifiers
define axis/x=20e:10w:10/unit=degree xax
@@ -18136,7 +18125,7 @@ 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)
*** Running ferret script: bn_movie.jnl
-[?1034h! bn301_movie.JNL
+! bn301_movie.JNL
! - test on-HDF movie creation by Program FERRET
! - FERRET ver 3.10 10/93
@@ -18145,7 +18134,7 @@ contour/x=160E:160W/t=1-jan-1980:1-jan-1982/lev=(-1,1,.25)/xlimits=140e:110w:-9/
! Dont run this script - fails with hdf5 libraries
exit/script
*** Running ferret script: bn_ez_order.jnl
-[?1034h! bn420_ez_order
+! bn420_ez_order
! updated from bn311_ez_order 9/95 - improved testing of /FORMAT=STREAM
! create test files
@@ -19178,7 +19167,7 @@ sp rm -f test_perm48.dat
sp rm -f test_perm48_10.dat
*** Running ferret script: bn_user.jnl
-[?1034h! bn312_user.jnl
+! bn312_user.jnl
! test the USER command options
@@ -19192,7 +19181,7 @@ set window/size=.5/aspect=.75 2
exit/script
*** Running ferret script: bn_stream.jnl
-[?1034h! bn420_stream.jnl
+! bn420_stream.jnl
! jan 96
! note that although this benchmark was added only in 1/96 the STREAM
@@ -19253,7 +19242,7 @@ list myv1,myv2
cancel data stream_data_link.unf
*** Running ferret script: bn_mc.jnl
-[?1034h!bn430_mc.jnl
+!bn430_mc.jnl
! kob - 9/5/96
! - simple test of mc data access for both irregular and regular time
! axis
@@ -19588,7 +19577,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
@@ -19698,7 +19687,7 @@ CAN MODE VERIFY
*** Running ferret script: bn_negative_t.jnl
-[?1034h! bn450_negative_t - 10/97
+! bn450_negative_t - 10/97
! test behavior of negative time step values (unsupported except as absolute
! dates prior to Ferret version 4.5)
@@ -20687,7 +20676,7 @@ LIST a[gt=tcal] ! deliberate error
CANCEL MODE ignore_error
*** Running ferret script: bn_xact_regrid.jnl
-[?1034h! BN450_xact_regrid.jnl
+! BN450_xact_regrid.jnl
! 10/97 - test "exact match" regridding
! wherein destination points are filled only if they exactly match
@@ -22083,7 +22072,7 @@ LIST Sfineoffset[G$1=$1Dcoarse at XACT]! non-aligning grid points fine to coarse
*** Running ferret script: bn_gc_functions.jnl
-[?1034h! bn500_gc_functions.jnl
+! bn500_gc_functions.jnl
! 10/97 - first version - test GC functions released in V4.9
! 3/98 - added single test of a dynamic axis passed to GC fcn
@@ -22669,7 +22658,7 @@ LIST/x=0/l=1 Z10_flow - bottom_flow
set view lr
shade/x=0/l=1/ylim=0:200:-20/lev ZAXREPLACE(flow[z=0:200],depth[z=0:200],z[z=0:200:.5])
*** Running ferret script: bn491_bug_fixes.jnl
-[?1034h! bn491_bug_fixes.jnl
+! bn491_bug_fixes.jnl
! test various fixes that went into version 4.91
! 2/98 *kob*
!
@@ -23392,7 +23381,7 @@ list elev
58.5947N / 1: .... .... .... .... 2.940 2.940 2.940 2.940 2.940 .... .... ....
*** Running ferret script: bn_odd_variable_name.jnl
-[?1034h! make sure memory is limited; otherwise the abstract axis will list
+! make sure memory is limited; otherwise the abstract axis will list
let save_mem = ($ferret_memory)
!-> DEFINE VARIABLE save_mem = 25.6
set mem /size=10
@@ -23682,7 +23671,7 @@ list 'v2-and-minus'[i=5:15 at ddc] ! Now the proper syntax
set mem /size=`save_mem`
!-> set mem /size=25.6
*** Running ferret script: bn_test_stream.jnl
-[?1034h
+
canc data/all
sp rm -f permutedBinaryTest.dat
@@ -24343,7 +24332,7 @@ list num1
2 / 2: 20.00 21.00
3 / 3: 22.00 23.00
*** Running ferret script: bn_define_axes.jnl
-[?1034h! bn_define_axes.jnl
+! bn_define_axes.jnl
! *sh* 5/99
! *sh* 12/99 - with streamlined syntax
! *acm* 12/16 - change to a comment only
@@ -24816,7 +24805,7 @@ show axis xax2
! cleanup
set mode/last ignore
*** Running ferret script: bn_polygon.jnl
-[?1034h! Demo of new POLYGON command
+! Demo of new POLYGON command
! *jd * 3.99
let xsqr = YSEQUENCE({0,.1,.1,0})
@@ -24838,7 +24827,7 @@ polygon/trans/line=4/over/i=1:100/nolabel xpts+xsqr-.25, ypts+ysqr, x*x/10
can mode meta
*** Running ferret script: bn500_bug_fixes.jnl
-[?1034h! bn500_bug_fixes.jnl
+! bn500_bug_fixes.jnl
! test various fixes that went into version 5.00
! 5/99 *kob*
@@ -25025,9 +25014,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
@@ -25110,7 +25099,7 @@ GO err491_spawn_quotes.jnl
! this should be a valid command
SPAWN "date"
-Tue Apr 18 17:14:50 PDT 2017
+WKD MON DD HH:MM:SS ZZZ YYYY
GO bn_reset
cancel mode verify
@@ -25180,7 +25169,7 @@ GO err500_IF_THEN_ELSE_quote.jnl
IF 1 THEN SAY "I is too big" ENDIF
I is too big
*** Running ferret script: bn_sample.jnl
-[?1034h! bn_sample.jnl
+! bn_sample.jnl
! 10/99 *sh*
! V550 *sh* 11/02 - documentation change only, reflecting subspan modulo
@@ -25247,14 +25236,14 @@ 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
+ 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
@@ -25290,10 +25279,10 @@ cancel memory/all
-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
+ 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 (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: 15 dset: 0 I: 1 3 J: -999 -999 K: -999 -999 L: -999 -999
@@ -25319,11 +25308,11 @@ cancel memory/all
-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
+ 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
@@ -25357,13 +25346,13 @@ cancel memory/all
-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
+ 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
@@ -25387,8 +25376,8 @@ 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
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
+ 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
@@ -25396,7 +25385,7 @@ 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
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
@@ -25420,9 +25409,9 @@ cancel memory/all
-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
+ 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 (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 1 J: -999 -999 K: -999 -999 L: -999 -999
@@ -25447,12 +25436,12 @@ cancel memory/all
-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
+ 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 (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
@@ -25482,8 +25471,8 @@ cancel memory/all
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
@@ -25491,7 +25480,7 @@ list/l=1/y=-2:2 SAMPLEI(a,{30,40,50})
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
@@ -25529,7 +25518,7 @@ cancel memory/all
! 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
+ 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
@@ -25538,7 +25527,7 @@ load/l=1/y=0 sst[I=30:50]
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
+ 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
@@ -25562,7 +25551,7 @@ 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
load/l=1/y=0 sst[I=30:39]
- dealloc 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 GSQ1 COADSX COADSY NORMAL TIME
strip limits reconciliation : EX#1
@@ -25571,7 +25560,7 @@ load/l=1/y=0 sst[I=30:39]
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
+ 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
@@ -25599,7 +25588,7 @@ cancel memory/all
-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
+ 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
@@ -25608,7 +25597,7 @@ load/l=1/y=0 sst[I=30:40]
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
+ 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
@@ -25634,7 +25623,7 @@ cancel memory/all
-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
+ 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
@@ -25643,7 +25632,7 @@ load/l=1/y=0 sst[I=30:41]
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
+ 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
@@ -25715,10 +25704,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
@@ -25737,10 +25726,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
@@ -25899,15 +25888,15 @@ 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
+ 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
+ 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
@@ -26221,7 +26210,7 @@ list SAMPLEL(X[x=110:200:10],{3,4,7}) ! normal axis
3 / 3:........................................
*** Running ferret script: bn_strides_revs_perms.jnl
-[?1034h! bn_strides_revs_perms.jnl
+! bn_strides_revs_perms.jnl
! *sh* 6/99
! exercise special netCDF performance and robustness enhancements to allow
@@ -26501,16 +26490,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
- 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
+ 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 (G006) (AX021) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX021) YAX1_3 ZAX1_2 TAX1_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
@@ -26530,9 +26519,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
- allocate dynamic grid (G006) (AX021) YAX1_3 ZAX1_2 TAX1_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 (G006) (AX021) YAX1_3 ZAX1_2 TAX1_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
@@ -26552,22 +26541,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
+ 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 (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
+ 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 (G006) (AX020) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX020) YAX1_3 ZAX1_2 TAX1_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)
@@ -26605,7 +26594,7 @@ 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
load var
- dealloc dynamic grid (G006) (AX020) YAX1_3 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 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
@@ -26613,16 +26602,16 @@ load var
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
+ 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 (G006) (AX020) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX020) YAX1_3 ZAX1_2 TAX1_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
@@ -26639,18 +26628,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
+ 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 (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
+ 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 (G007) (AX020) (AX022) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G007) @XACT
+ 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 (G007) (AX020) (AX022) ZAX1_2 TAX1_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
@@ -26672,19 +26661,19 @@ CANC MEM/ALL
! 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
+ 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 (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
+ 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 (G007) (AX021) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G007) @XACT
+ 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 (G007) (AX021) YAX1_3 ZAX1_2 TAX1_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
@@ -26705,18 +26694,18 @@ cancel axis/modulo XAX1_4
! 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
+ 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 (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
+ 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 (G007) (AX020) (AX022) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G007) @XACT
+ 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 (G007) (AX020) (AX022) ZAX1_2 TAX1_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
@@ -26731,19 +26720,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
+ 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 (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
+ 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 (G007) (AX020) (AX021) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G007) @XACT
+ 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 (G007) (AX020) (AX021) ZAX1_2 TAX1_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
@@ -26760,7 +26749,7 @@ 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
+ 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
@@ -26769,15 +26758,15 @@ set mode ignore; LIST/i=2:4:2 VAR; cancel mode ignore
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
+ 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 (G006) (AX020) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @AVE
+ 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 (G006) (AX020) YAX1_3 ZAX1_2 TAX1_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
@@ -26796,25 +26785,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
+ 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
+ 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
+ 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 (G006) (AX021) YAX1_30 ZAX1_20 TAX1_10
+ 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)
@@ -26828,24 +26817,24 @@ list/j=1/k=1/l=1 a[i=3:5]
21 / 5: 1131.
-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
+ 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 (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
+ 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
+ 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 (G006) (AX021) YAX1_30 ZAX1_20 TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX021) YAX1_30 ZAX1_20 TAX1_10
+ 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 (G007) (AX021) (AX022) ZAX1_20 TAX1_10
+ 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
@@ -26862,7 +26851,7 @@ 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
+ 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
@@ -26890,17 +26879,17 @@ cancel mem/all
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
+ 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
+ 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 (G007) (AX020) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -26916,9 +26905,9 @@ LIST/order=x/j=1/k=1/l=1 UNEVENVAR[i=2:4:2]
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
+ 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 (G007) (AX020) YUNEVEN ZAX1_6 TAX1_4
+ 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,25 +26921,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
+ 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 (G006) (AX021) YAX1_30 ZAX1_20 TAX1_10
+ 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
+ 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
+ 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 (G006) (AX020) YUNEVEN ZAX1_6 TAX1_4
+ 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,7 +26968,7 @@ 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
load/k=1/l=1 UNEVENVAR
- dealloc dynamic grid (G006) (AX020) YUNEVEN 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 GPC4 XUNEVEN YUNEVEN ZAX1_6 TAX1_4
strip limits reconciliation : EX#1
@@ -26988,17 +26977,17 @@ load/k=1/l=1 UNEVENVAR
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
+ 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
+ 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 (G006) (AX020) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27011,19 +27000,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
+ 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 (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
+ 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
+ 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 (G007) (AX020) (AX022) ZAX1_6 TAX1_4
+ 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
@@ -27045,19 +27034,19 @@ CANC MEM/ALL
! 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
+ 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 (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
+ 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 (G007) (AX021) YUNEVEN ZAX1_6 TAX1_4
- strip regrid on X: UNEVENVAR --> (G007) @XACT
+ 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 (G007) (AX021) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27075,19 +27064,19 @@ cancel axis/modulo XUNEVEN
! 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
+ 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 (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
+ 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
+ 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 (G007) (AX020) (AX022) ZAX1_6 TAX1_4
+ 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
@@ -27099,20 +27088,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
+ 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 (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
+ 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
+ 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 (G007) (AX021) (AX023) ZAX1_6 TAX1_4
+ 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
@@ -27127,19 +27116,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
+ 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 (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
+ 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
+ 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 (G007) (AX021) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27154,20 +27143,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
+ 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 (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
+ 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
+ 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 (G007) (AX023) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27184,19 +27173,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
+ 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 (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
+ 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
+ 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 (G007) (AX021) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27219,19 +27208,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
+ 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 (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
+ 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 (G007) (AX023) YAX1_30 ZAX1_20 TAX1_10
- strip regrid on X: BIGVAR --> (G007) @XACT
+ 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 (G007) (AX023) YAX1_30 ZAX1_20 TAX1_10
+ dealloc dynamic grid (G###) (AX###) YAX1_30 ZAX1_20 TAX1_10
VARIABLE : VAR
regrid: 2 delta on X
FILENAME : bn_strides.cdf
@@ -27248,19 +27237,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
+ 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 (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
+ 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 (G007) XAX1_40 (AX021) ZAX1_20 TAX1_10
- strip regrid on Y: BIGVAR --> (G007) @XACT
+ 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 (G007) XAX1_40 (AX021) ZAX1_20 TAX1_10
+ dealloc dynamic grid (G###) XAX1_40 (AX###) ZAX1_20 TAX1_10
VARIABLE : VAR
regrid: 2 delta on Y
FILENAME : bn_strides.cdf
@@ -27277,19 +27266,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
+ 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 (G007) (AX023) (AX022) (AX024) TAX1_10
- dealloc dynamic grid (G007) (AX023) (AX022) (AX024) TAX1_10
- allocate dynamic grid (G007) (AX023) (AX022) (AX024) TAX1_10
+ 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 (G007) (AX023) (AX022) (AX024) TAX1_10
- strip regrid on X: BIGVAR --> (G007) @XACT
+ 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 (G007) (AX023) (AX022) (AX024) TAX1_10
+ 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
@@ -27306,9 +27295,9 @@ 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
+ 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 (G006) (AX020) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -27316,16 +27305,16 @@ canc data/all
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
+ 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 (G006) (AX024) YAX1_30 XAX1_40 TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX024) YAX1_30 XAX1_40 TAX1_10
+ dealloc dynamic grid (G###) (AX###) YAX1_30 XAX1_40 TAX1_10
VARIABLE : VAR
regrid: 2 delta on X
FILENAME : bn_strides.cdf
@@ -27342,19 +27331,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
+ 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 (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
+ 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 (G006) ZAX1_20 (AX020) XAX1_40 TAX1_10
- strip regrid on Y: BIGVAR --> (G006) @XACT
+ 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 (G006) ZAX1_20 (AX020) XAX1_40 TAX1_10
+ dealloc dynamic grid (G###) ZAX1_20 (AX###) XAX1_40 TAX1_10
VARIABLE : VAR
regrid: 2 delta on Y
FILENAME : bn_strides.cdf
@@ -27371,19 +27360,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
+ 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 (G006) (AX024) (AX022) (AX023) TAX1_10
- dealloc dynamic grid (G006) (AX024) (AX022) (AX023) TAX1_10
- allocate dynamic grid (G006) (AX024) (AX022) (AX023) TAX1_10
+ 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 (G006) (AX024) (AX022) (AX023) TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) (AX023) TAX1_10
+ 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
@@ -27400,23 +27389,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
+ 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
+ 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 (G006) (AX022) XAX1_40 YAX1_30 TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX022) XAX1_40 YAX1_30 TAX1_10
+ dealloc dynamic grid (G###) (AX###) XAX1_40 YAX1_30 TAX1_10
VARIABLE : VAR
regrid: 2 delta on X
FILENAME : bn_strides.cdf
@@ -27433,19 +27422,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
+ 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 (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
+ 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 (G006) ZAX1_20 (AX023) YAX1_30 TAX1_10
- strip regrid on Y: BIGVAR --> (G006) @XACT
+ 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 (G006) ZAX1_20 (AX023) YAX1_30 TAX1_10
+ dealloc dynamic grid (G###) ZAX1_20 (AX###) YAX1_30 TAX1_10
VARIABLE : VAR
regrid: 2 delta on Y
FILENAME : bn_strides.cdf
@@ -27462,19 +27451,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
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_10
- dealloc dynamic grid (G006) (AX022) (AX024) (AX020) TAX1_10
- allocate dynamic grid (G006) (AX022) (AX024) (AX020) TAX1_10
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_10
+ 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
@@ -27491,7 +27480,7 @@ 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
+ 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
@@ -27511,16 +27500,16 @@ show grid xytvar
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
+ 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 (G006) (AX024) YLAT NORMAL TTIME
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX024) YLAT NORMAL TTIME
+ dealloc dynamic grid (G###) (AX###) YLAT NORMAL TTIME
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on X
FILENAME : bn_strides.cdf
@@ -27536,19 +27525,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
+ 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 (G006) XLON (AX020) NORMAL TTIME
- dealloc dynamic grid (G006) XLON (AX020) NORMAL TTIME
- allocate dynamic grid (G006) XLON (AX020) NORMAL TTIME
+ 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 (G006) XLON (AX020) NORMAL TTIME
- strip regrid on Y: XYTVAR --> (G006) @XACT
+ 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 (G006) XLON (AX020) NORMAL TTIME
+ dealloc dynamic grid (G###) XLON (AX###) NORMAL TTIME
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -27564,19 +27553,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
+ 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 (G006) (AX024) (AX022) NORMAL (AX023)
- dealloc dynamic grid (G006) (AX024) (AX022) NORMAL (AX023)
- allocate dynamic grid (G006) (AX024) (AX022) NORMAL (AX023)
+ 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 (G006) (AX024) (AX022) NORMAL (AX023)
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) NORMAL (AX023)
+ 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
@@ -27592,7 +27581,7 @@ 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)
+ 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
@@ -27609,16 +27598,16 @@ show grid xytvar
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
+ 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 (G006) (AX022) XLON NORMAL TTIME
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX022) XLON NORMAL TTIME
+ dealloc dynamic grid (G###) (AX###) XLON NORMAL TTIME
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on X
FILENAME : bn_strides.cdf
@@ -27634,19 +27623,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
+ 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 (G006) YLAT (AX023) NORMAL TTIME
- dealloc dynamic grid (G006) YLAT (AX023) NORMAL TTIME
- allocate dynamic grid (G006) YLAT (AX023) NORMAL TTIME
+ 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 (G006) YLAT (AX023) NORMAL TTIME
- strip regrid on Y: XYTVAR --> (G006) @XACT
+ 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 (G006) YLAT (AX023) NORMAL TTIME
+ dealloc dynamic grid (G###) YLAT (AX###) NORMAL TTIME
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -27662,19 +27651,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
+ 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 (G006) (AX022) (AX024) NORMAL (AX020)
- dealloc dynamic grid (G006) (AX022) (AX024) NORMAL (AX020)
- allocate dynamic grid (G006) (AX022) (AX024) NORMAL (AX020)
+ 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 (G006) (AX022) (AX024) NORMAL (AX020)
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) NORMAL (AX020)
+ 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
@@ -27690,7 +27679,7 @@ 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)
+ 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
@@ -27707,16 +27696,16 @@ show grid xytvar
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
+ 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 (G006) (AX024) YLAT NORMAL XLON
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX024) YLAT NORMAL XLON
+ dealloc dynamic grid (G###) (AX###) YLAT NORMAL XLON
VARIABLE : L*1000 + J*10 + I
regrid: 2 day on X
FILENAME : bn_strides.cdf
@@ -27732,19 +27721,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
+ 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 (G006) TTIME (AX020) NORMAL XLON
- dealloc dynamic grid (G006) TTIME (AX020) NORMAL XLON
- allocate dynamic grid (G006) TTIME (AX020) NORMAL XLON
+ 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 (G006) TTIME (AX020) NORMAL XLON
- strip regrid on Y: XYTVAR --> (G006) @XACT
+ 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 (G006) TTIME (AX020) NORMAL XLON
+ dealloc dynamic grid (G###) TTIME (AX###) NORMAL XLON
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -27760,19 +27749,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
+ 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 (G006) (AX024) (AX022) NORMAL (AX023)
- dealloc dynamic grid (G006) (AX024) (AX022) NORMAL (AX023)
- allocate dynamic grid (G006) (AX024) (AX022) NORMAL (AX023)
+ 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 (G006) (AX024) (AX022) NORMAL (AX023)
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) NORMAL (AX023)
+ 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
@@ -27788,7 +27777,7 @@ 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)
+ 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
@@ -27805,16 +27794,16 @@ show grid xytvar
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
+ 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 (G006) (AX022) XLON NORMAL YLAT
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX022) XLON NORMAL YLAT
+ dealloc dynamic grid (G###) (AX###) XLON NORMAL YLAT
VARIABLE : L*1000 + J*10 + I
regrid: 2 day on X
FILENAME : bn_strides.cdf
@@ -27830,19 +27819,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
+ 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 (G006) TTIME (AX023) NORMAL YLAT
- dealloc dynamic grid (G006) TTIME (AX023) NORMAL YLAT
- allocate dynamic grid (G006) TTIME (AX023) NORMAL YLAT
+ 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 (G006) TTIME (AX023) NORMAL YLAT
- strip regrid on Y: XYTVAR --> (G006) @XACT
+ 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 (G006) TTIME (AX023) NORMAL YLAT
+ dealloc dynamic grid (G###) TTIME (AX###) NORMAL YLAT
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -27858,19 +27847,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
+ 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 (G006) (AX022) (AX024) NORMAL (AX020)
- dealloc dynamic grid (G006) (AX022) (AX024) NORMAL (AX020)
- allocate dynamic grid (G006) (AX022) (AX024) NORMAL (AX020)
+ 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 (G006) (AX022) (AX024) NORMAL (AX020)
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) NORMAL (AX020)
+ 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
@@ -27886,7 +27875,7 @@ 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)
+ 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
@@ -27904,17 +27893,17 @@ show grid xytvar
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
+ 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
+ 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 (G006) (AX024) XLON YLAT NORMAL
+ dealloc dynamic grid (G###) (AX###) XLON YLAT NORMAL
VARIABLE : L*1000 + J*10 + I
regrid: 2 day on X
FILENAME : bn_strides.cdf
@@ -27930,20 +27919,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
+ 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 (G006) TTIME (AX020) YLAT NORMAL
- dealloc dynamic grid (G006) TTIME (AX020) YLAT NORMAL
- allocate dynamic grid (G006) TTIME (AX020) YLAT NORMAL
+ 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
+ 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 (G006) TTIME (AX020) YLAT NORMAL
+ dealloc dynamic grid (G###) TTIME (AX###) YLAT NORMAL
VARIABLE : L*1000 + J*10 + I
regrid: 2 deg on Y
FILENAME : bn_strides.cdf
@@ -27959,19 +27948,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
+ 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 (G006) (AX024) (AX022) (AX023) NORMAL
- dealloc dynamic grid (G006) (AX024) (AX022) (AX023) NORMAL
- allocate dynamic grid (G006) (AX024) (AX022) (AX023) NORMAL
+ 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 (G006) (AX024) (AX022) (AX023) NORMAL
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) (AX023) NORMAL
+ 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
@@ -27987,7 +27976,7 @@ 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
+ 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
@@ -28012,16 +28001,16 @@ cancel region; set region/l=1
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
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_6
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_6
+ 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
@@ -28036,26 +28025,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
+ 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
+ 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 (G006) (AX024) (AX022) (AX023) TAX1_6
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) (AX023) TAX1_6
+ 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
@@ -28070,26 +28059,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
+ 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
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_6
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) (AX020) TAX1_6
+ 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
@@ -28104,7 +28093,7 @@ 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
+ 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
@@ -28112,16 +28101,16 @@ canc data/all
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
+ 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 (G006) (AX024) (AX022) (AX023) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) (AX023) ZAX1_7
+ 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
@@ -28136,7 +28125,7 @@ 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
+ 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
@@ -28144,19 +28133,19 @@ canc data/all
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
+ 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 (G006) (AX022) (AX024) (AX020) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) (AX020) ZAX1_7
+ 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
@@ -28171,7 +28160,7 @@ 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
+ 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
@@ -28179,16 +28168,16 @@ canc data/all
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
+ 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 (G006) (AX024) (AX022) (AX023) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX022) (AX023) ZAX1_7
+ 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
@@ -28203,26 +28192,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
+ 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
+ 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 (G006) (AX022) (AX024) (AX020) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX022) (AX024) (AX020) ZAX1_7
+ 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
@@ -28237,11 +28226,11 @@ 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
+ 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
-[?1034h! bn_non_COARDS_netCDF.jnl
+! bn_non_COARDS_netCDF.jnl
! *sh* 3/99
! *sh* 6/00 -- added true scalar variable, TRUE_SCALAR
@@ -28449,7 +28438,7 @@ list HAS_BACKWARDS_AXIS
! list/i=1:5 BIG_IRREG
*** Running ferret script: bn_cache_hits.jnl
-[?1034h! bn_cache_hits.jnl
+! bn_cache_hits.jnl
! 3/99 *sh*
! Test the success of Ferret in recalling past results
@@ -28527,15 +28516,15 @@ 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
+ 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 (G002) XTROP COADSY NORMAL TIME
- strip regrid on X: SST --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SEA SURFACE TEMPERATURE
regrid: 1 deg on X
@@ -28554,7 +28543,7 @@ stat $1[gx=xtrop]
Mean value: 17.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
dealloc dynamic grid ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT
@@ -28567,15 +28556,15 @@ stat $1[gx=xtrop]
-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
+ 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 (G002) XTROP COADSY NORMAL TIME
- strip regrid on X: SST --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SEA SURFACE TEMPERATURE
regrid: 1 deg on X
@@ -28598,21 +28587,21 @@ let $1x = $1[gx=xtrop]
!-> DEFINE VARIABLE sstx = sst[gx=xtrop]
stat $1x
!-> stat sstx
- 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 (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
+ 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 (G002) XTROP COADSY NORMAL TIME
- strip regrid on X: SST --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SST[GX=XTROP]
LONGITUDE: 129.5E to 79.5W
@@ -28630,7 +28619,7 @@ stat $1x
Mean value: 17.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
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
@@ -28642,7 +28631,7 @@ stat $1x
-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
+ 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
@@ -28665,15 +28654,15 @@ stat $1x
define grid/x=xtrop gx
stat $1[g=gx]
!-> stat sst[g=gx]
- 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 (G002) XTROP COADSY NORMAL TIME
- dealloc dynamic grid (G002) XTROP COADSY NORMAL TIME
- allocate dynamic grid (G002) XTROP COADSY NORMAL TIME
+ 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 (G002) XTROP COADSY NORMAL TIME
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SEA SURFACE TEMPERATURE
regrid: 1 deg on X
@@ -28692,7 +28681,7 @@ stat $1[g=gx]
Mean value: 17.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
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
@@ -28704,13 +28693,13 @@ stat $1[g=gx]
-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
+ 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 (G002) XTROP COADSY NORMAL TIME
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SEA SURFACE TEMPERATURE
regrid: 1 deg on X
@@ -28732,18 +28721,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
+ 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 (G003) XTROP YTROP NORMAL TIME
- dealloc dynamic grid (G003) XTROP YTROP NORMAL TIME
- allocate dynamic grid (G003) XTROP YTROP NORMAL TIME
+ 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 (G003) XTROP YTROP NORMAL TIME
- strip regrid on X: SST --> (G003) @LIN
+ 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
+ dealloc dynamic grid (G###) XTROP YTROP NORMAL TIME
SEA SURFACE TEMPERATURE
regrid: 1 deg on X, 1 deg on Y
@@ -28762,7 +28751,7 @@ 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
+ 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
@@ -28775,16 +28764,16 @@ stat $1[gx=xtrop,gy=ytrop]
-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
+ 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 (G003) XTROP YTROP NORMAL TIME
- strip regrid on X: SST --> (G003) @LIN
+ 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
+ dealloc dynamic grid (G###) XTROP YTROP NORMAL TIME
SEA SURFACE TEMPERATURE
regrid: 1 deg on X, 1 deg on Y
@@ -28805,7 +28794,7 @@ 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
+ 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
@@ -28941,7 +28930,7 @@ let $1xyt = $1[g=gxyt]
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
+ 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
@@ -29318,15 +29307,15 @@ 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
+ 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 (G002) XTROP COADSY NORMAL TIME
- strip regrid on X: SST5 --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SST+5
regrid: 1 deg on X
@@ -29345,7 +29334,7 @@ stat $1[gx=xtrop]
Mean value: 22.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
dealloc dynamic grid ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT ABSTRACT
@@ -29358,15 +29347,15 @@ stat $1[gx=xtrop]
-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
+ 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 (G002) XTROP COADSY NORMAL TIME
- strip regrid on X: SST5 --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SST+5
regrid: 1 deg on X
@@ -29389,21 +29378,21 @@ let $1x = $1[gx=xtrop]
!-> DEFINE VARIABLE sst5x = sst5[gx=xtrop]
stat $1x
!-> stat sst5x
- 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 (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
+ 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 (G002) XTROP COADSY NORMAL TIME
- strip regrid on X: SST5 --> (G002) @LIN
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SST5[GX=XTROP]
LONGITUDE: 129.5E to 79.5W
@@ -29421,7 +29410,7 @@ stat $1x
Mean value: 22.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
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
@@ -29433,7 +29422,7 @@ stat $1x
-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
+ 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
@@ -29456,15 +29445,15 @@ stat $1x
define grid/x=xtrop gx
stat $1[g=gx]
!-> stat sst5[g=gx]
- 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 (G002) XTROP COADSY NORMAL TIME
- dealloc dynamic grid (G002) XTROP COADSY NORMAL TIME
- allocate dynamic grid (G002) XTROP COADSY NORMAL TIME
+ 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 (G002) XTROP COADSY NORMAL TIME
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SST+5
regrid: 1 deg on X
@@ -29483,7 +29472,7 @@ stat $1[g=gx]
Mean value: 22.605 (unweighted average)
Standard deviation: 9.8848
CONFUSE
- 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
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
@@ -29495,13 +29484,13 @@ stat $1[g=gx]
-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
+ 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 (G002) XTROP COADSY NORMAL TIME
+ 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 (G002) XTROP COADSY NORMAL TIME
+ dealloc dynamic grid (G###) XTROP COADSY NORMAL TIME
SST+5
regrid: 1 deg on X
@@ -29523,7 +29512,7 @@ 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
+ 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
@@ -29705,7 +29694,7 @@ let $1xyt = $1[g=gxyt]
-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
+ 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
@@ -30211,7 +30200,7 @@ say `a,return=isize`
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
+ 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
@@ -30250,7 +30239,7 @@ set mode/last diag
! v5.4 *kob* 10/01 - need to add exit/script - new exit command qualifiers
EXIT/SCRIPT
*** Running ferret script: bn_regrid_to_user.jnl
-[?1034h! bn_regrid_to_user
+! bn_regrid_to_user
! 8/99 *sh*
! 5/01 *sh* - changes to accomodate truncated levitus_climatology.cdf
! - additions to test use of expressions in SET/SHOW/DEFINE grid
@@ -30289,8 +30278,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
@@ -30318,8 +30307,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
@@ -30345,8 +30334,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
@@ -30398,14 +30387,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
@@ -30413,7 +30402,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
@@ -30426,17 +30415,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
@@ -30444,20 +30433,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 201 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
@@ -30574,76 +30563,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 41 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 41 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 41 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 41 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 41 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 41 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 41 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 41 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
@@ -30655,20 +30644,20 @@ 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
*** Running ferret script: bn_calendar.jnl
-[?1034h! bn_calendar.jnl
+! bn_calendar.jnl
! Version 5.3
! Add definitions of calendar axes as a NetCDF attribute of the time axis
! DEFINE AXIS/CALENDAR
@@ -30949,7 +30938,7 @@ 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).
*** Running ferret script: bn_dash_dot.jnl
-[?1034h! new PLOT/DASH and PLOT/SYMBOL=DOT qualifiers
+! new PLOT/DASH and PLOT/SYMBOL=DOT qualifiers
! *acm* 5/01
! *acm* 8/02 Remove calls to SYMBOL=DOT until postscript issues are resolved.
@@ -30969,7 +30958,7 @@ 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) )
*** Running ferret script: bn_flowlines.jnl
-[?1034h! bn_flowlines.jnl
+! bn_flowlines.jnl
! VECTOR/FLOW
! 6/2001
! ACM 4/2005 set mode meta to save one of the plots for the metafile checks.
@@ -31015,7 +31004,7 @@ set reg/l=1
vec/noax/xskip=16/yskip=8/len=15/title="Sinusoidal Projection" fsst*0,fsst*0+yy*mp_mask, x_page,y_page
vec/over/flow/noax/xskip=16/yskip=8/len=5/title="Sinusoidal Projection" fsst*0,fsst*0+yy*mp_mask, x_page,y_page
*** Running ferret script: bn_logaxes.jnl
-[?1034h! Test the qualifiers /HLOG and /VLOG for setting
+! Test the qualifiers /HLOG and /VLOG for setting
! log axes. On a depth axis, inverse log plot.
! use /VLOG
@@ -31057,7 +31046,7 @@ def axis/x dlog = -1*(10-i[i=1:10])
let fcn = (i[gx=dlog])^2
plot/hlog fcn
*** Running ferret script: bn_internal_external_functions.jnl
-[?1034h! test internal external functions. These moved from bn_external_functions
+! test internal external functions. These moved from bn_external_functions
! 6/01 because on systems w/out external functions support, the internal
! functions were not being tested - most notably win32 *kob*
@@ -31474,7 +31463,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
@@ -32105,7 +32094,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
@@ -33923,7 +33912,7 @@ go bn_unique_str2int
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)
@@ -34067,6 +34056,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
@@ -34088,15 +34094,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
@@ -34112,7 +34117,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
@@ -34137,12 +34142,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
@@ -34153,20 +34169,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
@@ -35288,16 +35290,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
@@ -35454,7 +35456,7 @@ list/l=1 samplexy(sst,{321,323.5,325}, {1,1,1}), sampleij(sst,{321,323,324.5}, {
*** Running ferret script: bn_modulo_strides.jnl
-[?1034h! bn_modulo_strides.jnl
+! bn_modulo_strides.jnl
! 6/01 *sh*
! exercise the combination of modulo and netCDF strides IO
@@ -35474,14 +35476,14 @@ 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
+ 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 (G002) (AX002) NORMAL NORMAL NORMAL
- strip regrid on X: A --> (G002) @XACT
+ 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
@@ -35491,24 +35493,24 @@ list/nohead b ! using rdstride
-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
+ 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
+ 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 (G003) (AX003) NORMAL NORMAL NORMAL
- dealloc dynamic grid (G003) (AX003) NORMAL NORMAL NORMAL
- allocate dynamic grid (G003) (AX003) NORMAL NORMAL NORMAL
+ 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 (G003) (AX003) NORMAL NORMAL NORMAL
- strip regrid on X: A --> (G003) @XACT
+ 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 (G003) (AX003) NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) (AX###) NORMAL NORMAL NORMAL
1 / 1: 1.00
4 / 2: 4.00
7 / 3: 7.00
@@ -35519,10 +35521,10 @@ 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
+ 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 (G002) (AX002) 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
found B M: 2 dset: 1 I: 1 3 J: -999 -999 K: -999 -999 L: -999 -999
18 / 1: 18.00
@@ -35725,15 +35727,15 @@ 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
+ 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 (G002) (AX002) NORMAL NORMAL NORMAL
- dealloc dynamic grid (G002) (AX002) NORMAL NORMAL NORMAL
- allocate dynamic grid (G002) (AX002) NORMAL NORMAL NORMAL
+ 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 (G002) (AX002) NORMAL NORMAL NORMAL
- strip regrid on X: STR --> (G002) @XACT
+ 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
@@ -35743,24 +35745,24 @@ list/nohead str[i=18:23:2] ! using rdstride
-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
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
+ 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 (G003) (AX003) NORMAL NORMAL NORMAL
- dealloc dynamic grid (G003) (AX003) NORMAL NORMAL NORMAL
- allocate dynamic grid (G003) (AX003) NORMAL NORMAL NORMAL
+ 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 (G003) (AX003) NORMAL NORMAL NORMAL
- strip regrid on X: STR --> (G003) @XACT
+ 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 (G003) (AX003) NORMAL NORMAL NORMAL
+ dealloc dynamic grid (G###) (AX###) NORMAL NORMAL NORMAL
1 / 1:"a"
4 / 2:"d"
7 / 3:"g"
@@ -35833,7 +35835,7 @@ list/nohead str[i=105:145:5]
140 / 8:"t"
145 / 9:"e"
*** Running ferret script: bn_axis_viewports.jnl
-[?1034h! bn_axis_viewports
+! bn_axis_viewports
! *sh* 9/01
! demonstrate vieport layout using the /AXES qualifier
@@ -36176,7 +36178,7 @@ ppl list yaxis
AUTO NORMAL NMTC= 0 LINT= 2 LABEL= -1 NSIG= 2 NTIC= 10
YORG= 1.40E+00 AUTO LABELLING
*** Running ferret script: bn_strings.jnl
-[?1034h! bn_strings.jnl
+! bn_strings.jnl
! 7/01 - test string syntax and behaviors
@@ -36658,9 +36660,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:........
@@ -36736,7 +36736,7 @@ list a[i=@rsum]
set mode/last stupid
*** Running ferret script: bn_axcontrol.jnl
-[?1034h ! NOAA/PMEL TMAP
+ ! NOAA/PMEL TMAP
! Program FERRET (alpha)
! Version 5.33 - 07/12/01
! 12-Jul-01 14:47
@@ -36775,7 +36775,7 @@ 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}
*** Running ferret script: bn_vec_curv.jnl
-[?1034h! bn_vec_curv.jnl
+! bn_vec_curv.jnl
!
! vector plots with curvilinear coordinates
!
@@ -36846,7 +36846,7 @@ vec/title="Stretched grid" a,b,mxpage,mypage
can mode meta
*** Running ferret script: bn_delimited_read.jnl
-[?1034h! bn_delimited_read.jnl
+! bn_delimited_read.jnl
! 10/01 *sh*
! test delimiited (spreadsheet) reads in Ferret
@@ -36872,52 +36872,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,\,"
@@ -37446,363 +37446,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,\,"
@@ -37908,7 +37908,7 @@ file/form=delim/delim="/,,,:" bn_delimited_read_date_time.dat
cancel mode ignore
*** Running ferret script: bn541_bug_fixes.jnl
-[?1034h! bn541_bug_fixes.jnl
+! bn541_bug_fixes.jnl
! test various fixes that went into version 5.41
! 3/02 *acm*
!
@@ -38370,19 +38370,19 @@ show mem/free
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
+ 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 (G003) (AX003) YAX1_100 NORMAL NORMAL
- strip regrid on X: A --> (G003) @XACT
+ 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 (G003) (AX003) YAX1_100 NORMAL NORMAL
+ 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
@@ -38491,10 +38491,10 @@ 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 10 pts
+ (AX###) X 10 r 1 91 10 pts
YAX1_100 Y 100 r 1 100 full
normal Z
normal T
@@ -38502,15 +38502,15 @@ show grid
! 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
+ 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 (G003) (AX003) YAX1_100 NORMAL NORMAL
+ dealloc dynamic grid (G###) (AX###) YAX1_100 NORMAL NORMAL
setting up 2D plot
-DELETE A M: 21 dset: 1 I: 1 10 J: 1 100 K: -999 -999 L: -999 -999
PPL plot 26 complete
@@ -38824,11 +38824,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
@@ -38894,7 +38891,7 @@ list b[d=1]
*** Running ferret script: bn_cancel_axes.jnl
-[?1034h! bn_cancel_axes.jnl
+! bn_cancel_axes.jnl
let ind1 = 1*i
let tim1 = 20500*randu(ind1[i=1:20500])
@@ -39143,8 +39140,21 @@ 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
-[?1034h! bn542_bug_fixes.jnl
+! bn542_bug_fixes.jnl
! test various fixes that went into version 5.42
! 10/02 *acm*
!
@@ -39357,7 +39367,7 @@ ooooooooooooooooooooooooooooooooooooooooooo
! GO err541_date_delim
*** Running ferret script: bn_subspan_modulo.jnl
-[?1034h! bn_subspan_modulo.jnl
+! bn_subspan_modulo.jnl
! *sh* 11/02
! a subspan modulo axis is one which is modulo, but the wrapping length
@@ -39949,37 +39959,37 @@ 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
+ 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 (G004) (AX002) NORMAL NORMAL TAX_SUBSPA
- strip regrid on X: V2D_REG --> (G004) @XACT
+ 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 (G004) (AX002) NORMAL NORMAL TAX_SUBSPA
+ 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
+ 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 (G004) XAX_SUBSPANORMAL NORMAL (AX002)
- dealloc dynamic grid (G004) XAX_SUBSPANORMAL NORMAL (AX002)
- allocate dynamic grid (G004) XAX_SUBSPANORMAL NORMAL (AX002)
+ 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 (G004) XAX_SUBSPANORMAL NORMAL (AX002)
- strip regrid on T: V2D_REG --> (G004) @XACT
+ 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 (G004) XAX_SUBSPANORMAL NORMAL (AX002)
+ 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
@@ -40480,37 +40490,37 @@ 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
+ 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 (G006) (AX001) NORMAL NORMAL TIRREG_SUB
- strip regrid on X: V2D_IRR --> (G006) @XACT
+ 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 (G006) (AX001) NORMAL NORMAL TIRREG_SUB
+ 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
+ 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 (G006) XIRREG_SUBNORMAL NORMAL (AX001)
- dealloc dynamic grid (G006) XIRREG_SUBNORMAL NORMAL (AX001)
- allocate dynamic grid (G006) XIRREG_SUBNORMAL NORMAL (AX001)
+ 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 (G006) XIRREG_SUBNORMAL NORMAL (AX001)
- strip regrid on T: V2D_IRR --> (G006) @XACT
+ 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 (G006) XIRREG_SUBNORMAL NORMAL (AX001)
+ 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
@@ -40604,7 +40614,7 @@ list $1_strings[i=1013:1024] ! via IS_MODULO
*** Running ferret script: bn_dots.jnl
-[?1034h! PLOT/SYMBOL=DOT qualifiers
+! PLOT/SYMBOL=DOT qualifiers
! *acm* 12/02
! ACM 4/2005 set mode meta to save this plot for the metafile checks.
! and cancel mode logo, so that .plt files are comparable.
@@ -40623,7 +40633,7 @@ 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)
*** Running ferret script: bn_lev_symbols.jnl
-[?1034h! Test symbols which capture the latest LEVELS settings
+! Test symbols which capture the latest LEVELS settings
! LEV_TEXT The argument, if any, to the LEV qualifier
! LEV_MIN Minimum level
! LEV_MAX Maximum level
@@ -40698,7 +40708,7 @@ LEV_MAX = "33"
LEV_NUM = "1"
LEV_DEL = "none"
*** Running ferret script: bn_mode_logo_lab.jnl
-[?1034h
+
! bn_mode_logo_lab.jnl
! cancel both logo and labels
! NOTE this script redefined the pre-defined viewports ul, ur, ll, lr...
@@ -40795,7 +40805,7 @@ cancel view
cancel mode logo
set mode labels
*** Running ferret script: bn_modulo_attribute.jnl
-[?1034h! Ferret V5.50 m
+! Ferret V5.50 m
! Modulo attribute can take numerical values to indicate
! the modulo length of axis (subspan modulo changes)
@@ -40834,7 +40844,7 @@ T0 = %%
Axis span (to cell edges) = 40 (modulo length = axis span)
*** Running ferret script: bn550_bug_fixes.jnl
-[?1034h! bn550_bug_fixes.jnl
+! bn550_bug_fixes.jnl
! test various fixes that went into version 5.5
! 10/02 *acm*
!
@@ -40852,7 +40862,7 @@ shade pc
poly/over/color=red/line=2/title="polygon" {220,240,280,250},{-20,70,40,-30}
*** Running ferret script: bn551_bug_fixes.jnl
-[?1034h! bn551_bug_fixes.jnl
+! bn551_bug_fixes.jnl
! test various fixes that went into version 5.51
! 2/03 *acm*
!
@@ -41089,7 +41099,7 @@ GO err550_dots_thickpens.jnl
plot/sym=dot/color=8/i=1:10 i
*** Running ferret script: bn_multi_line_labels.jnl
-[?1034h ! bn_multi_line_labels.jnl
+ ! bn_multi_line_labels.jnl
! March 31, 2003
!
! ACM 4/2005 ! set mode meta to save this plot for the metafile checks.
@@ -41217,7 +41227,7 @@ ppl plot
ppl rlabs,4,0
*** Running ferret script: bn552_bug_fixes.jnl
-[?1034h! bn552_bug_fixes.jnl
+! bn552_bug_fixes.jnl
! test various fixes that went into version 5.52
! 3/03 *acm*
!
@@ -41488,8 +41498,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
@@ -41711,7 +41721,7 @@ list/t=1-jan-1990 dummy
SET MODE/LAST IGNORE_ERROR
*** Running ferret script: bn_set_var_scale_off.jnl
-[?1034h! Qualifiers /SCALEFACTOR= and /OFFSET for SET VARIABLE.
+! Qualifiers /SCALEFACTOR= and /OFFSET for SET VARIABLE.
! Only for NetCDF datasets
! Applied after NetCDF Scale_factor and add_offset attributes
! New RETURN= arguments NC_SCALE, NC_OFF for values of NetCDF attributes
@@ -41756,7 +41766,7 @@ SET VAR/SCALE=10 x2
SET MODE/LAST IGNORE_ERROR
*** Running ferret script: bn_longvarnames.jnl
-[?1034h! variable names up to 128 characters long
+! variable names up to 128 characters long
! 3/2006 make them 127 to be able to add the null terminator for C strings
! else not used correctly in linked-list attribute structure.
@@ -41859,7 +41869,7 @@ LIST/K=2/L=3 a234567890b234567890c234567890d234567890e234567890f234567890g234567
3 / 3: 9.00 15.00 21.00 27.00 33.00
4 / 4: 11.00 19.00 27.00 35.00 43.00
*** Running ferret script: bn_shakey.jnl
-[?1034h! Changes to shade key:
+! Changes to shade key:
! - Default size is a little bigger
! - To put key labels on the left or bottom of the key, multiply the size by -1
! - Previously ALL OF kx_lo, kx_hi,ky_lo, ky_hi had to be set, or none of them
@@ -41984,7 +41994,7 @@ ppl list shakey
X LO X HI Y LO Y HI
1.20 9.20 -1.40 -1.31
*** Running ferret script: bn_eof_4d.jnl
-[?1034h! bn_eof_4d.jnl
+! bn_eof_4d.jnl
! test EOFs on XYZT grids
! In version 6.8 (double precision), the old eof functions are not available
@@ -42191,7 +42201,7 @@ list/nohead/i=1:5/j=3/k=9 eofst
exit/script
*** Running ferret script: bn_abstract_axis_names.jnl
-[?1034h! bn_abstract_axis_names.jnl
+! bn_abstract_axis_names.jnl
! acm 6/12/03
!
! Write and read datafiles with no clues about axis orientation from
@@ -42374,7 +42384,7 @@ sh grid v
DDD T 7 r 1 13 full
can data 1
*** Running ferret script: bn_many_polygons.jnl
-[?1034h! testing large number of polygons in a plot. Map plot has
+! testing large number of polygons in a plot. Map plot has
! 130501 polygons; previously we had an upper limit of 100K polygons
use coads_climatology
@@ -42402,7 +42412,7 @@ 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]
*** Running ferret script: bn_fill_irregular.jnl
-[?1034h! FILL on vars with irregular axes
+! FILL on vars with irregular axes
use gtbc011
fill/i=70/l=1 temp
@@ -42423,7 +42433,7 @@ fill v2d_irr[t=1-jan-1990:1-jan-1995]
use coads_clim_irreg.des
fill/x=180 sst
*** Running ferret script: bn_xml_output.jnl
-[?1034h!bn_xml_output.jnl
+!bn_xml_output.jnl
! new-V553 output in XML-style format
! Illustrate the SHOW commands with /XML xml-style output
! V5.80 11/04 new tests for SHOW VAR/XML; global variables.
@@ -42665,7 +42675,7 @@ SHO VAR/XML
<attribute name="ferret_datatype" type="char">
<value><![CDATA[FLOAT]]></value>
</attribute>
-<grid name="ABSTRACT">
+<grid name="GSI1">
<axes>
</axes>
</grid>
@@ -42720,7 +42730,7 @@ SHO VAR/XML
<attribute name="ferret_datatype" type="char">
<value><![CDATA[FLOAT]]></value>
</attribute>
-<grid name="ABSTRACT">
+<grid name="GSI1">
<axes>
</axes>
</grid>
@@ -42742,7 +42752,7 @@ SHOW VAR/XML
<attribute name="ferret_datatype" type="char">
<value><![CDATA[FLOAT]]></value>
</attribute>
-<grid name="ABSTRACT">
+<grid name="GSI1">
<axes>
</axes>
</grid>
@@ -42910,7 +42920,7 @@ SHO DATA/VAR/XML 1
</axis>
</axes>
*** Running ferret script: bn_test_nan.jnl
-[?1034h!bn_test_nan.jnl
+!bn_test_nan.jnl
! test to make sure that NaN is able to be set by user
! as bad value. If this fails, Ferret will crash
! Test on a file which is nothing but NaN's, and use
@@ -42986,7 +42996,7 @@ can var/all
*** Running ferret script: bn553_bug_fixes.jnl
-[?1034h! bn553_bug_fixes.jnl
+! bn553_bug_fixes.jnl
! test various fixes that went into version 5.52
! 9/03 *kob*
!
@@ -43074,7 +43084,7 @@ ppl shakey 1,1,.12
ppl shade
*** Running ferret script: bn_graticules.jnl
-[?1034h! /GRAT, /HGRAT and /VGRAT to set graticule lines
+! /GRAT, /HGRAT and /VGRAT to set graticule lines
! ACM March 12, 2004
! ACM 4/2005 set mode meta to save one of the plots for the metafile checks.
! and cancel mode logo, so that .plt files are comparable.
@@ -43182,7 +43192,7 @@ can mode graticule
pplus/reset ! restore tics etc
*** Running ferret script: bn_repeat_range.jnl
-[?1034h! REPEAT/RANGE=[/NAME=] for looping without depending
+! REPEAT/RANGE=[/NAME=] for looping without depending
! on the grid\
! ACM March 12, 2004
@@ -43682,7 +43692,7 @@ repeat/range=1:4/name=a (repeat/range=3:1:-1/name=a list a)
!-> REPEAT: A:4
cancel mode ignore
*** Running ferret script: bn554_bug_fixes.jnl
-[?1034h! bn554_bug_fixes.jnl
+! bn554_bug_fixes.jnl
! test various fixes that went into version 5.54
! 11/03 *acm*
!
@@ -44048,52 +44058,52 @@ 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)
+ 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 (G005) (AX009) (AX010) NORMAL (AX011)
- strip regrid on X: TAUX --> (G005) @XACT
+ 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 (G005) (AX009) (AX010) NORMAL (AX011)
+ 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
def grid/like=taux agrid
- dealloc dynamic grid (G005) (AX009) (AX010) NORMAL (AX011)
+ 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)
+ 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 (G005) (AX010) (AX009) NORMAL (AX008)
- strip regrid on X: TAUX --> (G005) @XACT
+ 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 (G005) (AX010) (AX009) NORMAL (AX008)
+ 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
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
@@ -44136,16 +44146,16 @@ load var
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
+ 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 (G006) (AX001) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX001) YAX1_3 ZAX1_2 TAX1_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
@@ -44160,19 +44170,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
+ 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 (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
+ 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 (G006) (AX007) (AX002) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX007) (AX002) ZAX1_2 TAX1_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
@@ -44193,19 +44203,19 @@ CANC MEM/ALL
! 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
+ 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 (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
+ 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 (G006) (AX007) YAX1_3 ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX007) YAX1_3 ZAX1_2 TAX1_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
@@ -44226,18 +44236,18 @@ cancel axis/modulo XAX1_4
! 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
+ 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 (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
+ 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 (G006) (AX002) (AX001) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX002) (AX001) ZAX1_2 TAX1_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
@@ -44252,19 +44262,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
+ 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 (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
+ 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 (G006) (AX002) (AX007) ZAX1_2 TAX1_1
- strip regrid on X: VAR --> (G006) @XACT
+ 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 (G006) (AX002) (AX007) ZAX1_2 TAX1_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
@@ -44281,24 +44291,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
+ 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
+ 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
+ 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 (G006) (AX002) YAX1_30 ZAX1_20 TAX1_10
+ 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)
@@ -44312,24 +44322,24 @@ list/j=1/k=1/l=1 a[i=3:5]
21 / 5: 1131.
-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
+ 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 (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
+ 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
+ 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 (G006) (AX002) YAX1_30 ZAX1_20 TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX002) YAX1_30 ZAX1_20 TAX1_10
+ 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 (G007) (AX002) (AX001) ZAX1_20 TAX1_10
+ 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
@@ -44354,19 +44364,19 @@ cancel mem/all
! 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
+ 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 (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
+ 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
+ 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 (G007) (AX007) YUNEVEN ZAX1_6 TAX1_4
+ 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
@@ -44384,19 +44394,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
+ 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 (G007) (AX001) (AX023) (AX024) TAX1_10
- dealloc dynamic grid (G007) (AX001) (AX023) (AX024) TAX1_10
- allocate dynamic grid (G007) (AX001) (AX023) (AX024) TAX1_10
+ 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 (G007) (AX001) (AX023) (AX024) TAX1_10
- strip regrid on X: BIGVAR --> (G007) @XACT
+ 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 (G007) (AX001) (AX023) (AX024) TAX1_10
+ 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
@@ -44413,24 +44423,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
+ 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 (G006) (AX002) YAX1_30 ZAX1_20 TAX1_10
+ 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
+ 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 (G006) (AX024) (AX023) (AX001) TAX1_10
- strip regrid on X: BIGVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX023) (AX001) TAX1_10
+ 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
@@ -44447,7 +44457,7 @@ 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
+ 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
@@ -44458,16 +44468,16 @@ 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)
+ 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 (G006) (AX023) (AX024) NORMAL (AX002)
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX023) (AX024) NORMAL (AX002)
+ 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
@@ -44485,7 +44495,7 @@ 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)
+ 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
@@ -44498,16 +44508,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
- allocate dynamic grid (G006) (AX024) (AX023) NORMAL (AX001)
- dealloc dynamic grid (G006) (AX024) (AX023) NORMAL (AX001)
- allocate dynamic grid (G006) (AX024) (AX023) NORMAL (AX001)
+ 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 (G006) (AX024) (AX023) NORMAL (AX001)
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX023) NORMAL (AX001)
+ 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
@@ -44523,7 +44533,7 @@ 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)
+ 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
@@ -44542,16 +44552,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
- allocate dynamic grid (G006) (AX023) (AX024) (AX002) NORMAL
- dealloc dynamic grid (G006) (AX023) (AX024) (AX002) NORMAL
- allocate dynamic grid (G006) (AX023) (AX024) (AX002) NORMAL
+ 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 (G006) (AX023) (AX024) (AX002) NORMAL
- strip regrid on X: XYTVAR --> (G006) @XACT
+ 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 (G006) (AX023) (AX024) (AX002) NORMAL
+ 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
@@ -44567,7 +44577,7 @@ 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
+ 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
@@ -44578,16 +44588,16 @@ cancel region; set region/l=1
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
+ 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 (G006) (AX024) (AX023) (AX001) TAX1_6
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX023) (AX001) TAX1_6
+ 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
@@ -44602,26 +44612,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
+ 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
+ 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 (G006) (AX023) (AX024) (AX002) TAX1_6
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX023) (AX024) (AX002) TAX1_6
+ 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
@@ -44636,7 +44646,7 @@ 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
+ 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
@@ -44644,16 +44654,16 @@ canc data/all
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
+ 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 (G006) (AX024) (AX023) (AX001) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX023) (AX001) ZAX1_7
+ 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
@@ -44668,7 +44678,7 @@ 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
+ 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
@@ -44676,19 +44686,19 @@ canc data/all
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
+ 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 (G006) (AX023) (AX024) (AX002) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX023) (AX024) (AX002) ZAX1_7
+ 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
@@ -44703,7 +44713,7 @@ 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
+ 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
@@ -44711,16 +44721,16 @@ canc data/all
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
+ 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 (G006) (AX024) (AX023) (AX001) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX024) (AX023) (AX001) ZAX1_7
+ 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
@@ -44735,26 +44745,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
+ 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
+ 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 (G006) (AX023) (AX024) (AX002) ZAX1_7
- strip regrid on X: MIDVAR --> (G006) @XACT
+ 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 (G006) (AX023) (AX024) (AX002) ZAX1_7
+ 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
@@ -44769,7 +44779,7 @@ 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
+ 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
@@ -45155,7 +45165,7 @@ list/wid=1024/y=1:2 sin(x[gx=xax]) + y[gy=yax]
can mode ignore
*** Running ferret script: bn_bounds.jnl
-[?1034h
+
! bn_bounds.jnl
! testing CDF read and write of file with irregular axes and bounds
! and DEFINE AXIS/BOUNDS
@@ -45517,7 +45527,7 @@ sh axis/t tax
4> 10 1 9.5
5> 11 1 10.5
*** Running ferret script: bn_all_leap.jnl
-[?1034h! bn_all_leap.jnl
+! bn_all_leap.jnl
! ACM 6/2004
! Added ALL_LEAP, or 366_DAY calendar (which is in the CF conventions).
! leap year every year
@@ -45567,7 +45577,7 @@ def axis/t/cal=nogood/t=1-jan-2000:1-jan-2010:1/units=months tax
can mode ignore
*** Running ferret script: bn570_bug_fixes.jnl
-[?1034h! bn554_bug_fixes.jnl
+! bn554_bug_fixes.jnl
! test various fixes that went into version 5.70
! 11/03 *acm*
!
@@ -45810,7 +45820,7 @@ plot v[gt=tax at asn]
def axis/t=07-feb-0599:07-feb-0600:1/units=years tt
plot t[gt=tt]
*** Running ferret script: bn_modstats.jnl
-[?1034h! bn_modstats.jnl
+! bn_modstats.jnl
! acm 8/25/04
! There was never a benchmark test of modulo statistics.
! (and a bug had crept into @MODVAR when there was missing data)
@@ -45957,7 +45967,7 @@ list var[gt=month_reg at modngd]
15-NOV / 11: 10.00
16-DEC / 12: 10.00
*** Running ferret script: bn_mc_vary_scale.jnl
-[?1034h! bn_mc_vary_scale.jnl
+! bn_mc_vary_scale.jnl
! Allow stepfiles to have different internal scale and offset.
! read and apply when opening each stepfile. Previously, the
! scale and offset from the first stepfile were applied.
@@ -46035,7 +46045,7 @@ list/quiet/nohead `tt,return=nc_scale`, `tt,return=nc_offset`
I / *: 2.000 -0.02000
*** Running ferret script: bn_plot_nokey.jnl
-[?1034h! bn_plot_nokey.jnl (bug 1089)
+! bn_plot_nokey.jnl (bug 1089)
! 22-nov-2004
! Test new PLOT/NOKEY qualifier
@@ -46054,7 +46064,7 @@ 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
*** Running ferret script: bn580_bug_fixes.jnl
-[?1034h! bn580_bug_fixes.jnl
+! bn580_bug_fixes.jnl
! test various fixes that went into version 5.80
! 7/04 *acm*
!
@@ -47238,7 +47248,7 @@ POLYGON XT, YT, I[I=1:10]
PLOT/VS XT, YT
*** Running ferret script: bn_inf_levels.jnl
-[?1034h! Run FERRET/fer/ferretdods_gui
+! Run FERRET/fer/ferretdods_gui
! test open upper and lower levels (-INF) (INF)
can mode logo
@@ -47329,7 +47339,7 @@ go polymark poly/key/title="polygons"/lev=(-inf)(4,26,1)(inf), lon, lat, xsequen
*** Running ferret script: bn_regulart.jnl
-[?1034h! bn_regulart.jnl
+! bn_regulart.jnl
! 5/12/2005 ACM
! Test of the USE/REGULART qualifier
@@ -47346,11 +47356,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
@@ -47365,7 +47375,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
@@ -47373,7 +47383,7 @@ list/l=1:6 t[gt=tcoads], tbox[gt=tcoads]
17-JUN-1946 / 6: 90017. 30.44
*** Running ferret script: bn_labwid.jnl
-[?1034h! LABWID returns the length in Denbo inches of the
+! LABWID returns the length in Denbo inches of the
! string. For multi-line strings, returns length of
! the longest line.
@@ -47430,7 +47440,7 @@ LIST LABWID("@IISTRING<NL>@SSSTRING", .15)
X : 1
0.9808
*** Running ferret script: bn_redefine_taxis_mc.jnl
-[?1034h! bn_redefine_taxis_mc.jnl
+! bn_redefine_taxis_mc.jnl
! ACM 15-Apr-2005
! Redefine the time axis of a multi-file data set.
@@ -47493,7 +47503,7 @@ list/x=180/y=0 sst
5 / 5: 28.49
6 / 6: 28.32
*** Running ferret script: bn_illegal_axisname.jnl
-[?1034h! Some OPenDAP HDF files have illegal axis names, e.g. with a dot in the name.
+! 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.
! The file has a variable with axis names COADSX.ILLEGAL, COADSY.ILLEGAL. The axes contain
! just indices. The file also has variables NEW.LONGITUDES and NEW.LATITUDES which contain
@@ -47544,7 +47554,7 @@ sh grid sst
normal Z
normal T
*** Running ferret script: bn_exit_script.jnl
-[?1034h! bn_exit_script.jnl
+! bn_exit_script.jnl
! 5/2005 ACM
! tests of EXIT/SCRIPT command, in combination with IF and REPEAT
! 3/2007 add a check for exit/script within a loop (fixes for bug 1304)
@@ -47630,7 +47640,7 @@ loop
3
loop
*** Running ferret script: bn_exit_cycle.jnl
-[?1034h! bn_exit_cycle.jnl
+! bn_exit_cycle.jnl
! 5/2005 ACM
! EXIT/CYCLE skips remaining commands in this repetition of a loop
@@ -47658,7 +47668,7 @@ say 16384 if bigger than 500
loop finished 16384 gt 10000
*** Running ferret script: bn_curv_mod.jnl
-[?1034h! bn_curv_mod
+! bn_curv_mod
! Test of fill/mod and contour/mod
! 5/24/2005 Ferret v5.81
@@ -47676,7 +47686,7 @@ 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]
*** Running ferret script: bn_shade_keycont.jnl
-[?1034h! Continuous shade key
+! Continuous shade key
! test setting it and whether default is restored on next command.
! also whether behavior consistent when we call shakey
@@ -47769,7 +47779,7 @@ ppl shakey ,0,-.12,3,,,`x1`,`x2`,`y1`
!-> ppl shakey ,0,-.12,3,,,2.2,5.212,1.4
ppl fill
*** Running ferret script: bn581_bug_fixes.jnl
-[?1034h! bn581_bug_fixes.jnl
+! bn581_bug_fixes.jnl
! test various fixes that went into version 5.81
! 2/05 *acm*
!
@@ -47788,7 +47798,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
@@ -48261,7 +48271,7 @@ POLYGON/LINE/fill xp, yp, ypts
! GO err580_regrid_prec.jnl
*** Running ferret script: bn_tab_comma_multivar.jnl
-[?1034h! bn_tab_comma_multivar.jnl
+! bn_tab_comma_multivar.jnl
!
! Fixes for bug 1273
! v5.90 8/9/2005
@@ -48303,7 +48313,7 @@ COUNTRY ID AA BB NEWCOUNTRY THE_DATA_VAR
"JP" 2 8000 2000500 "c" 5
"US" 3 12000 3000500 "e" 4
*** Running ferret script: bn_element_functions.jnl
-[?1034h ! NOAA/PMEL TMAP
+ ! NOAA/PMEL TMAP
! FERRET v5.81
! Solaris 5.6 - 08/08/05
! 9-Aug-05 14:36
@@ -48427,14 +48437,14 @@ list element_index_str_n (axy[k=1:2,j=1:2], {"a10", "a2", "d4", "c5"})
2 / 2: .... 3.000
*** Running ferret script: bn_long_revision_num.jnl
-[?1034h! bn_long_revision_num.jnl
+! bn_long_revision_num.jnl
! ACM 8/30/05
! revision numbers were previously limited to 2 decimal places: v5.81
! Now they can be longer, for minor revisions between releases: v5.8101
! ferret version
sh sym FERRET_VERSION
-FERRET_VERSION = "7.1"
+FERRET_VERSION = "7.2"
! history attribute
let a = 12
@@ -48452,7 +48462,7 @@ LAB1 = "X : 0.5 to 314.5"
! show commands without an argument, lists version number at the top
sho command
- Commands in Program PyFerret (beta/debug) version7.1:
+ Commands in Program PyFerret (beta/debug) version7.2:
SET
SET WINDOW/SIZE/NEW/LOCATION/ASPECT/CLEAR/TITLE/QUALITY/ANTIALIA/NOANTIAL
/ENGINE/COLOR/OPACITY/THICKEN/XPIXELS/YPIXELS/XINCHES/YINCHES/TEXTPROM
@@ -48568,7 +48578,7 @@ sho command
/OPACITY/DEGMINSE/HALFSPAC
SPAWN
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/THICKNES/OPACITY/TITLE
QUERY/ALL/FILE/IGNORE
IF
ELSE
@@ -48582,7 +48592,7 @@ sho command
Use SHOW ALIAS to see alternative command names
*** Running ferret script: bn_window_title.jnl
-[?1034h! bn_window_title.jnl
+! bn_window_title.jnl
! Define a title for windows rather than just FERRET_1, FERRET_2, ...
! If no title is set, use SESSION_DATE:SESSION_TIME
@@ -48593,7 +48603,7 @@ go ptest
PLOT/VS/LINE/I=1:314 i*cos(i/20),i*sin(i/20)
sh sym win_title
-WIN_TITLE = "18-Apr-17_17:15"
+WIN_TITLE = "DD-MON-YY HH:MM"
set win/title="set the title"
sho sym win_title
@@ -48611,7 +48621,7 @@ sho sym win_title
WIN_TITLE = "_"
set win/title="($session_date):($session_time)"
- !-> set win/title="18-Apr-17:17:15"
+ !-> 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
@@ -48620,18 +48630,18 @@ set win/title="($session_date):($session_time)"
! If so substitute another string.
DEFINE SYMBOL the_date = ($session_date"SESSION_DATE")
- !-> DEFINE SYMBOL the_date = 18-Apr-17
+ !-> DEFINE SYMBOL the_date = DD-MON-YY
DEFINE SYMBOL the_time = ($session_time"SESSION_TIME")
- !-> DEFINE SYMBOL the_time = 17:15
+ !-> DEFINE SYMBOL the_time = HH:MM
SET WIN/TITLE="($the_date):($the_time)"
- !-> SET WIN/TITLE="18-Apr-17:17:15"
+ !-> SET WIN/TITLE="DD-MON-YY HH:MM"
can win/all
set win/new
sh sym win_title
-WIN_TITLE = "18-Apr-17:17:15"
+WIN_TITLE = "DD-MON-YY HH:MM"
*** Running ferret script: bn_last_error.jnl
-[?1034h! bn_last_error.jnl
+! bn_last_error.jnl
! acm Nov 2005
!
! - test the symbol FER_LAST_ERROR (Commands from various bn scripts)
@@ -48684,7 +48694,7 @@ FER_LAST_ERROR = "**ERROR: error in external function. Bailing out of external f
SET MODE/LAST IGNORE_ERROR
*** Running ferret script: bn_deg_min.jnl
-[?1034h! bn_deg_min.jnl
+! bn_deg_min.jnl
! label axes with degrees and minutes rather than degrees and decimal degrees.
! 19-May-06 add seconds as well...
@@ -48734,7 +48744,7 @@ plot/x=223./DEGMIN/HALFSP rose
plot/y=58.52/DEGMIN=2/HALFSP rose
plot/vs/HALFSP xpts, ypts
*** Running ferret script: bn_dp_readscale.jnl
-[?1034h! bn_dp_readscale.jnl
+! bn_dp_readscale.jnl
! 9-Feb-2006 ACM
! When there is a double precision variable,
@@ -48810,7 +48820,7 @@ list xax
cancel list/precision
*** Running ferret script: bn_bounds_defineax.jnl
-[?1034h! bn_bounds_defineax.jnl
+! bn_bounds_defineax.jnl
! 3/22/2006
! Previously only allowed 2*N definition of bounds in DEFINE AXIS/BOUNDS
! Now allow N+1 definition of bounds, or three equal-lenght lists of
@@ -48905,7 +48915,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]
@@ -48917,7 +48927,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
@@ -48947,11 +48957,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
@@ -48973,15 +48983,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.
@@ -49004,15 +49014,15 @@ 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
-[?1034h! bn_attributes
+! bn_attributes
! test attribute handling on netcdf intput/output and
! programatic access to attribute information
! needs new cdf files modfalse.nc, test0.nc
@@ -50541,15 +50551,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
@@ -51310,7 +51320,7 @@ list temp.test_counter[i=3:5]
4 / 4: 4.000
5 / 5: 5.000
*** Running ferret script: bn_transforms.jnl
-[?1034h! Test the transforms
+! Test the transforms
use coads_climatology
@@ -51514,7 +51524,7 @@ 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 ....
*** Running ferret script: bn_variance.jnl
-[?1034h ! bn_variance.jnl
+ ! bn_variance.jnl
! the @VAR transform is not tested in bn_transforms.jnl script.
use coads_climatology
@@ -51550,7 +51560,7 @@ list/y=3/l=1/x=233 u[z=@var]
TIME : 17-AUG-1982 12:00
11.33
*** Running ferret script: bn_linecolors.jnl
-[?1034h! bn_linecolors.jnl
+! bn_linecolors.jnl
! 5/2006 ACM
! test setting more line colors
@@ -51615,7 +51625,7 @@ can win/all
set win/new
*** Running ferret script: bn_cdf_errmsg.jnl
-[?1034h! bn_cdf_errmsg.jnl
+! bn_cdf_errmsg.jnl
! ACM 7/13/2006
! test reporting of cdf error messages from OPeNDAP library v3.6.2
@@ -51660,7 +51670,7 @@ use asc.nc
set mode/last ignore
*** Running ferret script: bn600_bug_fixes.jnl
-[?1034h! bn600_bug_fixes.jnl
+! bn600_bug_fixes.jnl
! test various fixes that went into version 6.00
! 8/05 *acm*
!
@@ -51771,11 +51781,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)
@@ -52478,7 +52488,7 @@ set mem /size=25.6
*** Running ferret script: bn601_bug_fixes.jnl
-[?1034h! bn601_bug_fixes.jnl
+! bn601_bug_fixes.jnl
! test various fixes that went into version 6.01
! 20-Sep-2006 ACM
!
@@ -53065,7 +53075,7 @@ sho dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(PSXT91_108) DOUBLE units CHAR 12 T degrees_east
@@ -53114,7 +53124,7 @@ sho dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(PSXT91_108) DOUBLE units CHAR 12 T degrees_east
@@ -53337,7 +53347,7 @@ stat rose[j=12,d=1]
Mean value: 62.717 (unweighted average)
Standard deviation: 156.25
*** Running ferret script: bn_set_strides.jnl
-[?1034h! bn_set_strides.jnl
+! bn_set_strides.jnl
! Jing Li, 11/2006
! tests for SET AXIS/STRIDES
@@ -53380,17 +53390,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
@@ -53439,7 +53449,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
@@ -53490,7 +53500,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
@@ -53508,24 +53518,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
@@ -53534,7 +53544,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
@@ -53629,9 +53639,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
@@ -53732,19 +53742,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
@@ -53774,7 +53784,7 @@ show axis `sst,return=taxis`
T0 = 01-JAN-0000 00:00:00
Axis span (to cell edges) = 2191.455 (modulo length = 8765.82)
*** Running ferret script: bn_lsl_lowpass.jnl
-[?1034h! bn_lsl_lowpass.jnl
+! bn_lsl_lowpass.jnl
! Test lsl_lowpass, now included as a statically-linked external function
use gtsa056_2
@@ -53807,7 +53817,7 @@ LIST/L=10:20 MY_TEMP[L=1:110], F_FILTERED[L=1:110]
14-MAR-1982 09 / 20: 27.42 27.43
*** Running ferret script: bn_return_xmod_tmod.jnl
-[?1034h! New `var,return=xmod` `var,return=tmod`
+! New `var,return=xmod` `var,return=tmod`
! Return modulo lengths, or blank if not modulo
use ocean_atlas_temp
@@ -53848,8 +53858,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
@@ -53876,7 +53886,7 @@ say `axy,return=xmod`
!-> MESSAGE/CONTINUE 2
2
*** Running ferret script: bn602_bug_fixes.jnl
-[?1034h! bn602_bug_fixes.jnl
+! bn602_bug_fixes.jnl
! test various fixes that went into version 6.02
! 09-Nov-2006 ACM
@@ -54138,7 +54148,7 @@ list a
3 / 3:""
*** Running ferret script: bn_modnbd.jnl
-[?1034h! Test MODNBD regridding statistic.
+! Test MODNBD regridding statistic.
use gtsa056_2.cdf
!use climatological_axes
@@ -54200,7 +54210,7 @@ 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
*** Running ferret script: bn_fifty_files.jnl
-[?1034h! bn_fifty_files.jnl
+! bn_fifty_files.jnl
! We build OPeNDAP so that 100 files can be opened at a time.
! Test with fifty.
@@ -54260,7 +54270,7 @@ use weird_name1.cdf
cancel mode ignore_error
*** Running ferret script: bn603_bug_fixes.jnl
-[?1034h! bn603_bug_fixes.jnl
+! bn603_bug_fixes.jnl
! test various fixes that went into version 6.03
! 11-May-2006 ACM
@@ -54376,7 +54386,7 @@ LIST/NOHEAD/I=91:94/J=37/K=1/L=1 TEMP,SALT
136.5W / 94: 27.17807 2.380348E-04
*** Running ferret script: bn_set_var_name.jnl
-[?1034h! 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!
! ACM 8/2007
@@ -54421,7 +54431,7 @@ LIST/X=179:183/Y=40/L=3 sst
177W / 82: 36.24
*** Running ferret script: bn_memory_symbol.jnl
-[?1034h! bn_memory_symbol.jnl
+! bn_memory_symbol.jnl
! Ferret v6.06 15-Aug-07
! Symbol FERRET_MEMORY shows current size of Ferret memory in MWords
@@ -54450,7 +54460,7 @@ show memory
Peak demand: 0 words
Current cache: 0 words
*** Running ferret script: bn605_bug_fixes.jnl
-[?1034h! bn604_bug_fixes.jnl
+! bn604_bug_fixes.jnl
! test various fixes that went into version 6.05
! 27-July-2007 ACM
@@ -54547,7 +54557,7 @@ DNCASE(STR)
STRCAT(STR1,STR2)
SUBSTRING(STR,OFFSET,LENGTH)
STRFLOAT(STR)
-INNERPRODUCT(VAR1,VAR2,IDIM)
+DOT(VAR1,VAR2,IDIM)
TRANSPOSE(VAR,DIM1,DIM2)
Externally defined functions available to Ferret:
@@ -54573,9 +54583,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)
@@ -54583,13 +54600,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)
@@ -54600,6 +54628,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)
@@ -54612,27 +54641,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)
@@ -54656,6 +54695,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)
@@ -54668,6 +54709,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)
@@ -54683,6 +54727,9 @@ 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)
@@ -54701,6 +54748,7 @@ 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)
@@ -54715,40 +54763,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)
-INNERPRODUCT_X(VAR1,VAR2)
-INNERPRODUCT_Y(VAR1,VAR2)
-INNERPRODUCT_Z(VAR1,VAR2)
-INNERPRODUCT_T(VAR1,VAR2)
-INNERPRODUCT_E(VAR1,VAR2)
-INNERPRODUCT_F(VAR1,VAR2)
ADD_9(A,B,C,D,E,F,G,H,I)
APPENDE(ENS,VAR)
AVET(A)
@@ -54941,7 +54955,7 @@ SHAPEFILE_WRITEXYVAL(SHAPEFILE,GRIDX,GRIDY,VALUE,VALNAME,MAPPRJ)
SHAPEFILE_WRITEXYZVAL(SHAPEFILE,GRIDX,GRIDY,GRIDZ,VALUE,VALNAME,MAPPRJ)
*** Running ferret script: bn608_bug_fixes.jnl
-[?1034h! bn608_bug_fixes
+! bn608_bug_fixes
! test various fixes that went into version 6.08
! 24-Sep ACM
@@ -55108,7 +55122,7 @@ SHADE/LEV=300/I=1:100/J=1:100 i+j
SET MODE/LAST ignore
*** Running ferret script: bn_shade_trim.jnl
-[?1034h! bn_shade_trim.jnl
+! bn_shade_trim.jnl
! Test new qualifier SHADE/TRIM which trims the region of
! shade plot as is done by FILL. For LAS scripts which do
! shade underlay for FILL plots.
@@ -55142,7 +55156,7 @@ YAXIS_MIN = "30.5000000"
YAXIS_MAX = "43.5000000"
*** Running ferret script: bn_mode_nlevels.jnl
-[?1034h! bn_mode_nlevels.jnl
+! bn_mode_nlevels.jnl
! 3-mar-2008
! v6.1 MODE NLEVELS (default is 40)
@@ -55180,7 +55194,7 @@ LEV_DEL = "0.5"
set mode nlevels 40
*** Running ferret script: bn61_bug_fixes.jnl
-[?1034h! bn608_bug_fixes
+! bn608_bug_fixes
! test various fixes that went into version 6.1
! 2-Jan-2008 ACM
@@ -55236,7 +55250,7 @@ SAY `1.23456789e-15,prec=10`
!-> MESSAGE/CONTINUE 1.23456789E-15
1.23456789E-15
*** Running ferret script: bn_test_opendap.jnl
-[?1034h! Test the test_opendap function: returns 0 if successful, or error code if not.
+! Test the test_opendap function: returns 0 if successful, or error code if not.
SET MODE IGNORE
!! Change to another server, this one not working 3/2012
@@ -55256,7 +55270,7 @@ list test_opendap ("http://ferret.pmel.NOT.noaa.gov/thredds/dodsC/data/PMEL/WOA0
CANCEL MODE IGNORE
*** Running ferret script: bn611_bug_fixes.jnl
-[?1034h! bn611_bug_fixes.jnl
+! bn611_bug_fixes.jnl
! Fixes that go into v6.11 release
GO bn_reset
@@ -55835,7 +55849,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>
@@ -55983,7 +55997,7 @@ list b
save/clob/file=b.nc b
*** Running ferret script: bn_no_valid_on_plot.jnl
-[?1034h! bn_no_valid_on_plot.jnl
+! bn_no_valid_on_plot.jnl
! Bug 1038 points out that the No Valid Data label that is
! put onto 2D plot if there is no good data, is not put onto
! 1D plots. Add it to the variable title so it shows up in the key
@@ -56049,7 +56063,7 @@ VECTOR/Y=80:90 sst[L=1], sst[L=1]
SET MODE/last nodata_lab
*** Running ferret script: bn_median.jnl
-[?1034h! Test median smoothing tranform
+! Test median smoothing tranform
! Default length is 3
use gtsa056_2.cdf
@@ -56154,7 +56168,7 @@ plot/trans var, var[z=@med:4]
set mode/last ignore
*** Running ferret script: bn614_bug_fixes.jnl
-[?1034h! bn614_bug_fixes.jnl
+! bn614_bug_fixes.jnl
! Fixes that go into v6.14 release
GO bn_reset
@@ -56517,9 +56531,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
@@ -56769,8 +56783,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
@@ -57022,7 +57036,7 @@ fill/ov/pal=greyscale/x=-360:360 b
cont/ov/x=-360:360 b
*** Running ferret script: bn_mode_nodata_lab.jnl
-[?1034h! bn_mode_nodata_lab
+! bn_mode_nodata_lab
! turns off the No Valid Data label on plots
! (for line plots this is added to the plot label,
! if the mode is SET).
@@ -57051,7 +57065,7 @@ contour/fill/y=40:50/x=70e:110e/L=1 vwnd
set mode/last nodata_lab
*** Running ferret script: bn_proleptic_gregorian_calendar.jnl
-[?1034h! proleptic_gregorian_calendar.jnl
+! proleptic_gregorian_calendar.jnl
! Allow PROLEPTIC_GREGORIAN as a calendar attribute
! for the default Ferret calendar.
@@ -57068,7 +57082,7 @@ show axis tdays
T0 = 15-JAN-1901 00:00:00
Axis span (to cell edges) = 32
*** Running ferret script: bn_string_ngd_nbd.jnl
-[?1034h! @NGD and @NBD for strings
+! @NGD and @NBD for strings
! Bad data is taken to be the null string
! Compare with results for numeric data
! *ACM 11/2008
@@ -57384,7 +57398,7 @@ list av[i=@ngd,j=@ngd,k=@ngd,L=@ngd]
T : 0.5 to 2.5 (XYZT # valid)
16.00
*** Running ferret script: bn_cat_string.jnl
-[?1034h! bn_cat_string.jnl
+! bn_cat_string.jnl
! Test concatenation functions for string variables
! ACM nov 08 See bug 1577
@@ -57450,7 +57464,7 @@ list tcat(a,b)
5 / 5:"V"
6 / 6:"W"
*** Running ferret script: bn_sort_strings.jnl
-[?1034h! bn_sort_strings.jnl
+! bn_sort_strings.jnl
! 11/08 acm
! show func/detail now shows the alternative function for
@@ -57626,7 +57640,7 @@ list indx_bl, samplel(bl,indx_bl)
7 / 7: .... ""
*** Running ferret script: bn_samplexyt.jnl
-[?1034h! bn_samplexyt.jnl
+! bn_samplexyt.jnl
! 1/2009
! Check the SAMPLEXYT function, should give missing results for T sample points
@@ -57696,14 +57710,14 @@ plot/vs/color=red/over tpts, sampl_pts
set mode calendar
*** Running ferret script: bn_last_go_file.jnl
-[?1034h! bn_last_go_file.jnl
+! bn_last_go_file.jnl
! test the automatically-defined symbol LAST_GO_FILE
show sym last_go_file
LAST_GO_FILE = "./bn_last_go_file.jnl"
*** Running ferret script: bn_cancel_upcase_uservar.jnl
-[?1034h! bn_cancel_upcase_uservar.jnl
+! bn_cancel_upcase_uservar.jnl
!
! Ferret v6.2
! MODE upcase_only cancelled, now writes lowercase
@@ -57735,7 +57749,7 @@ SP ncdump -h a.nc >> all_ncdump.out
SET MODE/LAST upcase_output
*** Running ferret script: bn_cdf_keepax.jnl
-[?1034h! bn320_cdf
+! bn320_cdf
! benchmark to test netCDF input and output
! This is the same as bn_cdf with /KEEP_AXNAMES added to SAVE commands.
@@ -58583,7 +58597,7 @@ list/x=180 fcn_rev_sub
0 / 11: 0.0000
1S / 10: 0.3166
*** Running ferret script: bn_keep_axisnames.jnl
-[?1034h! bn_keep_axisnames.jnl
+! bn_keep_axisnames.jnl
! 2/2009 ACM
! save/KEEP_AXISNAMES prevents changes to
@@ -58610,7 +58624,7 @@ sp echo "bn_keep_axisnames.jnl --- without /KEEP_AXISNAMES" >> all_ncdump.out
sp ncdump -h a.nc >> all_ncdump.out
*** Running ferret script: bn_key_label_minmax.jnl
-[?1034h! bn_key_label_minmax.jnl
+! bn_key_label_minmax.jnl
! Label data min and max on vertical and horizontal keys
@@ -58690,7 +58704,7 @@ set mode/last logo
shade/lev=35 sst[L=1]
*** Running ferret script: bn62_bug_fixes.jnl
-[?1034h! bn62_bug_fixes.jnl
+! bn62_bug_fixes.jnl
! Fixes that go into v6.2 release
GO bn_reset
@@ -58763,7 +58777,7 @@ plot/title="vertical profile" yp4
GO error_bars polygon/color=red/thickness=2/title="variability" yp4 errors
*** Running ferret script: bn_convolve.jnl
-[?1034h! bn_convolve.jnl
+! bn_convolve.jnl
! test convolutions, including with missing-data.
! compare behavior with smoothing transform spz.
@@ -58891,7 +58905,7 @@ list a, a[i=@spz], convolvei(a,{.25,.5,.25})
*** Running ferret script: bn_tax_tstep.jnl
-[?1034h! bn_tax_tstep.jnl
+! bn_tax_tstep.jnl
!
! Working with the coordinates of this axis loses accuracy because its
! time origin is so far back from the time it represents
@@ -59003,7 +59017,7 @@ 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
*** Running ferret script: bn_grads_z.jnl
-[?1034h! bn_grads_z.jnl
+! bn_grads_z.jnl
! acm 3/31/09
! Fixing bug 1651.
! The file has no axis attributes other than units and long_name,
@@ -59066,11 +59080,11 @@ SH GRID am
CAXIS DEPTH (m) 5 r- 2 10 full
normal T
*** Running ferret script: bn_clock_syms.jnl
-[?1034hSH SYM delta_cpu, clock_secs, current_date, current_time
-DELTA_CPU = "0.205968"
-CLOCK_SECS = "0.096"
-CURRENT_DATE = "18-Apr-17"
-CURRENT_TIME = "17:15:42"
+SH SYM delta_cpu, clock_secs, current_date, current_time
+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
@@ -59079,8 +59093,8 @@ CURRENT_TIME = "17:15:42"
use gt4d011
shade/k=1 temp[L=@ave]
sh sym DELTA_CPU, CLOCK_SECS
-DELTA_CPU = "0.021996"
-CLOCK_SECS = "0.118"
+DELTA_CPU = "######"
+CLOCK_SECS = "######"
repeat/k=1:10 shade temp[L=@ave]
!-> REPEAT: K=1
@@ -59094,62 +59108,62 @@ repeat/k=1:10 shade temp[L=@ave]
!-> REPEAT: K=9
!-> REPEAT: K=10
let ten_plots = ($DELTA_CPU)
- !-> DEFINE VARIABLE ten_plots = 0.059991
+ !-> DEFINE VARIABLE ten_plots = 0.######
sh sym DELTA_CPU, CLOCK_SECS
-DELTA_CPU = "0"
-CLOCK_SECS = "0.178"
+DELTA_CPU = "######"
+CLOCK_SECS = "######"
let sumclock = 0
let sumcpu = 0
sh sym CLOCK_SECS
-CLOCK_SECS = "0.179"
+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.006999
- !-> DEFINE VARIABLE sumcpu =0.006999
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=2
- !-> DEFINE VARIABLE dt = 0.007999
- !-> DEFINE VARIABLE sumcpu =0.014998
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=3
- !-> DEFINE VARIABLE dt = 0.007998
- !-> DEFINE VARIABLE sumcpu =0.022996
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=4
- !-> DEFINE VARIABLE dt = 0.007999
- !-> DEFINE VARIABLE sumcpu =0.030995
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=5
- !-> DEFINE VARIABLE dt = 0.006999
- !-> DEFINE VARIABLE sumcpu =0.037994
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=6
- !-> DEFINE VARIABLE dt = 0.008999
- !-> DEFINE VARIABLE sumcpu =0.046993
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=7
- !-> DEFINE VARIABLE dt = 0.006999
- !-> DEFINE VARIABLE sumcpu =0.053992
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=8
- !-> DEFINE VARIABLE dt = 0.007999
- !-> DEFINE VARIABLE sumcpu =0.061991
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=9
- !-> DEFINE VARIABLE dt = 0.007998
- !-> DEFINE VARIABLE sumcpu =0.069989
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
!-> REPEAT: K=10
- !-> DEFINE VARIABLE dt = 0.007999
- !-> DEFINE VARIABLE sumcpu =0.077988
+ !-> DEFINE VARIABLE dt = 0.######
+ !-> DEFINE VARIABLE sumcpu = 0.######
say `sumcpu`
- !-> MESSAGE/CONTINUE 0.077988
-0.077988
+ !-> MESSAGE/CONTINUE 0.######
+0.######
sh sym CLOCK_SECS
-CLOCK_SECS = "0.259"
+CLOCK_SECS = "######"
SH SYM session_date, current_date, session_time, current_time
-SESSION_DATE = "18-Apr-17"
-SESSION_TIME = "17:15"
-CURRENT_DATE = "18-Apr-17"
-CURRENT_TIME = "17:15:42"
+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
-[?1034h! bn63_bug_fixes.jnl
+! bn63_bug_fixes.jnl
! Fixes that go into v6.3 release
GO bn_reset
@@ -59796,7 +59810,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)
@@ -59825,7 +59839,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
@@ -59870,7 +59884,7 @@ LIST 1 EQ 2 OR "A" EQ "B" ! should be 0
0.0000
*** Running ferret script: bn_axis_reversed_syms.jnl
-[?1034h! bn_axis_reversed_syms.jnl
+! bn_axis_reversed_syms.jnl
! XAXIS_REVERSED and YAXIS_REVERSED are
! set to 0 or if the reversed-axis is
! plotted upside-down, set to 1
@@ -59954,7 +59968,7 @@ XAXIS_REVERSED = "0"
YAXIS_REVERSED = "1"
*** Running ferret script: bn_isdepth.jnl
-[?1034h! Tests of `var,RETURN=ISDEPTH`
+! Tests of `var,RETURN=ISDEPTH`
define axis/units=meters/z=0:100:2 zup
let zz = z[gz=zup]
@@ -59987,7 +60001,7 @@ say `temp,return=isdepth`
0
*** Running ferret script: bn_var_hist_levels.jnl
-[?1034h! bn_var_hist_levels.jnl
+! bn_var_hist_levels.jnl
! Syntax for variance-based or histogram-based levels
!
@@ -60044,7 +60058,7 @@ shade/line/key/lev=20c,1d/title="/LEV=20c,1d" cvar[K=1]
shade/line/key/lev=50h/title="/LEV=50h" cvar[K=1]
*** Running ferret script: bn64_bug_fixes.jnl
-[?1034h! bn64_bug_fixes.jnl
+! bn64_bug_fixes.jnl
! Fixes that go into v6.4 release
! (changes were made to err62_if_inside_repeat.jnl
@@ -60134,7 +60148,7 @@ list v1
X : 1
"ZAIRA"
*** Running ferret script: bn_long_grid_names.jnl
-[?1034h! bn_long_grid_names.jnl
+! bn_long_grid_names.jnl
! test longer grid names (16 --> 64 chars)
! tests taken from other bn scripts but with longer grid names
@@ -60261,17 +60275,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.
@@ -60693,8 +60707,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
@@ -60722,8 +60736,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
@@ -60749,8 +60763,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
@@ -60802,14 +60816,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
@@ -60817,7 +60831,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
@@ -60830,17 +60844,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
@@ -60848,20 +60862,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 201 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
@@ -60885,11 +60899,11 @@ 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
-[?1034h! bn_xml_repl.jnl
+! bn_xml_repl.jnl
! replace > and < and & with their html equivalents.
! make a short file
@@ -60934,7 +60948,7 @@ sh dat/xml/var
<axes>
</axes>
*** Running ferret script: bn65_bug_fixes.jnl
-[?1034h! bn65_bug_fixes.jnl
+! bn65_bug_fixes.jnl
! Fixes that go into v6.5 release
GO bn_reset
@@ -61167,14 +61181,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.
@@ -61203,7 +61217,7 @@ go polymark "poly/ov/nolab/pal=red/line=1" pos pos " " circle .5
*** Running ferret script: bn_txtype_dmy.jnl
-[?1034h! bn_txtype_dmy.jnl
+! bn_txtype_dmy.jnl
! 2/2010 ACM
!
! Testing Time Axis plot style "DMY" labels the year
@@ -61326,7 +61340,7 @@ 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
*** Running ferret script: bn_n_open_dsets_sym.jnl
-[?1034h ! bn_n_open_dsets_sym.jnl
+ ! bn_n_open_dsets_sym.jnl
! Ferret v6.5
! New special symbol N_OPEN_DSETS, evaulated when requested.
! Gives a count of the number of open datasets.
@@ -61367,7 +61381,7 @@ sh sym N_OPEN_DSETS
N_OPEN_DSETS = "0"
*** Running ferret script: bn_multi_decade.jnl
-[?1034h! bn_multi_decade.jnl
+! bn_multi_decade.jnl
! New default no-small tics for multi-decade plots
! See bug 670
@@ -61428,7 +61442,7 @@ set view v8; plot/trans/nolab/ax=0,0,1,0/hlim=0:1/set tvar
ppl tics,0.1,0.25
ppl plot
*** Running ferret script: bn_show_xml_file.jnl
-[?1034h! bn_show_xml_file.jnl
+! bn_show_xml_file.jnl
! Testing SHOW DATA/OUTFILE
! SHOW AXIS/OUTFILE
! SHOW VAR/OUTFILE
@@ -61608,7 +61622,7 @@ sp cat the_xml_file.xml
</data>
*** Running ferret script: bn66_bug_fixes.jnl
-[?1034h! bn66_bug_fixes.jnl
+! bn66_bug_fixes.jnl
! Fixes that go into v6.6 release
@@ -61705,7 +61719,7 @@ stat temp[z=@ave,t=@ave,y=-2:2]
cancel region
*** Running ferret script: bn_netcdf4.jnl
-[?1034h! bn_netcdf4.jnl
+! bn_netcdf4.jnl
! test syntax for controling NetCDF-4 intput and output.
! 2/2016 change file name in second intentinal-error case
! Also list the file sizes for compressed data
@@ -61761,11 +61775,11 @@ save/file=nc4_deflate4_defaultchunk.nc/clobber/ncformat=4/deflate/shuffle sst
sp stat nc4_nodeflate3.nc --printf="Bytes: %s\n"
Bytes: 197520
sp stat nc4_deflate4bigchunk.nc --printf="Bytes: %s\n"
-Bytes: 125226
+Bytes: 125634
sp stat nc4_deflate4_xyt.nc --printf="Bytes: %s\n"
-Bytes: 124814
+Bytes: 125248
sp stat nc4_deflate4_defaultchunk.nc --printf="Bytes: %s\n"
-Bytes: 118879
+Bytes: 119313
! Write variable as INT
CAN DAT/all; can var/all; can mem/all
@@ -61782,9 +61796,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: 32406
+Bytes: 32902
sp stat nc4_inttemp_shuffle_set_list_deflate_chunk.nc --printf="Bytes: %s\n"
-Bytes: 32583
+Bytes: 33117
cancel list/all
set list/ncformat=classic
@@ -61840,7 +61854,7 @@ save/file=nc4_deflate4chunktoobig.nc/clobber/ncformat=4/deflate=1/xchunk=6/ychun
can mode ignore
*** Running ferret script: bn_scat2grid_bin.jnl
-[?1034h! bn_scat2grid_bin.jnl
+! bn_scat2grid_bin.jnl
! Tests of scat2grid_bin and scat2grid_nbin functions.
! define some variables (as in bench_gridding)
@@ -61849,7 +61863,7 @@ 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
@@ -62054,7 +62068,7 @@ 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
@@ -62073,8 +62087,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
@@ -62090,8 +62104,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
@@ -62173,7 +62187,7 @@ can axis tout
can axis tin
*** Running ferret script: bn_axis_dir_symbols.jnl
-[?1034h! bn_axis_dir_symbols.jnl
+! bn_axis_dir_symbols.jnl
! 5/2010
!
! For LAS:
@@ -62199,7 +62213,7 @@ shade/x=180 sst; show sym ax*; can sym ax*
AX_HORIZ = "T"
AX_VERT = "Y"
*** Running ferret script: bn663_bug_fixes.jnl
-[?1034h! bn663_bug_fixes.jnl
+! bn663_bug_fixes.jnl
! Fixes that go into v6.63 release
@@ -62236,7 +62250,7 @@ SHADE/L=1/X=60:70/Y=40:50/LEV=v sst
FILL/L=2/X=60:70/Y=40:50/LEV=v sst
*** Running ferret script: bn_set_axis_regular.jnl
-[?1034h! bn_set_axis_regular.jnl
+! bn_set_axis_regular.jnl
! Karl Smith, 5/2010
! tests for SET AXIS /REGULAR
@@ -62500,7 +62514,7 @@ show grid
normal T
*** Running ferret script: bn_set_cancel_redirect.jnl
-[?1034h! bn_set_cancel_redirect.jnl
+! bn_set_cancel_redirect.jnl
! Karl Smith, 5/2010
! test for SET REDIRECT and CANCEL REDIRECT
@@ -62938,9 +62952,9 @@ list contents
VARIABLE : { SPAWN:"cat redirect_journal.txt" }
SUBSET : 45 points (X)
1 / 1:" ! NOAA/PMEL TMAP"
- 2 / 2:" ! PyFerret v7.1 (beta/debug)"
- 3 / 3:" ! Linux 2.6.32-696.1.1.el6.x86_64 - 04/18/17"
- 4 / 4:" ! 18-Apr-17 17:15 "
+ 2 / 2:" ! PyFerret v7.2 (beta/debug)"
+ 3 / 3:" ! Linux 3.10.0-514.26.2.el7.x86_64 - MM-DD-YY"
+ 4 / 4:" ! DD-MON-YY HH:MM "
5 / 5:""
6 / 6:"! "
7 / 7:"!! --- 22. produce some output to stdout and stderr"
@@ -62990,7 +63004,7 @@ cancel grid mygrid
!!! NOTE: journal mode is now turned off !!!
*** Running ferret script: bn_min_max_smoothers.jnl
-[?1034h! bn_min_max_smoothers.jnl
+! bn_min_max_smoothers.jnl
! New transforms @SMN and @SMX, smoothers based on the
! min and max of the data in the window.
sh trans
@@ -63028,7 +63042,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
@@ -63278,7 +63292,7 @@ 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
*** Running ferret script: bn_vector_symbols.jnl
-[?1034h! bn_vector_symbols.jnl
+! bn_vector_symbols.jnl
! ACM 7/16/21010 Ferret V6.6.3
!
! On any vector plot command, define symbols
@@ -63323,7 +63337,7 @@ 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
*** Running ferret script: bn_variance_large.jnl
-[?1034h! bn_variance_large.jnl
+! bn_variance_large.jnl
! Previous to v6.6.4, these returned messages **too big**
USE coads_climatology
@@ -63369,7 +63383,7 @@ SHADE/L=1/LEV=v huge
CANCEL SYMBOL lev*
*** Running ferret script: bn_labnum_calendar.jnl
-[?1034h! bn_labnum_calendar.jn.
+! bn_labnum_calendar.jn.
! Define new symbol, when a Calendar label is on
! the plot, pointing to its ppl label number.
@@ -63387,7 +63401,7 @@ sh sym lab($labnum_calend)
LAB4 = "CALENDAR: NOLEAP"
*** Running ferret script: bn665_bug_fixes.jnl
-[?1034h! bn65_bug_fixes.jnl
+! bn65_bug_fixes.jnl
! test various fixes that went into version 6.6.5
! 11/2010 ACM
!
@@ -63772,7 +63786,7 @@ list tax_year(a,a)
JUL-0005 / 6:"01-JUL-0005"
*** Running ferret script: bn_floatstr.jnl
-[?1034h! bn_floatstr.jnl
+! bn_floatstr.jnl
! testing new function to convert floating-point
! variables to strings.
@@ -63893,7 +63907,7 @@ LIST/X=165W:135W/Y=-50/L=1 STRLEN(var)
137W / 102: 0.000
135W / 103: 0.000
*** Running ferret script: bn67_bug_fixes.jnl
-[?1034h! bn67_bug_fixes.jnl
+! bn67_bug_fixes.jnl
! test various fixes that went into version 6.7
! 2/2011 ACM
@@ -64259,7 +64273,7 @@ sh dat
*** Running ferret script: bn_NaN_note.jnl
-[?1034h! bn_NaN_note.jnl
+! bn_NaN_note.jnl
! Ferret v6.7 2/2011
! The message about no missing flags, and assuming NaN,
! is issued only when MODE DIAGNOSTIC is turned on.
@@ -64277,7 +64291,7 @@ SET MODE diag
USE test0
CANCEL MODE diag
*** Running ferret script: bn671_bug_fixes.jnl
-[?1034h! bn671_bug_fixes.jnl
+! bn671_bug_fixes.jnl
! test various fixes that went into version 6.71
! 4/2011 ACM
@@ -64572,7 +64586,7 @@ list var
390 / 10: ....
400 / 11: ....
*** Running ferret script: bn68_bug_fixes.jnl
-[?1034h! bn68_bug_fixes.jnl
+! bn68_bug_fixes.jnl
! test various fixes that went into version 6.8
!
GO bn_reset
@@ -65193,9 +65207,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 3 pts
+ (AX###) X 3 r 0 2 3 pts
normal Y
normal Z
normal T
@@ -65207,9 +65221,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 3 pts
+ (AX###) X 3 r 1 3 3 pts
normal Y
normal Z
normal T
@@ -65281,7 +65295,7 @@ list x[gx=a[d=1],i=1:3]
1 / 2: 1.000
2 / 3: 2.000
*** Running ferret script: bn_ifv.jnl
-[?1034h! bn_ifv.jnl
+! bn_ifv.jnl
! test IFV IfValid masking for a variety of combos
@@ -65416,7 +65430,7 @@ list IFV strings EQ "a" THEN "" ELSE strings
2 / 2:"b"
3 / 3:""
*** Running ferret script: bn_randu2_randn2.jnl
-[?1034h! Test randu2 and randn2 with newer random-number algorithm.
+! Test randu2 and randn2 with newer random-number algorithm.
! 9/2011 acm
! Note that most of these results will differe from one
! run of the benchmarks to the next.
@@ -65432,132 +65446,132 @@ can mode ver
BAD FLAG : -1.E+34
SUBSET : 5 points (X)
X : 0.5 to 5.5
-randu2_randn2 0.808
-randu2_randn2 0.850
-randu2_randn2 0.488
-randu2_randn2 0.076
-randu2_randn2 0.486
+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.168
-randu2_randn2 0.183
-randu2_randn2 0.603
-randu2_randn2 0.139
-randu2_randn2 0.651
+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.977
-randu2_randn2 0.506
-randu2_randn2 0.567
-randu2_randn2 0.509
-randu2_randn2 0.726
-randu2_randn2 0.597
+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.781
-randu2_randn2 0.994
-randu2_randn2 0.943
-randu2_randn2 0.554
-randu2_randn2 0.582
-randu2_randn2 0.170
+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.877
-randu2_randn2 -0.894
-randu2_randn2 -0.584
-randu2_randn2 -1.907
-randu2_randn2 -2.199
+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.100
-randu2_randn2 -0.167
-randu2_randn2 0.402
-randu2_randn2 0.806
-randu2_randn2 1.172
+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.304
-randu2_randn2 -0.480
-randu2_randn2 -2.544
-randu2_randn2 -1.544
-randu2_randn2 0.812
-randu2_randn2 -0.691
+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 2.575
-randu2_randn2 0.289
-randu2_randn2 0.585
-randu2_randn2 -1.139
-randu2_randn2 -2.485
-randu2_randn2 0.020
+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.072 1.073 1.072
-randu2_randn2 1.073 1.073 1.072
-randu2_randn2 1.168 1.073 0.310
-randu2_randn2 -0.149 -0.149 0.310
-randu2_randn2 -0.420 -0.386 0.310
-randu2_randn2 -0.386 -0.386 0.310
-randu2_randn2 0.310 0.071 0.310
-randu2_randn2 0.071 0.310 0.310
+randu2_randn2 ......
+randu2_randn2 ......
+randu2_randn2 ......
+randu2_randn2 ......
+randu2_randn2 ......
+randu2_randn2 ......
+randu2_randn2 ......
+randu2_randn2 ......
*** Running ferret script: bn_axis_cf.jnl
-[?1034h! Ticket 1792: Write axes with CF-compliant units
+! Ticket 1792: Write axes with CF-compliant units
! and with standard name attributes for geophysical attrs.
@@ -65623,7 +65637,7 @@ sp ncdump -h a.nc >> all_ncdump.out
*** Running ferret script: bn_repeated_coords.jnl
-[?1034h! Test the use of micro-adjusting on NetCDF read
+! Test the use of micro-adjusting on NetCDF read
! when coordinates are repeated.
! See ticket 1910
@@ -65691,7 +65705,7 @@ list aa[L=1:71:10]
01-JAN-2001 01:10:00 / 8: 0.6997
*** Running ferret script: bn_xml_header.jnl
-[?1034h! bn_xml_header.jnl
+! bn_xml_header.jnl
! run the exact script that LAS uses to make XML header files
go xml_header_script.jnl xml_use_coads.jnl xml_out.xml
@@ -65912,7 +65926,7 @@ sp grep -A5 dimension xml_out_string.xml
</dimensions>
</data>
*** Running ferret script: bn_eof_simple.jnl
-[?1034h! bn_eof_simple
+! bn_eof_simple
! Define a simple function with two known functions.
! decompose with EOFs.
! 7/2012
@@ -66532,7 +66546,7 @@ can axis xaxis
exit/script
*** Running ferret script: bn_eof_simple2.jnl
-[?1034h! bn_eof_simple2
+! bn_eof_simple2
! Define a simple function with four known functions, two of which are degenerate.
! decompose with EOFs.
! 7/2012
@@ -66890,7 +66904,7 @@ can axis xaxis
exit/script
*** Running ferret script: bn_interpolate_6d.jnl
-[?1034h! bn_interpolate_6d.JNL
+! bn_interpolate_6d.JNL
! benchmark interpolation along various axes
! including the E and F axis
! note with fix to ticket 2399 mode calendar applies to F axis
@@ -67290,7 +67304,7 @@ LIST v[@xpt, at ypt, at ept, at fpt]
set mode/last calendar
*** Running ferret script: bn_regrid_6d.jnl
-[?1034h! bn_regrid_6d.jnl
+! bn_regrid_6d.jnl
! version of bn_regrid, using E and F directions.
! note with fix to ticket 2399 mode calendar applies to F axis
@@ -67418,17 +67432,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.
@@ -68673,7 +68687,7 @@ set mode/last long_label
set mode/last calendar
*** Running ferret script: bn_syntax_6d.jnl
-[?1034h! bn_syntax_6d.JNL
+! bn_syntax_6d.JNL
! - test syntax interpretation of Program FERRET 6D
! SET - SHOW - CANCEL DATA
@@ -68791,7 +68805,7 @@ cancel variables/all;\
currently SET data sets:
3.000
*** Running ferret script: bn_expressions_6d.jnl
-[?1034h! bn_expressions_6d.jnl
+! bn_expressions_6d.jnl
! testing expressions syntax in E and F directions.
! Note pseudo-variables are _E,
@@ -69271,7 +69285,7 @@ LIST/n=5:7 FBOXLO, FBOXHI
6 / 6: 5.500 6.500
7 / 7: 6.500 7.500
*** Running ferret script: bn_direction_fcns_6d.jnl
-[?1034h! bn_direction_functions_6d
+! bn_direction_functions_6d
! Tests of sort, sample, reverse, convolve, compress, and compess_by
! functions in the E and F directions.
@@ -69488,7 +69502,7 @@ list compressn_by(fsequence({10,20,30,40,50}),mask)
4 / 4: .... ....
5 / 5: .... ....
*** Running ferret script: bn_regrid_transforms_6d.jnl
-[?1034h! bn_regrid_transforms_6d.jnl
+! bn_regrid_transforms_6d.jnl
! benchmark to test regridding transformations and syntax
! version of bn_regrid_transforms, using E and F directions.
! note with fix to ticket 2399 mode calendar applies to F axis
@@ -69810,31 +69824,31 @@ list a1[ge=eoffset at ave, gf=fax4day at ave]
-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
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
- strip regrid on E: A1 --> (G003) @AVE
+ 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
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL NORMAL F1PT
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL NORMAL F1PT
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL E1PT NORMAL
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
+ 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)
@@ -69857,21 +69871,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
+ 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 (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
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
- strip regrid on E: A1 --> (G003) @SUM
+ 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
+ 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)
@@ -69894,21 +69908,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
+ 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 (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
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
- strip regrid on E: A1 --> (G003) @VAR
+ 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
+ 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)
@@ -69932,35 +69946,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
+ 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 (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
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
- strip regrid on E: A2 --> (G004) @AVE
+ 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
+ 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 (G006) NORMAL NORMAL NORMAL NORMAL NORMAL F2PT
+ 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 (G006) NORMAL NORMAL NORMAL NORMAL NORMAL F2PT
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL E2PT NORMAL
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
+ 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)
@@ -69983,21 +69997,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
+ 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 (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
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
- strip regrid on E: A2 --> (G004) @SUM
+ 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
+ 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)
@@ -70020,21 +70034,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
+ 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 (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
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL EOFFSET FAX4DAY
- strip regrid on E: A2 --> (G004) @VAR
+ 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
+ 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)
@@ -70060,33 +70074,33 @@ 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
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL E2PT F2PT
+ 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 (G002) NORMAL NORMAL NORMAL NORMAL E1PT F1PT
+ 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
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
- strip regrid on E: A1 --> (G003) @MAX
+ 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 (G002) NORMAL NORMAL NORMAL NORMAL E1PT NORMAL
+ 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 (G002) NORMAL NORMAL NORMAL NORMAL E1PT NORMAL
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
+ 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)
@@ -70094,25 +70108,25 @@ list a1[ge=eoffset at max]
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
+ 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 (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
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
- strip regrid on E: A2 --> (G004) @MAX
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL E2PT NORMAL
+ 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 (G003) NORMAL NORMAL NORMAL NORMAL E2PT NORMAL
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
+ 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)
@@ -70120,25 +70134,25 @@ list a2[ge=eoffset at max]
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
+ 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 (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
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
- strip regrid on E: A4 --> (G005) @MAX
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL E4PT NORMAL
+ 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 (G004) NORMAL NORMAL NORMAL NORMAL E4PT NORMAL
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
+ 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)
@@ -70146,36 +70160,36 @@ list a4[ge=eoffset at max]
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
+ 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 (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
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
- strip regrid on E: A4 --> (G005) @MIN
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
+ 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
+ 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 (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
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
- strip regrid on E: A4 --> (G005) @SUM
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL EOFFSET NORMAL
+ 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)
@@ -70187,19 +70201,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
+ 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 (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
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL NORMAL EDAY
+ 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 (G005) NORMAL NORMAL NORMAL NORMAL NORMAL EDAY
+ dealloc dynamic grid (G###) NORMAL NORMAL NORMAL NORMAL NORMAL EDAY
VARIABLE : _F[GF=EDAY]
SUBSET : 5 points (FORECAST)
01-JAN-1990 00 / 1: 32493.
@@ -70209,8 +70223,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
@@ -70220,17 +70234,17 @@ show grid
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
+ 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 (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
+ 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 (G006) NORMAL NORMAL NORMAL NORMAL NORMAL EHOUR
- strip regrid on F: AFCST --> (G006) @MAX
+ 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 (G006) NORMAL NORMAL NORMAL NORMAL NORMAL EHOUR
+ 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)
@@ -70241,8 +70255,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
@@ -70254,7 +70268,7 @@ show grid
set mode/last diag
set mode/last calendar
*** Running ferret script: bn_aggregate_e.jnl
-[?1034h! bn_aggregate_e.jnl
+! bn_aggregate_e.jnl
! using the DEFINE DATA/AGGREGATE/E command
! Datasets share sst, but only ens1 has airt.
@@ -70278,7 +70292,7 @@ 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
+ 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
strip --> SST[T=01-JAN00:45:31-DEC06:34 at AVE,D=5]
@@ -70324,7 +70338,7 @@ all data in memory:
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
@@ -70387,7 +70401,7 @@ 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
+ 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
strip --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=6]
@@ -70448,7 +70462,7 @@ show data/files fourfiles_gap
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
+ 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
strip --> AIRT[T=01-JAN00:45:31-DEC06:34 at AVE,D=7]
@@ -70767,7 +70781,7 @@ show data/brief
1> ./coads_climatology.cdf (default)
*** Running ferret script: bn_6d_lab_mode.jnl
-[?1034h! bn_6d_lab_mode.jnl
+! bn_6d_lab_mode.jnl
!
! Tests of CANCEL MODE 6d_lab, writes SHOW and STAT output in classic 4D form.
!
@@ -70915,7 +70929,7 @@ can mode diag
! restore default setting
set mode 6d_lab
*** Running ferret script: bn682_bug_fixes.jnl
-[?1034h! bn682_bug_fixes.jnl
+! bn682_bug_fixes.jnl
! test various fixes that went into version 6.82
! 8/2012 ACM
@@ -70963,7 +70977,7 @@ sho grid lon_c
normal T
*** Running ferret script: bn683_bug_fixes.jnl
-[?1034h! bn683_bug_fixes.jnl
+! bn683_bug_fixes.jnl
! test various fixes that went into version 6.83
! 8/2012 ACM
@@ -71261,7 +71275,7 @@ list temp ! values should match those above.
set mode/last upcase_output
*** Running ferret script: bn_outtype.jnl
-[?1034h! bn_outtype
+! bn_outtype
! Tests of output-type control:
! SET VAR/OUTTYPE
! SET LIST/OUTTYPE
@@ -71293,7 +71307,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -71351,7 +71365,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -71399,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 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -71447,7 +71461,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -71487,7 +71501,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -71528,7 +71542,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -71598,7 +71612,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -71651,7 +71665,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -71715,7 +71729,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -71759,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 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -71803,7 +71817,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -71847,7 +71861,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -71888,7 +71902,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -71928,7 +71942,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
! Go back to default setting.
can list/outtype
*** Running ferret script: bn_ribbon_plot.jnl
-[?1034h! bn_ribbon_plot.jnl
+! bn_ribbon_plot.jnl
! Test color-line-by variable style of plots
show alias ribbon
@@ -72071,7 +72085,7 @@ RIBBON/vs/over/nolab/thick=3/sym=20/key/set xpts, ypts, var
ppl shakey,1,0
ppl ribbon/over
*** Running ferret script: bn_descr_4digit.jnl
-[?1034h ! bn_descr_4digit.jnl
+ ! bn_descr_4digit.jnl
! See ticket 1969: step files have 3- or 4-digit extensions
! coads_clim.999, coads_clim.1000, coads_clim.1001
@@ -72098,7 +72112,7 @@ list/x=180/y=0 sst
17-MAY-1900 / 5: 28.49
17-JUN-1900 / 6: 28.32
*** Running ferret script: bn_axis_outtype.jnl
-[?1034h! bn_axis_outtype.jnl
+! bn_axis_outtype.jnl
! SET AXIS/OUTTYPE
! 23-Oct-2012
@@ -72119,7 +72133,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) FLOAT units CHAR 12 T degrees_east
@@ -72160,7 +72174,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) FLOAT units CHAR 12 T degrees_east
@@ -72211,7 +72225,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(COADSX140_140) DOUBLE units CHAR 12 T degrees_east
@@ -72259,7 +72273,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(MYHOURS1) DOUBLE units CHAR 31 T hours since 1901-01-15 00:00:00
@@ -72285,7 +72299,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(MYHOURS1) INT units CHAR 31 T hours since 1901-01-15 00:00:00
@@ -72311,7 +72325,7 @@ use mytype.nc; sh dat/att mytype.nc; can data mytype
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(MYHOURS1) DOUBLE units CHAR 31 T hours since 1901-01-15 00:00:00
@@ -72352,7 +72366,7 @@ save/clobber/file=mytype.nc my_data
cancel mode ignore
*** Running ferret script: bn_axis_nonmonotonic.jnl
-[?1034h! bn_axis_nonmonotonic.jnl
+! bn_axis_nonmonotonic.jnl
! bn_define_axis doesnt test the case where the varible is not monotonic
! ACM 11/2012 With Ferret v6.83+ the message tells us the index value
@@ -72364,7 +72378,7 @@ define axis/t/units=days tax = tvar
cancel mode ignore
*** Running ferret script: bn_vec_mod.jnl
-[?1034h! bn_vec_mod.jnl
+! bn_vec_mod.jnl
! /MODULO qualifier for the vector command.
! 12/12/2012 ACM
!
@@ -72385,7 +72399,7 @@ vec/MOD/HLIM=-180:180 u,fakev,geolon_c,geolat_c
can view
*** Running ferret script: bn685_bug_fixes.jnl
-[?1034h! bn685_bug_fixes.jnl
+! bn685_bug_fixes.jnl
! test various fixes that went into version 6.85
! 1/2013 ACM
@@ -72751,7 +72765,7 @@ variables:
A:history = "From coads_climatology" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -72780,7 +72794,7 @@ variables:
E410:history = "From coads_climatology" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -72831,7 +72845,7 @@ variables:
E410:history = "From coads_climatology" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -73041,8 +73055,6 @@ list ..history
! Just a dot is interpretd as a number.
list .
- VARIABLE : constant
- 0.0000
set mode/last ignore
@@ -73201,12 +73213,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
@@ -73219,12 +73231,12 @@ 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
@@ -73268,7 +73280,7 @@ 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
*** Running ferret script: bn_dsg_e_x.jnl
-[?1034h! bn_dsg_e.jnl
+! bn_dsg_e.jnl
!
! Discrete Sampling Geometries files
! Create grids such that the instance dimension
@@ -73361,7 +73373,7 @@ sh grid pco2
normal Z
normal T
*** Running ferret script: bn_nco_append.jnl
-[?1034h! bn_nco_append.jnl
+! bn_nco_append.jnl
! 5/2013 add a test appending files with ncks
! These functions use Unix NCO utilities, found at http://nco.sourceforge.net/
@@ -73409,13 +73421,13 @@ variables:
DDAT_ORIG:long_name = "DDAT[GZ=ZAXIS_ORIG at ASN]" ;
// global attributes:
- :history = "Tue Apr 18 17:16:05 2017: ncks -h -A -h z1.nc append_to_this.nc\n",
- "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "WKD MON DD HH:MM:SS YYYY: ncks -h -A -h z1.nc append_to_this.nc\n",
+ "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
- :NCO = "4.4.6" ;
+ :NCO = "4.4.4" ;
}
*** Running ferret script: bn_nobounds.jnl
-[?1034h! bn_nobounds.jnl
+! bn_nobounds.jnl
! The SAVE/NOBOUNDS qualifier causes bounds never to be written
! even if the data is irregular, and even if the axis came into
! Ferret with bounds.
@@ -73441,7 +73453,7 @@ variables:
AVAR:long_name = "X[GX=XIRREG]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -73472,7 +73484,7 @@ variables:
AVAR:long_name = "X[GX=XIRREG]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -73535,7 +73547,7 @@ variables:
A:history = "From coads" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -73563,12 +73575,12 @@ variables:
A:history = "From coads" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
*** Running ferret script: bn_write_integer_att.jnl
-[?1034h! bn_write_integer_att.jnl
+! bn_write_integer_att.jnl
! ACM 6/2013
!
! This file has an integer attribute
@@ -73599,7 +73611,7 @@ sp ncdump a.nc | grep numberOfObservations
*** Running ferret script: bn_descriptor_mc.jnl
-[?1034h! bn_descriptor_mc.jnl
+! bn_descriptor_mc.jnl
! 7/2013 ACM
! See ticket 2087
!
@@ -73638,7 +73650,7 @@ list /x=300/y=10 sst
16-MAY-0000 / 3: 27.22
16-JUN-0000 / 4: 27.66
*** Running ferret script: bn_plot_color_only.jnl
-[?1034h! bn_plot_color_only.jnl
+! bn_plot_color_only.jnl
! 9/20/2013 ACM
! ticket 2094
! PLOT/COLOR with no argument skips the black pen and starts with the next one.
@@ -73713,7 +73725,7 @@ set mode/last ignore
*** Running ferret script: bn_vtree.jnl
-[?1034h! bn_tree.jnl
+! bn_tree.jnl
! 11/2013 -- demonstrate SHOW VARIABLE/TREE and RETRUN=STATUS
! 12/14 update to test regridding output using bn_vtree_regrid.jnl
@@ -74353,6 +74365,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
@@ -74697,6 +74710,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
@@ -74713,13 +74727,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
@@ -74868,7 +74885,7 @@ vtree=all tempz4
*** Running ferret script: bn686_bug_fixes.jnl
-[?1034h! bn686_bug_fixes
+! bn686_bug_fixes
! test various fixes that went into version 6.86
! 11/2013 ACM
@@ -75207,7 +75224,7 @@ LEV_NUM = "4"
LEV_DEL = "5"
*** Running ferret script: bn_long_symnames.jnl
-[?1034h! bn_long_symnames.jnl
+! bn_long_symnames.jnl
! *ACM* 11/22/2013
! Allow longer names for Ferret symbols
@@ -75244,7 +75261,7 @@ show symbol q*
Q23456789012345678901234567890Q23456789012345678901234567890Q23456789012345678901234567890Q23456789012345678901234567890 = "5"
Q23456789012345678901234567890Q23456789012345678901234567890Q23456789012345678901234567890Q23456789012345678901234567XXX = "6"
*** Running ferret script: bn_strdim.jnl
-[?1034h! bn_strdim.jnl
+! bn_strdim.jnl
! Keep the string dimension name and size from the intput file
! on writing the string variable.
@@ -75269,7 +75286,7 @@ variables:
LABELS:history = "From http://dunkel.pmel.noaa.gov:8930/thredds/dodsC/data/atmos3.ncml" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -75292,12 +75309,12 @@ variables:
STRVAR:long_name = "mystrings" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
*** Running ferret script: bn_single_colorlev.jnl
-[?1034h! bn_single_colorlev.jnl
+! bn_single_colorlev.jnl
! Ticket 2123, mis-labeled color bars when
! single level is specified with a range of values
@@ -75314,7 +75331,7 @@ shade/lev=(25)/L=1 INT(sst)
fill/lev=(20,30,10)/L=1 sst
*** Running ferret script: bn69_bug_fixes.jnl
-[?1034h! bn69_bug_fixes
+! bn69_bug_fixes
! test various fixes that went into version 6.9
! 02/2014 ACM
@@ -75511,7 +75528,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -75541,7 +75558,7 @@ variables:
A:history = "From a" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -75562,7 +75579,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -75583,7 +75600,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -75605,7 +75622,7 @@ variables:
B:history = "From b" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -75786,7 +75803,7 @@ set var/name=diff w
SET MODE/LAST ignore
*** Running ferret script: bn_bad_axis_bounds.jnl
-[?1034h! bn_bad_axis_bounds
+! bn_bad_axis_bounds
! Ticket 2146 If there are invalid axis bounds
! make them into a dependent variable.
@@ -75801,7 +75818,7 @@ show data
TEMP2 TEMP[GT=MONTH_IRREG at ASN] 1:1 1:1 1:1 1:12
*** Running ferret script: bn_enter_exit_GO.jnl
-[?1034h! GO bn_enter_exit_GO
+! GO bn_enter_exit_GO
! Lines to allow trace of GO scripts:
!
! ! Enter_GO and ! Exit_GO lines written to the journal file
@@ -75868,7 +75885,7 @@ plot/i=1:15/color=red/thick i
cancel redirect
*** Running ferret script: bn_stddev.jnl
-[?1034h! bn_std.jnl
+! bn_std.jnl
! New StdDev transform
use coads_climatology
@@ -75929,7 +75946,7 @@ list/y=3/l=1 temp[z=@std,x=@std]
TIME : 17-AUG-1982 12:00
0.9487
*** Running ferret script: bn_set_axis_name.jnl
-[?1034h! bn_set_axis_name.jnl
+! bn_set_axis_name.jnl
! ticket 2160 Implementing new qualifier SET AXIS/NAME
! 3/2014
!
@@ -76018,7 +76035,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(x_in_meters) DOUBLE units CHAR 6 T meters
@@ -76035,7 +76052,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(x_in_meters) DOUBLE units CHAR 6 T meters
@@ -76052,7 +76069,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(x_in_meters) DOUBLE units CHAR 6 T meters
@@ -76079,19 +76096,208 @@ set axis/name=.fr x_in_meters
set mode/last ignore
*** Running ferret script: bn_let_remote.jnl
-[?1034h! bn_let_remote.jnl
+! 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 Use the THREDDS server at http://ferret.pmel.noaa.gov/pmel/thredds
+! 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/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl")
+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 1 then EXIT/SCRIPT
+ !-> if 0 then EXIT/SCRIPT
+
+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_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_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
+ LONGITUDE: 60W to 50W
+ LATITUDE: 14.5N
+ 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: 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="`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
+can data/all; can var/all
+
+! open another dataset, define more remote variables
+
+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_annual/data_ferret.pmel.noaa.gov_pmel_thredds_dodsC_data_PMEL_WOA05nc_annual_t00an1.nc.jnl
+ name title I J K L
+ 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
+ SST SEA SURFACE TEMPERATURE 1:180 1:90 ... 1:12
+ AIRT AIR TEMPERATURE 1:180 1:90 ... 1:12
+ SPEH SPECIFIC HUMIDITY 1:180 1:90 ... 1:12
+ WSPD WIND SPEED 1:180 1:90 ... 1:12
+ UWND ZONAL WIND 1:180 1:90 ... 1:12
+ VWND MERIDIONAL WIND 1:180 1:90 ... 1:12
+ SLP SEA LEVEL PRESSURE 1:180 1:90 ... 1:12
+ ------------------------------
+ AIRTSUM[D=data_coads_climatology.jnl] (/REMOTE) = AIRT[L=1:5 at SUM]
+ SSTSUM[D=data_coads_climatology.jnl] (/REMOTE) = SST[L=1:5 at SUM]
+
+
+set view ul; plot/y=-10/x=50:150 sstsum
+set view ur; plot/y=-10/x=50:150 airtsum
+list/y=-10/x=50:59 sstsum,airtsum
+ DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl
+ LONGITUDE: 50E to 59E
+ LATITUDE: 11S
+ Column 1: SSTSUM is SST[L=1:5 at SUM]
+ Column 2: AIRTSUM is AIRT[L=1:5 at SUM]
+ SSTSUM AIRTSUM
+51E / 16: 140.5 138.3
+53E / 17: 140.6 138.4
+55E / 18: 141.3 139.5
+57E / 19: 141.4 138.5
+59E / 20: 141.5 139.1
+
+let both = sstsum + airtsum
+set view lower; plot/y=-10/x=50:150 both
+list/y=-10/x=50:59 sstsum, airtsum, both
+ DATA SET: http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl
+ LONGITUDE: 50E to 59E
+ LATITUDE: 11S
+ Column 1: SSTSUM is SST[L=1:5 at SUM]
+ Column 2: AIRTSUM is AIRT[L=1:5 at SUM]
+ Column 3: BOTH is SSTSUM + AIRTSUM
+ SSTSUM AIRTSUM BOTH
+51E / 16: 140.5 138.3 278.7
+53E / 17: 140.6 138.4 279.0
+55E / 18: 141.3 139.5 280.9
+57E / 19: 141.4 138.5 279.9
+59E / 20: 141.5 139.1 280.6
+
+can dat/all; can var/all
+
+! make several remote definitions. They can be used together in an expression.
+use "http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/data_coads_climatology.jnl"
+let/D=1/remote sstsum = sst[L=1:5 at sum]
+let/D=1/remote airtsum = airt[L=1:5 at sum]
+let/D=1/remote factor = 12
+let/D=1/remote combo = factor*(airtsum - sstsum)
+list/y=-5/x=130w:110w combo
+ VARIABLE : FACTOR*(AIRTSUM - SSTSUM)
+ FILENAME : data_coads_climatology.jnl
+ FILEPATH : http://ferret.pmel.noaa.gov/nvods/thredds/dodsC/las/COADS-climatology/
+ SUBSET : 10 points (LONGITUDE)
+ LATITUDE : 5S
+ 5S
+ 43
+ 129W / 106: -7.04
+ 127W / 107: -7.88
+ 125W / 108: -0.59
+ 123W / 109: -10.31
+ 121W / 110: -1.90
+ 119W / 111: -4.39
+ 117W / 112: -6.35
+ 115W / 113: -9.40
+ 113W / 114: -9.81
+ 111W / 115: -11.41
+
+
+can dat/all; can var/all
+
+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 = t00an1[z=1:100 at ave]
+
+! Intentional errors:
+
+! But cannot put d= within the expression: the expr is evaluated on
+! the remote server so the same datsets are not open there.
+
+set mode ignore
+let/D=1/remote rvar = t00an1[d=1,z=1:100 at ave]
+
+
+! But, require LET/D= with /REMOTE
+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*t00an1[L=@ave]
+list/x=300/y=15 avar
+
+SET MODE/LAST ignore
+
+! The dataset remains open, we can fix the definition.
+let/D=1/remote a = 12
+sho dat
+ currently SET data sets:
+ 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
+ T00AN1 Temperature 1:360 1:180 1:33 1:1
+ ------------------------------
+ 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*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-JUL 00:00 to 02-JUL 00:00
+ 60.5W
+ 300
+ 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
+
*** Running ferret script: bn691_bug_fixes.jnl
-[?1034h! bn691_bug_fixes
+! bn691_bug_fixes
! test various fixes that went into version 6.91
! 04/2014 ACM
@@ -76325,7 +76531,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)
@@ -76606,7 +76812,7 @@ 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
@@ -76622,7 +76828,7 @@ load bigvar
! 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
@@ -77027,7 +77233,7 @@ list substring("hello",1,-3)
set mode/last ignore
*** Running ferret script: bn_append_dsg.jnl
-[?1034h! bn_append_dsg.jnl
+! bn_append_dsg.jnl
!From SOCAT 3: appending to a dsg file where the new variable is on the obs
! dimension. THe file has no coordinate variable, and we want to keep it that way.
! Ferret needs to detect the dimension-only axis and keep it as-is. Do not upcase,
@@ -77104,13 +77310,13 @@ variables:
:geospatial_lat_max = 29.07 ;
:time_coverage_start = "2006-06-10T23:48:00Z" ;
:time_converage_end = "2006-06-11T00:12:00Z" ;
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
}
set mode/last upcase
*** Running ferret script: bn_global_atts.jnl
-[?1034h! bn_global_atts
+! bn_global_atts
! NOTE With the fix for ticket 2241, we need to add CANCEL MODE UPCASE.
cancel mode upcase
@@ -77197,7 +77403,7 @@ variables:
lon360:history = "added to test_save_dsg.nc" ;
// global attributes:
- :history = "CruiseDsgNcFile 1.0PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "CruiseDsgNcFile 1.0PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:featureType = "Trajectory" ;
:Conventions = "Some other conventionsCF-1.6" ;
:geospatial_lon_min = -92.77 ;
@@ -77224,14 +77430,14 @@ can dat/all; use anew_global.nc
sh att .
attributes for dataset: ./anew_global.nc
..history = Subset of etopo20,
- PyFerret V7.1 (beta/debug) 18-Apr-17
+ PyFerret V7.2 (beta/debug) DD-MON-YY
..Conventions = Existing conventions note, , CF-1.6
set mode/last upcase
*** Running ferret script: bn_conventions_history.jnl
-[?1034h! bn_conventions_history.jnl
+! bn_conventions_history.jnl
! ticket 2169:
! Write conventions CF-1.6
! When appending to the Conventions and history
@@ -77254,10 +77460,10 @@ can dat/all; use conventions_history
! The new attibutes
sh att .
attributes for dataset: ./conventions_history.nc
- ..history = The history of the filePyFerret V7.1 (beta/debug) 18-Apr-17
+ ..history = The history of the filePyFerret V7.2 (beta/debug) DD-MON-YY
..Conventions = Conventions for variables named V2CF-1.6
*** Running ferret script: bn_center_key_labels.jnl
-[?1034h! bn_center_key_labels
+! bn_center_key_labels
! 6/2014
!
! Arguments to /KEY qualifier on color plots
@@ -77302,7 +77508,7 @@ can data coads_climatology
shade temp
*** Running ferret script: bn_wgt_transform.jnl
-[?1034h! bn_wgt_transform.jnl test new @WGT transform,
+! bn_wgt_transform.jnl test new @WGT transform,
! returns weights used in the equiv. average or integral transform
! ACM 7/2014
@@ -77412,7 +77618,7 @@ 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
*** Running ferret script: bn_show_outfile.jnl
-[?1034h! bn_show_outfile
+! bn_show_outfile
! Adding tests for SHOW/OUTFILE=
! Previously only tests when SHOW/XML/OUTFILE=
! Bugs in SHOW/OUTFILE reported in ticket 2194
@@ -78054,7 +78260,7 @@ f is ready and AVAILABLE
*** Running ferret script: bn_date1900_array.jnl
-[?1034h! bn_date1900_array.jnl
+! bn_date1900_array.jnl
! Let date1900 accept an array of date strings, returning a list
! of coordinate values, days since 1-jan-1900.
@@ -78103,7 +78309,7 @@ list t[gt=taxis]
30-JUL-2002 00 / 3: 37465.
*** Running ferret script: bn_spawn_size.jnl
-[?1034h! bn_spawn_size.jnl
+! bn_spawn_size.jnl
! Added 9/9/2014
! Fix for ticket 981
! Return the size of the result of a spawn, not
@@ -78180,7 +78386,7 @@ say `name_len, return=isize`
sp rm bn_spawn_size*.dat bn_spawn_size*.cdf
*** Running ferret script: bn_polygon_log.jnl
-[?1034h! bn_polygon_log.jnl
+! bn_polygon_log.jnl
! polygon plots on a log axis need tests
let xsqr = YSEQUENCE({0,.1,.1,0})
@@ -78214,7 +78420,7 @@ poly/i=1:100/hlog xbad+xsqr,ybad+ysqr,x*x/10
set mode/last ignore
*** Running ferret script: bn694_bug_fixes.jnl
-[?1034h! bn694_bug_fixes
+! bn694_bug_fixes
! test various fixes that went into version 6.94
! 11/2014 ACM
! 12/2014 *sh* added IF-THEN flow fixes, including review of past tickets
@@ -79397,7 +79603,7 @@ list b[x=@ave,k=@ave]
*** Running ferret script: bn_permute_ascii.jnl
-[?1034h! bn_permute_ascii.jnl
+! bn_permute_ascii.jnl
! test permutations when reading ascii data, in E and F directions
! 11/18/2014
! see ticket 2217: was not working for grids in E and F
@@ -79703,7 +79909,7 @@ list tm
4 / 4: -28.54 -8.39
*** Running ferret script: bn_lon_lat_time_string.jnl
-[?1034h! bn_lon_lat_time_string.jnl
+! bn_lon_lat_time_string.jnl
! Test function written for LAS, to create profile labels from
! a list of lnogitudes, latitudes, times, and a prefix string.
@@ -79735,7 +79941,7 @@ list lon_lat_time_string(lon, lat, time, tt, "my_string")
3 / 3:"my_string_340.5E_15.03S_04-JAN-2001"
*** Running ferret script: bn_save_justdim.jnl
-[?1034h! bn_save_justdim.jnl
+! bn_save_justdim.jnl
! When a dataset has axes that are dimensions but not 1-D coordinate variables,
! no longer save the coordinate axis that Ferret creates from the dimension.
!
@@ -79765,7 +79971,7 @@ sp ncdump a.nc >> all_ncdump.out
SET MODE/LAST upcase_output
*** Running ferret script: bn_time2d.jnl
-[?1034h! bn_time2d.jnl
+! bn_time2d.jnl
! 1/30/2015 ACM
! initial changes to handle 2d time variable: forecast and time
@@ -79796,7 +80002,7 @@ set att/like=time time2d
shade time2d
shade/trans time2d
*** Running ferret script: bn_legend_labels.jnl
-[?1034h! bn_legend_labels.jnl
+! bn_legend_labels.jnl
! The legend labels on a multi-line plot describe the
! variable and context but are not controlable by the user.
!
@@ -79817,7 +80023,7 @@ sh sym lab7,lab8,lab9
plot/x=300/y=20:65/key=title sst1,sst2,sst3
sh sym lab7,lab8,lab9
*** Running ferret script: bn_DQ.jnl
-[?1034h! bn_DQ.jnl *sh* 2/2015
+! bn_DQ.jnl *sh* 2/2015
! test the use of _DQ_ and _SQ_ in lieu of " and '
let foobar = 1
@@ -80047,16 +80253,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_"
@@ -80313,7 +80522,7 @@ plot/vlim=-2:2/hlim=_DQ_1-jan-1980_DQ_:_DQ_15-feb-1980:12:00_DQ_ \
! in xeq_define.F: DEFINE AXIS/NAME='my-name' is of unclear purpose
*** Running ferret script: bn695_bug_fixes.jnl
-[?1034h! bn695_bug_fixes
+! bn695_bug_fixes
! test various fixes that went into version 6.95
GO bn_reset
@@ -80472,7 +80681,7 @@ list astd^2, avar, avar_calc, astd_e_f^2
I / *: 5.778 5.778 5.778 0.4444
*** Running ferret script: bn_f_tax_fcns.jnl
-[?1034h! bn_f_from_tax_fcns.jnl
+! bn_f_from_tax_fcns.jnl
! test tax_* functions returning results from a
! time-formatted axis in the F direction
!
@@ -80738,7 +80947,7 @@ 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
*** Running ferret script: bn_fmrc.jnl
-[?1034h! bn_fmrc.jnl
+! bn_fmrc.jnl
! initial test of DEFINE DATA/F
! *sh* 11/15 MUCH MORE DETAILED BENCHMARK NEEDED!
@@ -80751,7 +80960,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
@@ -80800,7 +81009,7 @@ list/L=1:6/n=1:4 `sst._ftime2d`
07-JAN-2010 12 / 4: 7.00 8.00 9.00 10.00 11.00 12.00
*** Running ferret script: bn_return_defined.jnl
-[?1034h! bn_return_defined.jnl
+! bn_return_defined.jnl
! 5/3/2015 *acm*
! `return=defined` returns 1 if the user variable is defined
! see ticket 2293
@@ -80822,7 +81031,7 @@ say `temp,return=defined`
!-> MESSAGE/CONTINUE 0
0
*** Running ferret script: bn_can_var_noerr.jnl
-[?1034h! bn_can_var_noerr.jnl
+! bn_can_var_noerr.jnl
! CANCEL VARIABLE/NOERROR
@@ -80868,7 +81077,7 @@ cancel var/noerror/all
show var
Created by DEFINE VARIABLE:
*** Running ferret script: bn_annotate.jnl
-[?1034h! bn_annotate.jnl
+! bn_annotate.jnl
! The command ANNOTATE /USER/NORM/NOUSER/XPOS/YPOS/HALIGN/VALIGN/ANGLE/SIZE
! locates user-defined labels on a plot.
! /USER and /NOUSER behave as the LABEL command does
@@ -81067,7 +81276,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
@@ -81144,7 +81353,7 @@ 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
*** Running ferret script: bn_auxiliary.jnl
-[?1034h! bn_auxiliary.jnl: exercise auxiliary coordinate regridding
+! bn_auxiliary.jnl: exercise auxiliary coordinate regridding
! notes about the 6/2015 version:
! -- tests 1D regridding, only, as of 6/2015
@@ -81323,17 +81532,17 @@ LIST/PREC=7 tempz
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
+ 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 (G002) XAXLEVITR1YAXLEVITR4(AX005) NORMAL
- strip regrid on Z: TEMP --> (G002) @LIN
+ 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
@@ -81343,7 +81552,7 @@ LIST/PREC=7 tempz
-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
+ 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)
@@ -81365,14 +81574,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
+ 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 (G002) XAXLEVITR1YAXLEVITR4(AX005) NORMAL
- GRID (G002)
+ 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
@@ -81416,7 +81625,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
@@ -81450,11 +81659,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 5 pts
+ (AX###) Z 5 r 2 10 5 pts
normal T
!! do same regrid using the shorhand semi-automated notation
@@ -81475,11 +81684,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
@@ -81538,7 +81747,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
@@ -82731,7 +82940,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
@@ -82798,7 +83007,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
@@ -82869,7 +83078,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
@@ -83034,7 +83243,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
@@ -83061,7 +83270,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
@@ -83088,7 +83297,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
@@ -83115,7 +83324,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
@@ -83349,7 +83558,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
@@ -83376,7 +83585,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
@@ -83403,7 +83612,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
@@ -83430,7 +83639,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
@@ -83650,7 +83859,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
@@ -83675,7 +83884,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
@@ -83700,7 +83909,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
@@ -83725,7 +83934,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
@@ -83919,7 +84128,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
@@ -83944,7 +84153,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
@@ -83969,7 +84178,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
@@ -83994,7 +84203,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
@@ -84188,7 +84397,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
@@ -84213,7 +84422,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
@@ -84238,7 +84447,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
@@ -84263,7 +84472,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
@@ -84457,7 +84666,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
@@ -84482,7 +84691,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
@@ -84507,7 +84716,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
@@ -84532,7 +84741,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
@@ -84726,7 +84935,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
@@ -84751,7 +84960,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
@@ -84776,7 +84985,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
@@ -84801,7 +85010,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
@@ -84912,7 +85121,7 @@ CANC MODE VERIFY
1 2 3 4 5
20.75 24.00 20.75 .... 20.75
*** Running ferret script: bn_plot_ribbon_gaploc.jnl
-[?1034h! bn_plot_ribbon_gaploc.jnl
+! bn_plot_ribbon_gaploc.jnl
! 7/20/2015 *acm* new PLOT/VS/RIBBON/GAPLOC
!
! If a trajectory leaves the selected region and then travels
@@ -84951,7 +85160,7 @@ 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
*** Running ferret script: bn_time_short_axes.jnl
-[?1034h! bn_time_short_axes.jnl
+! bn_time_short_axes.jnl
! testing time axis style with HH:MM on the time axis labels.
use timesec
@@ -84979,7 +85188,7 @@ 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
*** Running ferret script: bn_floatstr_extended.jnl
-[?1034h! bn_floatstr_extended.jnl
+! bn_floatstr_extended.jnl
! test use of Integer and zero-filled formats in FLOATSTR function (Ferret v6.95)
! 9/28/2015
@@ -85214,7 +85423,7 @@ LIST/X=165W/L=1 var1[j=1:40:2], var2[j=1:40:2]
17S / 19: "8." "8"
13S / 20: "10." "9"
*** Running ferret script: bn696_bug_fixes.jnl
-[?1034h! bn696_bug_fixes
+! bn696_bug_fixes
! test various fixes that went into version 6.96
GO bn_reset
@@ -85316,7 +85525,7 @@ say `var,prec=4`
!-> MESSAGE/CONTINUE 1.235E+34
1.235E+34
*** Running ferret script: bn_bin_regrid.jnl
-[?1034h! bin regridding tests
+! bin regridding tests
go bn_bin_regrid.sub X
! Tests of @BIN and @NBIN regridding transforms
@@ -85691,7 +85900,7 @@ LIST dest, var[G$1=dcoarse]
5 / 5: 5.000 5.000
*** Running ferret script: bn697_bug_fixes.jnl
-[?1034h! bn697_bug_fixes
+! bn697_bug_fixes
! test various fixes that went into version 6.97
GO bn_reset
@@ -85904,20 +86113,20 @@ 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
-Tue Apr 18 17:16:25 PDT 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
-Tue Apr 18 17:16:25 PDT 2017
+WKD MON DD HH:MM:SS ZZZ YYYY
sp date
-Tue Apr 18 17:16:25 PDT 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
-Tue Apr 18 17:16:25 PDT 2017
+WKD MON DD HH:MM:SS ZZZ YYYY
GO bn_reset
cancel mode verify
@@ -85975,7 +86184,7 @@ variables:
var:long_name = "0*TT + X[GX=XAX]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -86131,7 +86340,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
@@ -86869,7 +87078,7 @@ variables:
TEMP:history = "From /home/data/socat/socatV3/11SS/11SS20140225.nc" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -87990,7 +88199,7 @@ sp grep "var name" out.xml
<var name="v2">
<var name="u2">
*** Running ferret script: bn_aggregate_t.jnl
-[?1034h! bn_aggregate_t.jnl
+! bn_aggregate_t.jnl
! 9/12/2015 *sh* tweak to put all test files into "tmp" subdirectory
! 1/2016 *sh* added implicit naming of aggregation from script filename
! 2/2016 and auto-sorting of member files
@@ -89118,7 +89327,7 @@ show data/br
1> myagg3 (default)
cancel data/all
*** Running ferret script: bn_unquoted_args.jnl
-[?1034h! bn_unquoted_args.jnl
+! bn_unquoted_args.jnl
! 12/2015 -- a hack change to PPARSE_COMMAND to allow users to omit
! the quotation marks in the argument(s) of SET DATA, GO and DEFINE SYMBOL
@@ -89134,10 +89343,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/pyferret_dev/bench/tmp/test1.nc
+ !-> define sym use_abs_path = ....../bench/tmp/test1.nc
say ($use_abs_path)
- !-> MESSAGE/CONTINUE /home/flat/ksmith/pyferret_dev/bench/tmp/test1.nc
-/home/flat/ksmith/pyferret_dev/bench/tmp/test1.nc
+ !-> MESSAGE/CONTINUE ....../bench/tmp/test1.nc
+....../bench/tmp/test1.nc
use tmp/test1.nc
show data/brief
@@ -89164,17 +89373,17 @@ show data/brief
canc data/all
use "($use_abs_path)"
- !-> SET DAT/FORM=CDF "/home/flat/ksmith/pyferret_dev/bench/tmp/test1.nc"
+ !-> SET DAT/FORM=CDF "....../bench/tmp/test1.nc"
show data/brief
currently SET data sets:
- 1> /home/flat/ksmith/pyferret_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/pyferret_dev/bench/tmp/test1.nc
+ !-> SET DAT/FORM=CDF ....../bench/tmp/test1.nc
show data/brief
currently SET data sets:
- 1> /home/flat/ksmith/pyferret_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
@@ -89240,10 +89449,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/pyferret_dev/bench/tmp/testMe.jnl
+ !-> define sym abs_path = ....../bench/tmp/testMe.jnl
say ($abs_path)
- !-> MESSAGE/CONTINUE /home/flat/ksmith/pyferret_dev/bench/tmp/testMe.jnl
-/home/flat/ksmith/pyferret_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"
@@ -89256,13 +89465,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/pyferret_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/pyferret_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
@@ -89278,13 +89487,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/pyferret_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/pyferret_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
@@ -89323,7 +89532,7 @@ set mode/last ignore
*** Running ferret script: bn_long_lists.jnl
-[?1034h! bn_long_lists.jnl
+! bn_long_lists.jnl
! See ticket 2337
!
! Increase command-line buffer by a factor of 10, to accomodate long lists
@@ -89465,7 +89674,7 @@ let file_list = {\
set mode/last ignore
*** Running ferret script: bn_show_uvar_grid.jnl
-[?1034h! bn_show_uvar_grid.jnl
+! bn_show_uvar_grid.jnl
! Add notes to the output of SHOW GRID for variables and expressions
! indicate compressed axes, point subsets and subset ranges.
! For grid changing functions just mark axis as such
@@ -89576,19 +89785,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 201 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) 60 pts
- (AX007) LATITUDE 45 r 89S 87N 45 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
@@ -89598,7 +89807,7 @@ 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
@@ -89607,7 +89816,7 @@ sh grid vwnd_days
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
@@ -89663,7 +89872,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
@@ -89675,28 +89884,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 4 pts
- (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)
can dat/all
@@ -89709,18 +89918,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 4 pts
+ (AX###) Z 5 r 100 500 4 pts
normal T
! and with a grid-changing function thrown in
@@ -89735,7 +89944,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
@@ -89746,14 +89955,14 @@ 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
ZAX Z (METERS) 5 r 100 500 (axis from grid-changing func)
normal T
*** Running ferret script: bn_aggregate_f.jnl
-[?1034h! bn_aggregate_f.F
+! bn_aggregate_f.F
! 12/2015 *sh*
! 1/2016 *sh* added implicit naming of aggregation from script filename
@@ -89900,22 +90109,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
@@ -90163,17 +90372,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
@@ -91092,10 +91301,11 @@ SH DATA/BR/HIDDEN
set mode/last ignore
*** Running ferret script: bn_aggregate_tef.jnl
-[?1034h! bn_aggregate_tef.F
+! 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
@@ -91529,17 +91739,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
@@ -91662,7 +91872,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 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(XAX) DOUBLE units CHAR 12 T degrees_east
@@ -91717,13 +91927,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
@@ -91821,7 +92031,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.
@@ -91944,23 +92154,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
@@ -92083,7 +92293,7 @@ set mode/last ignore
CANCEL DATA/ALL
*** Running ferret script: bn_dataset_qualifier.jnl
-[?1034h! bn_dataset_qualifier
+! bn_dataset_qualifier
! see ticket 2632
! Test change from /D= to /DATASET= qualifier for LIST, PLOT, LOAD, etc
! Various commands taken from other scripts.
@@ -92146,7 +92356,7 @@ save/clobber/file=a.nc/outtype=float elev[d=1]
use a.nc
sh att .
attributes for dataset: ./a.nc
- ..history = PyFerret V7.1 (beta/debug) 18-Apr-17
+ ..history = PyFerret V7.2 (beta/debug) DD-MON-YY
..Conventions = CF-1.6
..dt_internal = 15
sh att elev
@@ -92167,7 +92377,7 @@ save/clobber/file=a.nc/outtype=float elev[d=1]
use a.nc
sh att .
attributes for dataset: ./a.nc
- ..history = PyFerret V7.1 (beta/debug) 18-Apr-17
+ ..history = PyFerret V7.2 (beta/debug) DD-MON-YY
..Conventions = CF-1.6
sh att elev
attributes for dataset: ./a.nc
@@ -92187,11 +92397,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 201 pts
+ (AX###) LATITUDE 201 r 10S 10N 201 pts
normal Z
TIME TIME 3mr 16-JAN 06:00 17-MAR 02:58 1 pt
@@ -92285,14 +92495,14 @@ plot/dash/x=180/z=0/DATASET=1 temp
! VECTOR/FLOW/DATA=/DENSITY
flow/DAT=2/den=3/L=3 taux,tauy
*** Running ferret script: bn_speedtest.jnl
-[?1034h! bn_speedtest.jnl
+! bn_speedtest.jnl
! issue large numbers of commands, timing with clock time
can mode verify
-10K LET commands LET a = 0 takes 1.045 seconds
-Second 10K LET commands LET a = 0 takes 2.318 seconds
-5K LOAD with transform takes 3.699 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
-[?1034h! bn_show_noupcase.jnl
+! bn_show_noupcase.jnl
! 1/2016 ticket 1796
cancel mode upcase
@@ -92312,7 +92522,7 @@ 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 10 pts
normal Y
@@ -93366,7 +93576,7 @@ SHO VAR/XML
set mode/last upcase
*** Running ferret script: bn_letd_attributes.jnl
-[?1034h! bn_letd_attributes.jnl
+! bn_letd_attributes.jnl
! Allow for the same variable name defined with LET/D in multiple datasets.
! See ticket 2352. Previously for all user variables the
! attribute information stored was in fake uvar-dataset = -1.
@@ -93423,7 +93633,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
@@ -93485,7 +93695,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
@@ -93610,7 +93820,7 @@ save/clobber/file=a.nc myvar[d=2]
sp ncdump -h a.nc >> all_ncdump.out
*** Running ferret script: bn_list_clim_axes.jnl
-[?1034h! bn_list_clim_axes.jnl
+! bn_list_clim_axes.jnl
! *acm* 3/16
! Show and list coordinates for climatological axes
! that are pre-defined in Ferret
@@ -93746,7 +93956,7 @@ 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
*** Running ferret script: bn_climatology_attr.jnl
-[?1034h! bn_climatology_attr.jnl
+! bn_climatology_attr.jnl
! *acm* 3/16 See ticket 2278
!
! Add an attribute climatology_time_range when writing a computed
@@ -93829,7 +94039,7 @@ show att `vname[i=1]`
E494.long_name = 3*CLIM1
*** Running ferret script: bn_plot_along.jnl
-[?1034h! BN_PLOT_ALONG
+! BN_PLOT_ALONG
! *sh* 3/2016
@@ -93901,7 +94111,7 @@ 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]
*** Running ferret script: bn_show_commands.jnl
-[?1034h! bn_show_commands.jnl
+! bn_show_commands.jnl
! Testing results for ticket 2078: SHOW COMMAND cmnd subcmnd
! Also new SHOW COMMAND/BRIEF
! 3/2016 *acm*
@@ -94315,7 +94525,7 @@ sho command/brief v
! All the commands, no subcommands, no qualifiers
SHOW COMMAND/BRIEF
- Commands in Program PyFerret (beta/debug) version7.1:
+ Commands in Program PyFerret (beta/debug) version7.2:
SET
SHOW
CANCEL
@@ -94377,7 +94587,7 @@ SHOW COMMAND/BRIEF sho da
SHOW DATA
*** Running ferret script: bn_plot_decimate.jnl
-[?1034h! BN_PLOT_SKIP
+! BN_PLOT_SKIP
! *acm* 3/2016
@@ -94464,7 +94674,7 @@ 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]
*** Running ferret script: bn_auto_tprec.jnl
-[?1034h! bn_auto_tprec.jnl
+! 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.
@@ -94654,7 +94864,7 @@ shade/title="true-month axis"/L=32/x=60:70/y=-40:-30 ttim; sh sym lab($labnum_t
!-> sh sym lab2
LAB2 = "TIME : 16-AUG-1952 12:00"
*** Running ferret script: bn_coordvars_atts.jnl
-[?1034h! bn_coordvars_atts.jnl
+! bn_coordvars_atts.jnl
! 5/2016 *acm* see ticket 2413
! Additional attribute keywords for returning coordinate variable
! names and number of coordinate vars, to distinguish coordinate
@@ -94714,7 +94924,7 @@ list/nohead ..coordnames
2 / 2:"ZAX"
3 / 3:"XAX1_10"
*** Running ferret script: bn710_bug_fixes.jnl
-[?1034h! bn710_bug_fixes.jnl
+! bn710_bug_fixes.jnl
! test various fixes that went into version 7.1
! 6/16 *acm*
!
@@ -95275,20 +95485,9 @@ list/nohead strindex(..title, "file")
! Bug 2477 plot axes are not fully drawn, some /VS plots
-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
+! 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
@@ -95754,15 +95953,15 @@ save/clob/file=a.nc c
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
+ 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 (G001) C2D_AX_X NORMAL NORMAL NORMAL
- pseudo X M: 8 dset: 0 I: 11 31 J: -999 -999 K: -999 -999 L: -999 -999
- dealloc dynamic grid (G001) C2D_AX_X NORMAL NORMAL NORMAL
+ 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
@@ -95834,7 +96033,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
@@ -96017,7 +96216,7 @@ variables:
VAR:long_name = "X[GX=XLON]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
go bn_reset
@@ -96076,7 +96275,7 @@ variables:
VAR:history = "From a1" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -96123,7 +96322,7 @@ variables:
VAR:history = "From a1" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -96194,7 +96393,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
@@ -96225,7 +96424,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
@@ -96255,7 +96454,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
@@ -96440,7 +96639,7 @@ sh dat
*** Running ferret script: bn_delim_datetime.jnl
-[?1034h! bn_delim_datetime.jnl
+! bn_delim_datetime.jnl
! ACM 7/2016
!
! Tickets 2448, 2449, 2450: Improvements to date reading in delimited files.
@@ -96638,7 +96837,7 @@ set mode/last ignore
*** Running ferret script: bn_aggregate_u.jnl
-[?1034h! bn_aggregate_u.jnl
+! bn_aggregate_u.jnl
! Union aggregations including tests of UNION in combination
! with TSERIES, ENSEMBLE, and FMRC aggregations
! acm 7/15/2016
@@ -96691,10 +96890,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
@@ -97020,16 +97219,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
@@ -97109,17 +97308,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
@@ -97169,7 +97368,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
@@ -97178,7 +97377,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
@@ -97218,7 +97417,7 @@ CANCEL DATA/ALL
*** Running ferret script: bn_ez_noupcase.jnl
-[?1034h! bn_ez_noupcase.jnl
+! bn_ez_noupcase.jnl
! 7/2016 *acm* see ticket 2454
!
! Handle variable-name upcasing for Ascii data
@@ -97246,8 +97445,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
@@ -97255,17 +97454,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 = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
@@ -97296,8 +97495,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
@@ -97306,21 +97505,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
@@ -97328,37 +97527,37 @@ 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 = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
set mode/last upcase
*** Running ferret script: bn_spawn_fail.jnl
-[?1034h! bn_spawn_fail.jnl
+! bn_spawn_fail.jnl
! See ticket 2453
! If a no-success flag is returned from a SPAWN,
! report that as a warning.
@@ -97370,7 +97569,7 @@ sp rm nothing.dat
sp grep modulus non_COARDS.cdl
sp cp nofile.dat not_either.dat
*** Running ferret script: bn_ave_of_ave.jnl
-[?1034h! bn_ave_of_ave.jnl
+! bn_ave_of_ave.jnl
! see ticket 2469
let a = x[gx=1:3:1] + t[gt=1:7:1]
@@ -97439,7 +97638,7 @@ list a[t=@MAX] - a_xtrns[t=@MAX]
0.0000
*** Running ferret script: bn_agg_member_syntax.jnl
-[?1034h! bn_agg_member_syntax
+! bn_agg_member_syntax
! *sh* 11/16
@@ -97595,9 +97794,11 @@ show data/members
U U 1:5 1:4 ... 1:10
V V 1:5 1:4 ... 1:10
- time-dependent data files:
-31-DEC-2009 23:59 -> 31-DEC-2009 23:59 bn_agg_member_syntax.jnl
-
+ 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
@@ -97710,7 +97911,7 @@ stat/br sst[d=5.30] ! not this many members
set mode/last ignore
*** Running ferret script: bn_true_monthly.jnl
-[?1034h! bn_true_monthly.jnl
+! bn_true_monthly.jnl
! examples defining axes with /DEFINE AXIS/MONTHLY
!
! When a true monthly axis is found in a dataset, store it as a TRUEMONTH axis
@@ -98039,7 +98240,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(TAXIS1) DOUBLE axis CHAR 1 T T
@@ -98108,7 +98309,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(TAXIS1) DOUBLE axis CHAR 1 T T
@@ -98179,7 +98380,7 @@ sh dat/att
Variable VarType(in dset) AttributeName AttType Size OutFlag AttValue
------------------------------------------------------------------------------------------
- . history CHAR 36 T PyFerret V7.1 (beta/debug) 18-Apr-17
+ . history CHAR 36 T PyFerret V7.2 (beta/debug) DD-MON-YY
Conventions CHAR 6 F CF-1.6
(TAXIS1) DOUBLE axis CHAR 1 T T
@@ -98460,7 +98661,7 @@ define axis/x=1:5:1/monthly aaxis
cancel mode ignore
*** Running ferret script: bn720_bug_fixes.jnl
-[?1034h! bn720_bug_fixes.jnl
+! bn720_bug_fixes.jnl
! test various fixes that went into version 7.2
! 2/17 *acm*
!
@@ -98588,7 +98789,7 @@ variables:
VART:long_name = "RESHAPE(VAR, T[GT=TAX])" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -98619,88 +98820,9 @@ show grid vart
TAX1 TIME 7 i 09-NOV-2015 02:24 13-NOV-2015 02:24 full
-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
+! move this to bn_gif.jnl
+! GO bn_reset
+! GO err71_plotvs_mode_label
GO bn_reset
cancel mode verify
@@ -98831,7 +98953,7 @@ list a[i=2]
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: 2 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
@@ -98841,9 +98963,9 @@ list a[i=2]
GO bn_reset
cancel mode verify
dealloc dynamic grid XABSTRACT ABSTRACT NORMAL NORMAL NORMAL
- -DELETE A M: 6 dset: 1 I: 2 2 J: -999 -999 K: -999 -999 L: -999 -999
+ -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: 2 dset: 1 I: 2 2 J: -999 -999 K: -999 -999 L: -999 -999
+ -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
@@ -98873,48 +98995,735 @@ use write_int_att.nc
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_vs_constant
-! err71_vs_constant.jnl
-! See ticket 2318, defining plot axes when data is constant
-! 4/2017 acm
+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
-! The axis ranges had been set as val-1, val+1 which
-! worked poorly for large or small data values
+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
+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
+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
-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
+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
+! Check result if the missing-flag is zero
-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}
+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
-frame/file=bn_vs_const_value.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
-! 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}
+! 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 = "PyFerret V7.2 (beta/debug) 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 = "PyFerret V7.2 (beta/debug) 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 = "PyFerret V7.2 (beta/debug) 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 = "PyFerret V7.2 (beta/debug) 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
-[?1034h! 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
@@ -99617,8 +100426,9 @@ LIST/PREC=12 xyz[x=@std,y=@std,z=@std]
! the changes in results from old Ferret (particularly on @var)
*** Running ferret script: bn_dynamic_gather.jnl
-[?1034h! 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
@@ -99638,7 +100448,7 @@ 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 ($SPAWN_OK) THEN
!-> IF 0 THEN
ELSE
define symbol saved_memory_size = ($FERRET_MEMORY)
@@ -100953,7 +101763,7 @@ SET MODE FRUGAL:95
SET MODE/LAST IGNORE
*** Running ferret script: bn_stat_precision.jnl
-[?1034h! bn_stat_precision.jnl
+! bn_stat_precision.jnl
! 3/2017 *acm* Ticket 2512
! The stat command self-adjusts precision to make the
@@ -101035,7 +101845,7 @@ stat/br/prec=12 var
Maximum value: 27.002246751
Mean value: 15.76991222 (unweighted average)
*** Running ferret script: bn_plot_vs_with_time.jnl
-[?1034h! bn_plot_vs_with_time.jnl
+! bn_plot_vs_with_time.jnl
! See ticket 2246
! 3/27/2017 *ACM*
@@ -101105,44 +101915,44 @@ set v lr; plot/vs/ribbon/sym=17/thick/vlim=50:0 ttvar, pres, temp
set mode/last logo
-*** Running ferret script: bn_inner.jnl
-[?1034h! bn_inner.jnl
-! 3/2017 *acm* Inner product function for matrix multiply operation
+*** Running ferret script: bn_dot_product.jnl
+! bn_dot_product.jnl
+! 3/2017 *acm* dot product function for matrix multiply operation
-sh func innerproduct*
-INNERPRODUCT(VAR1,VAR2,IDIM)
+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,...)
-INNERPRODUCT_X(VAR1,VAR2)
- Compute the inner product of two variables along X-axis
+DOT_E(VAR1,VAR2)
+ Compute the inner product of two variables along E-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_Y(VAR1,VAR2)
- Compute the inner product of two variables along Y-axis
+DOT_F(VAR1,VAR2)
+ Compute the inner product of two variables along F-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_Z(VAR1,VAR2)
- Compute the inner product of two variables along Z-axis
+DOT_T(VAR1,VAR2)
+ Compute the inner product of two variables along T-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_T(VAR1,VAR2)
- Compute the inner product of two variables along T-axis
+DOT_X(VAR1,VAR2)
+ Compute the inner product of two variables along X-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_E(VAR1,VAR2)
- Compute the inner product of two variables along E-axis
+DOT_Y(VAR1,VAR2)
+ Compute the inner product of two variables along Y-axis
VAR1: Variable 1
VAR2: Variable 2
-INNERPRODUCT_F(VAR1,VAR2)
- Compute the inner product of two variables along F-axis
+DOT_Z(VAR1,VAR2)
+ Compute the inner product of two variables along Z-axis
VAR1: Variable 1
VAR2: Variable 2
-! A call to innerproduct(var1, var2, dir) translates into call to
-! function innerproduct_q(var1,var2) where q is the pax direction
+! 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
@@ -101165,15 +101975,15 @@ list var1, var2
3 / 3: 3.000000 1.000000
4 / 4: 4.000000 1.000000
5 / 5: 5.000000 1.000000
-list innerproduct(var1, var2, 1)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 1)
+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 innerproduct_x(var1, var2)
- VARIABLE : INNERPRODUCT_X(VAR1, VAR2)
+list dot_x(var1, var2)
+ VARIABLE : DOT_X(VAR1, VAR2)
15.00000
let var1 = y[gy=ypax]
@@ -101186,8 +101996,8 @@ list var1, var2
0.1 / 1: 0.1000000 1.000000
0.2 / 2: 0.2000000 1.000000
0.3 / 3: 0.3000000 1.000000
-list innerproduct(var1, var2, 2)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 2)
+list dot(var1, var2, 2)
+ VARIABLE : DOT(VAR1, VAR2, 2)
0.6000000
let var1 = z[gz=zpax]
@@ -101201,8 +102011,8 @@ list var1, var2
0.02 / 2: 0.02000000 1.000000
0.03 / 3: 0.03000000 1.000000
0.04 / 4: 0.04000000 1.000000
-list innerproduct(var1, var2, 3)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 3)
+list dot(var1, var2, 3)
+ VARIABLE : DOT(VAR1, VAR2, 3)
0.10000000
let var1 = L[gt=month_reg]
@@ -101224,8 +102034,8 @@ list var1, var2
16-OCT / 10: 10.00000 1.000000
15-NOV / 11: 11.00000 1.000000
16-DEC / 12: 12.00000 1.000000
-list innerproduct(var1, var2, 4)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 4)
+list dot(var1, var2, 4)
+ VARIABLE : DOT(VAR1, VAR2, 4)
78.00000
let var1 = _e[ge=epax]
@@ -101238,8 +102048,8 @@ list var1, var2
-3 / 1: -3.000000 1.000000
-2 / 2: -2.000000 1.000000
-1 / 3: -1.000000 1.000000
-list innerproduct(var1, var2, 5)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 5)
+list dot(var1, var2, 5)
+ VARIABLE : DOT(VAR1, VAR2, 5)
-6.000000
let var1 = _f[gf=fpax]
@@ -101253,8 +102063,8 @@ list var1, var2
-0.3 / 2: -0.3000000 1.000000
-0.2 / 3: -0.2000000 1.000000
-0.1 / 4: -0.1000000 1.000000
-list innerproduct(var1, var2, 6)
- VARIABLE : INNERPRODUCT(VAR1, VAR2, 6)
+list dot(var1, var2, 6)
+ VARIABLE : DOT(VAR1, VAR2, 6)
-1.000000
let axy = x[gx=xpax] + y[gy=ypax]
@@ -101342,8 +102152,8 @@ list axy, bxz
3 / 3: 3.300000 0.4000000
4 / 4: 4.300000 0.4000000
5 / 5: 5.300000 0.4000000
-list innerproduct(axy, bxz, 1)
- VARIABLE : INNERPRODUCT(AXY, BXZ, 1)
+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
@@ -101353,8 +102163,8 @@ list innerproduct(axy, bxz, 1)
0.04 / 4: 6.200000 6.400000 6.600000
let byz = y[gy=ypax]+ 10*Z[GZ=Zpax]
-list innerproduct(axy, byz, 2)
- VARIABLE : INNERPRODUCT(AXY, BYZ, 2)
+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
@@ -101365,14 +102175,14 @@ list innerproduct(axy, byz, 2)
let lvar = L[gt=month_reg] - 1
let axyt = axy + lvar
-let multi_inner = innerproduct(axyt, byz, 2)
-save/file=a.nc/clobber multi_inner
+let multi_dot = dot(axyt, byz, 2)
+save/file=a.nc/clobber multi_dot
-can var multi_inner
+can var multi_dot
use a.nc
-! This should be the same as innerproduct(axy, byz, 2)
-list/l=1 multi_inner
- VARIABLE : INNERPRODUCT(AXYT, BYZ, 2)
+! 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
@@ -101388,8 +102198,8 @@ list/l=1 multi_inner
let axz = x[gx=xpax] + z[gz=zpax]
let bzt = 0*z[gz=zpax]+ 10*L[gt=month_reg]
-list innerproduct(axz, bzt, 3)
- VARIABLE : INNERPRODUCT(AXZ, BZT, 3)
+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
@@ -101407,8 +102217,8 @@ list innerproduct(axz, bzt, 3)
16-DEC / 12: 492.000 972.000 1452.000 1932.000 2412.000
let ayt = y[gy=ypax]+ 10*L[gt=month_reg]
-list innerproduct(ayt, bzt, 4)
- VARIABLE : INNERPRODUCT(AYT, BZT, 4)
+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
@@ -101420,14 +102230,14 @@ list innerproduct(ayt, bzt, 4)
let xvar = x[gx=xpax] - 1
let axyt = ayt + xvar
-let multi_inner = innerproduct(axyt, bzt, 4)
-save/file=a.nc/clobber multi_inner
+let multi_dot = dot(axyt, bzt, 4)
+save/file=a.nc/clobber multi_dot
-can var multi_inner
+can var multi_dot
use a.nc
-! This should be the same as innerproduct(ayt, bzt, 4)
-list/i=1 multi_inner
- VARIABLE : INNERPRODUCT(AXYT, BYZ, 2)
+! 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
@@ -101452,8 +102262,8 @@ can dat/all
let ayf = _f[gf=fpax] + y[gy=ypax]
let bfe = 0*_f[gf=fpax]+ 10*_e[ge=epax]
-list innerproduct(ayf, bfe, 6)
- VARIABLE : INNERPRODUCT(AYF, BFE, 6)
+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
@@ -101462,8 +102272,8 @@ list innerproduct(ayf, bfe, 6)
-1 / 3: 6.00000 2.00000 -2.00000
let aze = z[gz=zpax]+ 10*_e[ge=epax]
-list innerproduct(aze, bfe, 5)
- VARIABLE : INNERPRODUCT(AZE, BFE, 5)
+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
@@ -101474,14 +102284,14 @@ list innerproduct(aze, bfe, 5)
let xvar = x[gx=xpax] - 1
let azex = aze + xvar
-let multi_inner = innerproduct(azex, bfe, 5)
-save/file=a.nc/clobber multi_inner
+let multi_dot = dot(azex, bfe, 5)
+save/file=a.nc/clobber multi_dot
-can var multi_inner
+can var multi_dot
use a.nc
-! This should be the same as innerproduct(azex, bfe, 5)
-list/i=1 multi_inner
- VARIABLE : INNERPRODUCT(AZEX, BFE, 5)
+! 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
@@ -101494,11 +102304,12 @@ list/i=1 multi_inner
cancel list/precision
*** Running ferret script: bn_cache_management.jnl
-[?1034h! 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.
@@ -101534,7 +102345,7 @@ define axis/x=1:1000000:1 xmillion
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 ($SPAWN_OK) THEN
!-> IF 0 THEN
ELSE
say creating test files
@@ -101928,7 +102739,7 @@ spawn cat test_auto_cache.out
SET MEMORY/SIZE=($saved_memory_size)
!-> SET MEMORY/SIZE=25.6
*** Running ferret script: bn_transp_choose.jnl
-[?1034h! bn_transp_choose.jnl
+! bn_transp_choose.jnl
! Test the TRANSPOSE function which chooses which of the
! transpose_ functions to run based on arguments
@@ -102037,8 +102848,551 @@ list/l=1 var
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
-[?1034h! bn450_gif.JNL - copied from bn450_plot.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*
@@ -102509,14 +103863,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)
@@ -102529,15 +103883,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)
@@ -102576,9 +103930,164 @@ 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
-[?1034h! bn450_ps.JNL - copied from bn450_plot.jnl
+! bn450_ps.JNL - copied from bn450_plot.jnl
! this journal file only tests the writing of ps files in batch mode using
! "-batch bnplot.ps" command line option...will create on final ps file
! *kob*
@@ -102685,7 +104194,7 @@ frame/file=bnplot_4.eps ! Not an error in PyFerret
*** Running ferret script: bn_all_ef.jnl
-[?1034hSET MODE VERIFY
+SET MODE VERIFY
! bn_all_ef.jnl
! - run all the benchmark tests for externally-linked external functions.
! 12/16 vis5D functions have long been defunct. Remove that test
@@ -103481,28 +104990,29 @@ exit
exit/command
*** Running ferret script: bn_startupfile.jnl
-[?1034h SET MEMORY/SIZE: 31 megawords
+ SET MEMORY/SIZE: 31 megawords
Peak demand: 0 words
Current cache: 0 words
PPL$XPIXEL = "819"
PPL$YPIXEL = "707"
BYTEORDER = "LITTLE"
-FERRET_VERSION = "7.1"
-FERRET_PLATFORM = "Linux 2.6.32-696.1.1.el6.x86_64"
+FERRET_VERSION = "7.2"
+FERRET_PLATFORM = "Linux 3.10.0-514.26.2.el7.x86_64"
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 = "18-Apr-17"
-SESSION_TIME = "17:19"
-SESSION_PID = "27634"
-DELTA_CPU = "0.227964"
-CLOCK_SECS = "0.109"
-CURRENT_DATE = "18-Apr-17"
-CURRENT_TIME = "17:19:03"
+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 = "PyFerret"
PEAK_MEMORY = "0"
-SPAWN_STATUS = "1"
+SPAWN_OK = "1"
+SPAWN_STATUS = "0"
GO_FILE = "./bn_startupfile.jnl"
LAST_GO_FILE = "./bn_startupfile.jnl"
PPL$FORMAT = "(3F10.2)"
@@ -103526,7 +105036,7 @@ PPL$COMMAND_FILE = "$$MEMBUF$$"
VP_WIDTH = "10.2"
VP_HEIGHT = "8.8"
PPL$SCALE = "1.0000"
-WIN_TITLE = "18-Apr-17_17:19"
+WIN_TITLE = "DD-MON-YY HH:MM"
VP_SCALE = "1"
VP_RT_MARGIN = "1"
VP_TOP_MARGIN = "1.4"
@@ -103581,7 +105091,7 @@ VP_YHI = "1"
PSI STREAM FUNCTION 69:73 1:100 ... 1:3
*** Running ferret script: err700_decimate.jnl
-[?1034h! err700_decimate.jnl
+! err700_decimate.jnl
! test decimation of SOCAT full-data DSG files
!
@@ -105644,13 +107154,27 @@ can axis/all
! Dump the contents of the decimated-data DSG file
sp ncdump -h 492C19881104_dec.nc >> all_ncdump.out
+*** Running ferret script: bn_color_wire.jnl
+set text /font=lucida
+set region /i=1:80 /j=1:80
+let bump = exp(-1.0*(((I-40)/20)^2 + ((J-40)/20)^2))
+wire /color=blue /viewpoint=-4,-10,2 bump
+frame /file=bluewire.png
+set window /color=blue 1
+set text /font=lucida /color=(100,100,25)
+wire /color=red /thick=3.5 /viewpoint=-4,-10,2 bump
+frame /file=redwire.png
+wire /color=(100,0,0,25) /thick=3.5 /viewpoint=-4,-10,2 bump
+frame /file=red25wire.png
+wire /color=(100,0,0) /opacity=10 /thick=3.5 /viewpoint=-4,-10,2 bump
+frame /file=red10wire.png
*** Running ferret script: bn_outline_poly.jnl
-[?1034hset win /xinch=8 /thick=1 /asp=1 /outline=5 1
+set win /xinch=8 /thick=1 /asp=1 /outline=5 1
let v = 2*3.14159*x[gx=0:1:.01]
poly/hl=-1:1/vl=-1:1/key/pal=red/thick=1/opac=50 sin(v), cos(v)
frame /file=outline_poly.pdf
*** Running ferret script: bn_contourcolor.jnl
-[?1034hset text /font=hershey
+set text /font=hershey
contour/i=1:20/j=1:20/lev=(0)(-10,10,2.125)/color=blue/title="CONTOUR HERSHEY BLUE" 10*sin(i/3)*cos(j/4)
frame /file=contourcolor_blue.pdf
set text /font=lucida
@@ -105658,8 +107182,16 @@ contour/i=1:20/j=1:20/lev=(0)(-10,10,2.125)/color=green/title="CONTOUR LUCIDA GR
frame /file=contourcolor_green.pdf
contour/i=1:20/j=1:20/lev=(0)(-10,10,2.125)/color=(60,20,30)/title="CONTOUR LUCIDA (60,20,30)" 10*sin(i/3)*cos(j/4)
frame /file=contourcolor_puce.pdf
+
+
+! Test contour labels in different colors
+! Test contour labels on a depth axis
+use gt4d011.cdf
+set text/color=blue contour
+contour/j=40/l=1/color=(30,60,30)/title="CONTOUR depth var with blue labels" temp
+frame /file=contourcolor_depth.pdf
*** Running ferret script: bn_inf2missing.jnl
-[?1034h! bn_inf2missing.jnl
+! bn_inf2missing.jnl
! test for trac ticket #2009 enhancement
! convert any NaN and Inf values in PyEF returned data to the missing value for the array
!
@@ -105671,7 +107203,7 @@ plot stats_ppf(x[gx=0:1.0:0.01], "norm", {0,1})
frame /file=bn_inf2missing.pdf
*** Running python script: testgetstrdata.py
-[?1034h
+
>>> pyferret.run('let strarr = {"one", "two", "three", "four", "five", "six"}')
(3, '')
>>> pyferret.run('list strarr')
@@ -105705,7 +107237,7 @@ axis_coords:
>>> repr(strdict)
"{'title': 'strarr', 'axis_names': ('ABSTRACT', '', '', '', '', ''), 'axis_types': (6, 7, 7, 7, 7, 7), 'axis_units': ('', '', '', '', '', ''), 'axis_coords': (array([ 1., 2., 3., 4., 5., 6.]), None, None, None, None, None), 'missing_value': array(['\\x04'], \n dtype='|S6'), 'data': array([[[[[['one']]]]],\n\n\n\n\n [[[[['two']]]]],\n\n\n\n\n [[[[['three']]]]],\n\n\n\n\n [[[[['four']]]]],\n\n\n\n\n [[[[['five']]]]],\n\n\n\n\n [[[[['six']]]]]], \n [...]
*** Running python script: testferregion.py
-[?1034h
+
>>> emptyregion = pyferret.FerRegion()
>>> print repr(emptyregion)
FerRegion()
@@ -105728,7 +107260,7 @@ FerRegion(I='1:20',J='1:60',K='11',L='5',M='1',N='1')
... print 'Error caught: %s' % str(ex)
Error caught: X and I cannot both be given
*** Running python script: testferdset.py
-[?1034h
+
>>> coads = pyferret.FerDSet('coads_climatology.cdf')
>>> str(coads)
"FerDSet('coads_climatology.cdf') with variables ['SST']"
@@ -105824,7 +107356,7 @@ ValueError caught with message: pyferret.anondset should be used for the anonymo
>>> pyferret.anondset.show()
Created by DEFINE VARIABLE:
*** Running python script: testfervar.py
-[?1034h
+
>>> coads = pyferret.FerDSet('coads_climatology.cdf')
>>> str(coads.sst)
FerVar(varname='SST', dsetname='coads_climatology.cdf', title = '', defn='SST[d=coads_climatology.cdf]')
@@ -106641,7 +108173,7 @@ array([[ 12.18707085, 18.32330322, 19.59271812],
>>> pyferret.showdata()
currently SET data sets:
*** Running python script: testferaggdset.py
-[?1034h
+
>>> dsetnames = ['./ens1.nc', './ens2.nc', './ens3.nc', './ens4.nc']
>>> onefileagg = pyferret.FerAggDSet(name='onefileagg', dsets=dsetnames[-1:], along='E')
>>> pyferret.showdata()
@@ -106716,7 +108248,7 @@ FerAggDSet(name='fourfiles', dsets=['./ens1.nc', './ens2.nc', './ens3.nc', './en
>>> fourfiles.getdsets()
[FerDSet('./ens1.nc') with variables ['AIRT', 'SST'], FerDSet('./ens2.nc') with variables ['SST'], FerDSet('./ens3.nc') with variables ['SST'], FerDSet('./ens4.nc') with variables ['SST']]
>>> fourfiles.SST.showgrid()
- GRID (G006) Ensemble Aggregetion Grid
+ GRID (G###) Ensemble Aggregetion Grid
name axis # pts start end subset
COADSX116_125 LONGITUDE 10mr 109W 91W full
COADSY52_60 LATITUDE 9 r 13N 29N full
@@ -106751,7 +108283,7 @@ FerAggDSet(name='', dsets=['./ens1.nc', './ens2.nc', './ens3.nc', './ens4.nc'],
SST SST_IN 1:10 1:9 ... 1:12
*** Running python script: testferaxis.py
-[?1034h
+
>>> normax = pyferret.FerAxis()
>>> print repr(normax)
FerAxis(coords=None, axtype=7, unit='', name='')
@@ -106939,7 +108471,7 @@ True
>>> print repr(pyferret.FerAxis._parsegeoslice( slice('03-APR-2005 11:30','23-JUL-2006 23:30','12h') ))
(4, [3, 4, 2005, 11, 30, 0], [23, 7, 2006, 23, 30, 0], [0, 0, 0, 12.0, 0, 0])
*** Running python script: testfergrid.py
-[?1034h
+
>>> nogrid = pyferret.FerGrid()
>>> print repr(nogrid)
FerGrid(axes=[
@@ -107083,7 +108615,7 @@ False
>>> freqgrid.axes[5] == coadsgrid.axes[5]
True
*** Running python script: testferpyvar.py
-[?1034h
+
>>> coads = pyferret.FerDSet('coads_climatology.cdf')
>>> pyferret.showdata(brief=False)
currently SET data sets:
@@ -107130,7 +108662,7 @@ True
>>> pyferret.showdata()
currently SET data sets:
*** Running python script: testfermethods.py
-[?1034h
+
>>> coads_uw = pyferret.FerDSet('coads_uw.nc')
>>> coads_uw.mywnd = (coads_uw.uwnd**2 + coads_uw.vwnd**2)**0.5
>>> pyferret.showdata(brief=False)
@@ -107169,4 +108701,3 @@ True
>>> coads_uw.close()
>>> pyferret.showdata()
currently SET data sets:
-Ended at Tue Apr 18 17:19:10 PDT 2017
diff --git a/bench/test_results/pyferret_run_tests_ncdump b/bench/test_results/pyferret_run_tests_ncdump
index d1dbac8..8744353 100644
--- a/bench/test_results/pyferret_run_tests_ncdump
+++ b/bench/test_results/pyferret_run_tests_ncdump
@@ -50,7 +50,7 @@ variables:
MY_VAR:long_name = "T[GT=T5]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -75,7 +75,7 @@ variables:
MY_VAR:long_name = "T[GT=T5]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -112,7 +112,7 @@ variables:
B:long_name = "\"one line of text\"" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -151,7 +151,7 @@ variables:
D:history = "From test_string" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -186,7 +186,7 @@ variables:
B:long_name = "SAMPLEJ(YSEQUENCE({\"a\",\"b\",,\"d\",\"e\",\"f\"}),{2,,1})" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -256,7 +256,7 @@ variables:
V:long_name = "T[GT=MONTH_IRREG]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -313,7 +313,7 @@ variables:
V:history = "From coads_vwnd" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -370,7 +370,7 @@ variables:
V:history = "From coads_vwnd" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -425,7 +425,7 @@ variables:
T2:long_name = "Z[GZ=ZIRR]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -473,7 +473,7 @@ variables:
V:history = "From coads_climatology" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -567,7 +567,7 @@ variables:
SST:units = "Deg C" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -637,7 +637,7 @@ variables:
SST:units = "Deg C" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -688,7 +688,7 @@ variables:
V:long_name = "X[GX=XAX] +Z[GZ=ZAX] + T[GT=TAX]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -779,7 +779,7 @@ variables:
A:long_name = "T[GT=TIME]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -806,7 +806,7 @@ variables:
X_:long_name_mod = "axis ABSTRACT" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
:title = "a long title longer than 80 characters a123456789b123456789c123456789d123456789e123456789f123456789g123456789h123456789" ;
data:
@@ -830,7 +830,7 @@ variables:
A:history = "From x" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) 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:
@@ -857,14 +857,14 @@ variables:
A:history = "From t0_cdc" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) 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 = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
*** Running ferret script: bn_window_title.jnl
*** Running ferret script: bn_last_error.jnl
*** Running ferret script: bn_deg_min.jnl
@@ -900,7 +900,7 @@ variables:
V:long_name = "X[GX=XAX] +Z[GZ=ZAX] + T[GT=TAX]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -973,7 +973,7 @@ variables:
VAR_B:long_name = "my strings" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1017,7 +1017,7 @@ variables:
SST:units = "Deg C" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1059,7 +1059,7 @@ variables:
SST:units = "Deg C" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1167,7 +1167,7 @@ variables:
ELEV:history = "From err491_attval" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 6 after CANCEL MODE upcase_output
@@ -1208,7 +1208,7 @@ variables:
Elev:history = "From err491_attval" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 7 outtput flags to control attribute output
@@ -1231,7 +1231,7 @@ variables:
BB:another_attr = 6.f ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1257,7 +1257,7 @@ variables:
BB:another_attr = 6.f ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1277,7 +1277,7 @@ variables:
BB:long_name = "{3,4.5,6,7,4}" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1298,7 +1298,7 @@ variables:
BB:long_name = "{3,4.5,6,7,4}" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1341,7 +1341,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 12 Check that settings hold for child axis.
@@ -1381,7 +1381,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 13 cancel output of attributes of the variable.
@@ -1419,7 +1419,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 14 attributes of data from ez data.
@@ -1427,28 +1427,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 = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1465,23 +1465,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 = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1507,7 +1507,7 @@ variables:
A:four = "theory" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1553,7 +1553,7 @@ variables:
ELEV:history = "From err491_attval" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
:simulation = "K-Bay OAR3d model (200m)" ;
:start_date = "980105000000" ;
@@ -1660,7 +1660,7 @@ variables:
TEMP:units = "deg. C" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
:dt_internal = 15. ;
}
@@ -1702,7 +1702,7 @@ variables:
ELEV:history = "From err491_attval" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1785,7 +1785,7 @@ variables:
RIGUE:history = "From test0" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1822,7 +1822,7 @@ variables:
B:long_name = "hello" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1862,7 +1862,7 @@ variables:
VWND:units = "M/S" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1913,7 +1913,7 @@ variables:
T2:history = "From coads_vwnd" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -1972,7 +1972,7 @@ variables:
T2:history = "From gt4d011" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -2017,7 +2017,7 @@ variables:
T2:history = "From gt4d011" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -2060,7 +2060,7 @@ variables:
T2:history = "From gt4d011" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -2095,7 +2095,7 @@ variables:
TEMP:units = "DEG C" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -2129,7 +2129,7 @@ variables:
TWO:history = "From levitus_climatology" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 27 attributes of user-defined axes
@@ -2159,7 +2159,7 @@ variables:
AXY:long_name = "RESHAPE (A,RVAR)" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- 28 Define a new global attribute
@@ -2188,7 +2188,7 @@ variables:
BROILED:history = "From test0" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
:glob = "Global attribute" ;
:FERRET_comment = "File written via LAS. Attributes are inherited from originating dataset" ;
@@ -2249,7 +2249,7 @@ variables:
FAREN:history = "From gt4d011" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -2294,7 +2294,7 @@ variables:
FAREN:history = "From gt4d011" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
*** Running ferret script: bn_transforms.jnl
@@ -2335,7 +2335,7 @@ variables:
A:long_name = "X[GX=XAX]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -2365,7 +2365,7 @@ variables:
A:long_name = "X[GX=XAX]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -2395,7 +2395,7 @@ variables:
A:long_name = "X[GX=XAX]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -2448,7 +2448,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -2490,7 +2490,7 @@ variables:
TEMP:units = "Deg C" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -2508,7 +2508,7 @@ variables:
V:long_name = "Y[GY=YAXIS]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
*** Running ferret script: bn_no_valid_on_plot.jnl
@@ -2519,36 +2519,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 = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) 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 = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
bn_attributes.jnl --- SET VAR/OUTTYPE for user variable
@@ -2565,7 +2565,7 @@ variables:
A:long_name = "{1.1,2.2,3.3}" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -2586,7 +2586,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 = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -2657,7 +2657,7 @@ variables:
newvar:history = "From a" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
*** Running ferret script: bn_cdf_keepax.jnl
@@ -2686,7 +2686,7 @@ variables:
A:long_name = "X[GX=X100] + T[GT=T31]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
bn_keep_axisnames.jnl --- without /KEEP_AXISNAMES
@@ -2713,7 +2713,7 @@ variables:
A:long_name = "X[GX=X100] + T[GT=T31]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
*** Running ferret script: bn_key_label_minmax.jnl
@@ -2818,7 +2818,7 @@ variables:
ZUP:long_name = "Z[GZ=ZAXUP]" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
bn_axis_cf.jnl, Convert forms of DEG, degrees to degrees_east:
@@ -2850,7 +2850,7 @@ variables:
Y_:long_name_mod = "axis YFIFTEEN" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
bn_axis_cf.jnl, Downcase units, e.g. in time axis DAYS since
@@ -2883,7 +2883,7 @@ variables:
XYTVAR:history = "From bn_strides" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
*** Running ferret script: bn_repeated_coords.jnl
@@ -2960,7 +2960,7 @@ variables:
TIME:history = "From http://tds.climatedatacloud.com/thredds/dodsC/ensembles/nmme_gfdl/TwoD" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -2998,7 +2998,7 @@ variables:
time:history = "From http://tds.climatedatacloud.com/thredds/dodsC/ensembles/nmme_gfdl/TwoD" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
data:
@@ -3050,7 +3050,7 @@ variables:
MYVAR:history = "From coads_climatology" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
netcdf a {
@@ -3064,7 +3064,7 @@ variables:
MYVAR:history = "From levitus_climatology" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) DD-MON-YY" ;
:Conventions = "CF-1.6" ;
}
*** Running ferret script: bn_list_clim_axes.jnl
@@ -3087,9 +3087,10 @@ variables:
*** 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_inner.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
@@ -3748,11 +3749,12 @@ variables:
tmonth:history = "added to /home/data/socat/socatV3/492C/492C19881104.nc" ;
// global attributes:
- :history = "PyFerret V7.1 (beta/debug) 18-Apr-17" ;
+ :history = "PyFerret V7.2 (beta/debug) 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" ;
}
+*** Running ferret script: bn_color_wire.jnl
*** Running ferret script: bn_outline_poly.jnl
*** Running ferret script: bn_contourcolor.jnl
*** Running ferret script: bn_inf2missing.jnl
diff --git a/bench/test_results/red10wire.png b/bench/test_results/red10wire.png
new file mode 100644
index 0000000..086a789
Binary files /dev/null and b/bench/test_results/red10wire.png differ
diff --git a/bench/test_results/red25wire.png b/bench/test_results/red25wire.png
new file mode 100644
index 0000000..f28a726
Binary files /dev/null and b/bench/test_results/red25wire.png differ
diff --git a/bench/test_results/redwire.png b/bench/test_results/redwire.png
new file mode 100644
index 0000000..f433309
Binary files /dev/null and b/bench/test_results/redwire.png differ
diff --git a/bench/test_results/startup_tests2.pdf b/bench/test_results/startup_tests2.pdf
index 89f3378..fca19bf 100644
Binary files a/bench/test_results/startup_tests2.pdf and b/bench/test_results/startup_tests2.pdf 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/testfermethods_contour.pdf b/bench/test_results/testfermethods_contour.pdf
index 9991ad3..aecee16 100644
Binary files a/bench/test_results/testfermethods_contour.pdf and b/bench/test_results/testfermethods_contour.pdf differ
diff --git a/bench/test_results/testfermethods_fill.pdf b/bench/test_results/testfermethods_fill.pdf
index 8554d98..c4a1414 100644
Binary files a/bench/test_results/testfermethods_fill.pdf and b/bench/test_results/testfermethods_fill.pdf differ
diff --git a/bench/test_results/testfermethods_lineplot.pdf b/bench/test_results/testfermethods_lineplot.pdf
index 6040f97..5048826 100644
Binary files a/bench/test_results/testfermethods_lineplot.pdf and b/bench/test_results/testfermethods_lineplot.pdf differ
diff --git a/bench/test_results/testfermethods_pointplot.pdf b/bench/test_results/testfermethods_pointplot.pdf
index 738e956..f6b8016 100644
Binary files a/bench/test_results/testfermethods_pointplot.pdf and b/bench/test_results/testfermethods_pointplot.pdf differ
diff --git a/bench/test_results/testfermethods_shade.pdf b/bench/test_results/testfermethods_shade.pdf
index 7a296c4..aed7c4a 100644
Binary files a/bench/test_results/testfermethods_shade.pdf and b/bench/test_results/testfermethods_shade.pdf differ
diff --git a/bench/test_results/testferpyvar.pdf b/bench/test_results/testferpyvar.pdf
index ed22f7b..8cfad84 100644
Binary files a/bench/test_results/testferpyvar.pdf and b/bench/test_results/testferpyvar.pdf differ
diff --git a/bench/test_results/timetics.pdf b/bench/test_results/timetics.pdf
index b116afb..288b92a 100644
Binary files a/bench/test_results/timetics.pdf and b/bench/test_results/timetics.pdf differ
diff --git a/bench/test_results/timetics2.pdf b/bench/test_results/timetics2.pdf
index 51cba2e..a1bb872 100644
Binary files a/bench/test_results/timetics2.pdf and b/bench/test_results/timetics2.pdf differ
diff --git a/bench/test_results/vec_curv.pdf b/bench/test_results/vec_curv.pdf
index 7edcdc5..55a3910 100644
Binary files a/bench/test_results/vec_curv.pdf and b/bench/test_results/vec_curv.pdf differ
diff --git a/bench/test_results/vec_curv2.pdf b/bench/test_results/vec_curv2.pdf
index 1394ad8..1088b4d 100644
Binary files a/bench/test_results/vec_curv2.pdf and b/bench/test_results/vec_curv2.pdf differ
diff --git a/bench/test_results/viewaxes.pdf b/bench/test_results/viewaxes.pdf
index 9145517..c94a727 100644
Binary files a/bench/test_results/viewaxes.pdf and b/bench/test_results/viewaxes.pdf 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/bench/test_results/vs_lon_over.png b/bench/test_results/vs_lon_over.png
new file mode 100644
index 0000000..f013750
Binary files /dev/null and b/bench/test_results/vs_lon_over.png differ
diff --git a/external_functions/ef_utility/site_specific.mk b/external_functions/ef_utility/site_specific.mk
index f436540..bdd71e4 100644
--- a/external_functions/ef_utility/site_specific.mk
+++ b/external_functions/ef_utility/site_specific.mk
@@ -11,8 +11,8 @@
## This value is used to determine which platform_specific.mk
## file to include in the Makefiles.
## =========================
-BUILDTYPE = $(HOSTTYPE)
-# BUILDTYPE = x86_64-linux
+# BUILDTYPE = $(HOSTTYPE)
+BUILDTYPE = x86_64-linux
# BUILDTYPE = x86_64-linux-gnu
# BUILDTYPE = i386-linux
# BUILDTYPE = i386-linux-gnu
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/ccr/EF_InternalUtil.c b/fer/ccr/EF_InternalUtil.c
index d4f8642..71411d7 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
@@ -85,11 +85,11 @@
* Check that GLOBAL_ExternalFunctionsList is not NULL in ef_ptr_from_id_ptr
* *kms* 11/10 Check for libpyefcn.so in $FER_LIBS instead of $FER_DIR/lib
* *kms* 12/10 Eliminated libpyefcn.so; link to pyefcn static library
-* This makes libpython2.X a required library.
+* This makes libpython... a required library.
* *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
@@ -161,7 +161,7 @@ static void *internal_dlsym(char *name);
/*
* 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.
*/
@@ -204,7 +204,7 @@ 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_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 *);
@@ -240,7 +240,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.
*/
@@ -249,27 +249,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 *);
@@ -281,7 +281,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 *);
@@ -289,33 +289,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 *);
@@ -339,246 +344,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 *);
@@ -656,7 +657,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 *);
@@ -666,7 +667,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 *);
@@ -718,10 +719,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 *);
@@ -730,13 +732,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 *);
@@ -754,12 +756,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 *);
@@ -787,6 +789,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 *);
@@ -880,11 +888,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 +954,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 +1027,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 +1049,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 +1079,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 +1120,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,24 +1138,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(innerproduct_x_init)(int *);
-void FORTRAN(innerproduct_x_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
-
-void FORTRAN(innerproduct_y_init)(int *);
-void FORTRAN(innerproduct_y_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
-
-void FORTRAN(innerproduct_z_init)(int *);
-void FORTRAN(innerproduct_z_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
-
-void FORTRAN(innerproduct_t_init)(int *);
-void FORTRAN(innerproduct_t_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
-
-void FORTRAN(innerproduct_e_init)(int *);
-void FORTRAN(innerproduct_e_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
-
-void FORTRAN(innerproduct_f_init)(int *);
-void FORTRAN(innerproduct_f_compute)(int *, 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
* ------------------------------------ */
@@ -1189,8 +1210,8 @@ void FORTRAN(innerproduct_f_compute)(int *, DFTYPE *, DFTYPE *, DFTYPE *);
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]="";
@@ -1198,220 +1219,224 @@ int FORTRAN(efcn_scan)( int *gfcn_num_internal )
int i_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 198
+#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_ef");
- strcpy(I_EFnames[133].funcname, "transpose_te");
- strcpy(I_EFnames[134].funcname, "transpose_tf");
- strcpy(I_EFnames[135].funcname, "transpose_xe");
- strcpy(I_EFnames[136].funcname, "transpose_xf");
- strcpy(I_EFnames[137].funcname, "transpose_xt");
- strcpy(I_EFnames[138].funcname, "transpose_xy");
- strcpy(I_EFnames[139].funcname, "transpose_xz");
- strcpy(I_EFnames[140].funcname, "transpose_ye");
- strcpy(I_EFnames[141].funcname, "transpose_yf");
- strcpy(I_EFnames[142].funcname, "transpose_yt");
- strcpy(I_EFnames[143].funcname, "transpose_yz");
- strcpy(I_EFnames[144].funcname, "transpose_ze");
- strcpy(I_EFnames[145].funcname, "transpose_zf");
- strcpy(I_EFnames[146].funcname, "transpose_zt");
- strcpy(I_EFnames[147].funcname, "treverse");
- strcpy(I_EFnames[148].funcname, "unique_str2int");
- strcpy(I_EFnames[149].funcname, "write_webrow");
- strcpy(I_EFnames[150].funcname, "xauto_cor");
- strcpy(I_EFnames[151].funcname, "xcat");
- strcpy(I_EFnames[152].funcname, "xcat_str");
- strcpy(I_EFnames[153].funcname, "xreverse");
- strcpy(I_EFnames[154].funcname, "ycat");
- strcpy(I_EFnames[155].funcname, "ycat_str");
- strcpy(I_EFnames[156].funcname, "yreverse");
- strcpy(I_EFnames[157].funcname, "zaxreplace_avg");
- strcpy(I_EFnames[158].funcname, "zaxreplace_bin");
- strcpy(I_EFnames[159].funcname, "zaxreplace_rev");
- strcpy(I_EFnames[160].funcname, "zaxreplace_zlev");
- strcpy(I_EFnames[161].funcname, "zcat");
- strcpy(I_EFnames[162].funcname, "zcat_str");
- strcpy(I_EFnames[163].funcname, "zreverse");
- strcpy(I_EFnames[164].funcname, "eofsvd_space");
- strcpy(I_EFnames[165].funcname, "eofsvd_stat");
- strcpy(I_EFnames[166].funcname, "eofsvd_tfunc");
- strcpy(I_EFnames[167].funcname, "expnd_by_len");
- strcpy(I_EFnames[168].funcname, "expnd_by_len_str");
- strcpy(I_EFnames[169].funcname, "fc_isubset");
- strcpy(I_EFnames[170].funcname, "expndi_by_z_counts");
- strcpy(I_EFnames[171].funcname, "expndi_id_by_z_counts");
- strcpy(I_EFnames[172].funcname, "expndi_by_m_counts");
- strcpy(I_EFnames[173].funcname, "str_mask");
- strcpy(I_EFnames[174].funcname, "samplexyt_nrst");
- strcpy(I_EFnames[175].funcname, "separate");
- strcpy(I_EFnames[176].funcname, "time_reformat");
- strcpy(I_EFnames[177].funcname, "ft_to_orthogonal");
- strcpy(I_EFnames[178].funcname, "curv_to_rect_fsu");
- strcpy(I_EFnames[179].funcname, "piecewise3");
- strcpy(I_EFnames[180].funcname, "sample_fast_i");
- strcpy(I_EFnames[181].funcname, "sample_fast_i_str");
- strcpy(I_EFnames[182].funcname, "separate_str");
- strcpy(I_EFnames[183].funcname, "write_webrow_gwt");
- strcpy(I_EFnames[184].funcname, "bxcat");
- strcpy(I_EFnames[185].funcname, "bxsequence");
- strcpy(I_EFnames[186].funcname, "bxsequence_str");
- strcpy(I_EFnames[187].funcname, "bcompressi");
- strcpy(I_EFnames[188].funcname, "scat2grid_bin_xyzt");
- strcpy(I_EFnames[189].funcname, "str_noblanks");
- strcpy(I_EFnames[190].funcname, "str_replace");
- strcpy(I_EFnames[191].funcname, "expndi_to_et");
- strcpy(I_EFnames[192].funcname, "innerproduct_x");
- strcpy(I_EFnames[193].funcname, "innerproduct_y");
- strcpy(I_EFnames[194].funcname, "innerproduct_z");
- strcpy(I_EFnames[195].funcname, "innerproduct_t");
- strcpy(I_EFnames[196].funcname, "innerproduct_e");
- strcpy(I_EFnames[197].funcname, "innerproduct_f");
-
-/*
- * ------------------------------------
+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");
+
+/*
+ * ------------------------------------
*/
@@ -1428,8 +1453,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.
*/
@@ -1464,13 +1489,13 @@ struct {
"WARNING: environment variable PYFER_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
PYFER_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;
}
@@ -1486,15 +1511,15 @@ struct {
return_val = count;
I_have_scanned_already = TRUE;
return return_val;
-
+
} else {
-
+
do {
strcpy(path, path_ptr);
if (path[strlen(path)-1] != '/')
- strcat(path, "/");
+ strcat(path, "/");
sprintf(cmd, "ls -1 %s", path);
@@ -1504,7 +1529,7 @@ struct {
return_val = -1;
return return_val;
}
-
+
/*
* Read a line at a time.
* Any ~.so files are assumed to be external functions.
@@ -1526,11 +1551,11 @@ struct {
}
}
-
+
pclose(file_ptr);
-
+
path_ptr = strtok(NULL, " \t"); /* get the next directory */
-
+
} while ( path_ptr != NULL );
I_have_scanned_already = TRUE;
@@ -1543,7 +1568,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 )
@@ -1580,14 +1605,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];
/* Check string lengths since these values might possibly be exceeded */
@@ -1602,7 +1627,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.)
@@ -1632,10 +1657,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);
PyMem_Free(ef_ptr->internals_ptr);
@@ -1680,7 +1705,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
@@ -1737,10 +1762,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;
}
@@ -1796,7 +1821,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.
*/
@@ -1828,10 +1853,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;
@@ -1852,8 +1877,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, "");
@@ -1864,7 +1889,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 );
@@ -1882,10 +1907,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;
@@ -1923,7 +1948,7 @@ 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
@@ -1959,10 +1984,10 @@ void FORTRAN(efcn_get_result_limits)( int *id_ptr, int *mr_list_ptr, int *cx_lis
/*
* 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")) {
@@ -2015,10 +2040,10 @@ void FORTRAN(efcn_get_result_limits)( int *id_ptr, int *mr_list_ptr, int *cx_lis
/*
* 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;
@@ -2056,7 +2081,7 @@ void FORTRAN(efcn_get_result_limits)( int *id_ptr, int *mr_list_ptr, int *cx_lis
/*
- * 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.
*/
@@ -2140,7 +2165,7 @@ 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;
@@ -2165,7 +2190,7 @@ void FORTRAN(efcn_compute)( int *id_ptr, int *narg_ptr, int *cx_list_ptr, int *m
/* 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.
@@ -2229,13 +2254,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 *)PyMem_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;
@@ -2265,10 +2290,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;
@@ -2353,11 +2378,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);
}
@@ -2624,10 +2649,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;
@@ -2741,7 +2766,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;
@@ -2764,7 +2789,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.
@@ -2781,7 +2806,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;
@@ -2851,7 +2876,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)
@@ -2980,7 +3005,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; }
@@ -3004,7 +3029,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; }
@@ -3028,10 +3053,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];
@@ -3051,13 +3076,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;
}
@@ -3065,19 +3090,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;
}
@@ -3093,9 +3118,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;
}
@@ -3107,11 +3132,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
@@ -3142,12 +3167,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;
@@ -3161,10 +3186,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;
@@ -3292,7 +3317,7 @@ int EF_New( ExternalFunction *this )
* Store the global values which will be needed by utility routines
* in EF_ExternalUtil.c
*/
-void EF_store_globals(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;
@@ -3339,7 +3364,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;
}
@@ -3347,14 +3372,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
@@ -3362,7 +3387,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 */
@@ -3373,7 +3398,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];
@@ -3423,7 +3448,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 "?" */
@@ -3437,7 +3462,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 ) {
@@ -3451,10 +3476,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);
@@ -3507,11 +3532,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
@@ -3583,6 +3608,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);
@@ -3637,6 +3672,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);
@@ -4074,10 +4115,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);
@@ -4221,12 +4264,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);
@@ -4440,21 +4477,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);
@@ -4468,24 +4490,45 @@ 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);
-else if ( !strcmp(name,"innerproduct_x_init_") ) return (void *)FORTRAN(innerproduct_x_init);
-else if ( !strcmp(name,"innerproduct_x_compute_") ) return (void *)FORTRAN(innerproduct_x_compute);
+/* dot product 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,"innerproduct_y_init_") ) return (void *)FORTRAN(innerproduct_y_init);
-else if ( !strcmp(name,"innerproduct_y_compute_") ) return (void *)FORTRAN(innerproduct_y_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,"innerproduct_z_init_") ) return (void *)FORTRAN(innerproduct_z_init);
-else if ( !strcmp(name,"innerproduct_z_compute_") ) return (void *)FORTRAN(innerproduct_z_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);
-else if ( !strcmp(name,"innerproduct_t_init_") ) return (void *)FORTRAN(innerproduct_t_init);
-else if ( !strcmp(name,"innerproduct_t_compute_") ) return (void *)FORTRAN(innerproduct_t_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);
-else if ( !strcmp(name,"innerproduct_e_init_") ) return (void *)FORTRAN(innerproduct_e_init);
-else if ( !strcmp(name,"innerproduct_e_compute_") ) return (void *)FORTRAN(innerproduct_e_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);
-else if ( !strcmp(name,"innerproduct_f_init_") ) return (void *)FORTRAN(innerproduct_f_init);
-else if ( !strcmp(name,"innerproduct_f_compute_") ) return (void *)FORTRAN(innerproduct_f_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;
}
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 5aadd33..9f3b5e3 100644
--- a/fer/common/ferret.parm
+++ b/fer/common/ferret.parm
@@ -58,6 +58,7 @@
* 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
@@ -398,7 +399,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,
@@ -424,6 +426,7 @@
. prgrd_nbin = 22,
. prgrd_from_source = -6,
. prgrd_from_ntrmed = -7,
+ . prgrd_iin = 23,
. pinterpolate = 0 )
* auxiliary regridding transformations
diff --git a/fer/common/grid_chg_fcns.parm b/fer/common/grid_chg_fcns.parm
index 10a7a86..8eb15be 100644
--- a/fer/common/grid_chg_fcns.parm
+++ b/fer/common/grid_chg_fcns.parm
@@ -29,6 +29,7 @@
* 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,
@@ -38,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_innerprod, p_transpose
+ . p_substring, p_strfloat, p_dot, p_transpose
PARAMETER ( p_xunravel = 1,
. p_times2 = p_xunravel + 1,
@@ -65,8 +66,8 @@
. p_strcat = p_dncase + 1,
. p_substring = p_strcat + 1,
. p_strfloat = p_substring + 1,
- . p_innerprod = p_strfloat + 1,
- . p_transpose = p_innerprod + 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/slash.parm b/fer/common/slash.parm
index 5e04f8a..31f3285 100644
--- a/fer/common/slash.parm
+++ b/fer/common/slash.parm
@@ -75,6 +75,8 @@
* 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
* 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
+* PyFr *kms* 5/17 Ticket 2530 add WIRE/COLOR= /OPACITY= /THICKNESS=
* command qualifier states
@@ -371,6 +373,9 @@
. slash_wire_view,
. slash_wire_zlimits,
. slash_wire_zscale,
+ . slash_wire_color,
+ . slash_wire_thick,
+ . slash_wire_opacity,
.
. slash_frame_format,
. slash_frame_file,
@@ -694,6 +699,9 @@
. slash_wire_view = 1+16,
. slash_wire_zlimits = 1+17,
. slash_wire_zscale = 1+20,
+ . slash_wire_color = 1+21,
+ . slash_wire_thick = 1+22,
+ . slash_wire_opacity = 1+23,
.
. slash_frame_format = 0 + 1,
. slash_frame_file = 1 + 1,
diff --git a/fer/common/xprog_state.cmn b/fer/common/xprog_state.cmn
index f477bcf..825aa73 100644
--- a/fer/common/xprog_state.cmn
+++ b/fer/common/xprog_state.cmn
@@ -55,6 +55,9 @@
* - 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
+* v720 7/17 *kms* remove unused its_pyferret flag
INTEGER cmnd_buff_len, max_qual_list, max_arg_list,
. max_item_list, max_modes, mode_stack_size,
@@ -176,7 +179,7 @@
. genl_storage(25),
. ifstk, ifstk_skipping,
. if_cs(max_ifstk), if_doing(max_ifstk),
- . num_linecolors
+ . num_linecolors, spawn_status
LOGICAL
. list_format_given, list_unformatted, list_dsf, list_redirected,
@@ -196,8 +199,7 @@
. allowed_err,
. one_cmnd_mode,
. mode_auto_curvi, mode_auto_curvi_last,
- . mode_auto_layerz, mode_auto_layerz_last,
- . its_pyferret, spawn_status
+ . mode_auto_layerz, mode_auto_layerz_last
! Note: available_char_var is unused
CHARACTER
@@ -234,7 +236,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,
@@ -255,11 +257,10 @@
. in_get_grid_mode,
. mode_auto_curvi, mode_auto_curvi_last,
. mode_auto_layerz, mode_auto_layerz_last,
- . spawn_status,
. frame_compress, available_char_var,
. journal_file, ppllist_file,
. xwind_node, xwind_node_len,
- . genl_storage, its_script, its_pyferret, grat_on,
+ . genl_storage, its_script, grat_on,
. shade_trim, silent_err, allowed_err, one_cmnd_mode,
. ppl_wait, mode_name,
. scriptfile_name, show_file, list_outtype
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/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 32ba215..61b4585 100644
--- a/fer/dat/xcommand_data.F
+++ b/fer/dat/xcommand_data.F
@@ -255,6 +255,9 @@
* 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=
+* PyFr *kms* 5/17 Ticket 2530 add WIRE/COLOR= /OPACITY= /THICKNESS=
+
*
* !!!!!!!!!!
* Use caution when defining new commands, qualifiers, or changing these data structures:
@@ -1630,9 +1633,9 @@
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+22)/ '****'/
- DATA qualifiers (nqual_at21a+23)/ '****'/
+ DATA qualifiers (nqual_at21a+21)/ 'COLOR'/
+ DATA qualifiers (nqual_at21a+22)/ 'THICKNES'/
+ DATA qualifiers (nqual_at21a+23)/ 'OPACITY'/
DATA qualifiers (nqual_at21a+24)/ '****'/
DATA qualifiers (nqual_at21a+25)/ '****'/
DATA qualifiers (nqual_at21a+26)/ 'TITLE'/
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 89a97f8..676e82a 100644
--- a/fer/dat/xgrid_chg_fcns_data.F
+++ b/fer/dat/xgrid_chg_fcns_data.F
@@ -54,8 +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 INNERPRODUCT and TRANSPOSE as direction-changing functions
+* 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:
@@ -1234,77 +1236,82 @@
. / .TRUE., .TRUE., .TRUE., .TRUE., .TRUE., .TRUE. /
-* INNERPRODUCT(var1,var2,idim) - return inner-product of two variables
+* dot(var1,var2,idim) - return inner-product of two variables
* computed along a given common dimension
- INTEGER p_innerprod_arg_start, p_innerprod_num_args
- PARAMETER ( p_innerprod_arg_start = p_strfloat_arg_start +
+ INTEGER p_dot_arg_start, p_dot_num_args
+ PARAMETER ( p_dot_arg_start = p_strfloat_arg_start +
. p_strfloat_num_args,
- . p_innerprod_num_args = 3 )
- DATA gfcn_name (p_innerprod) /'INNERPRODUCT'/
- DATA gfcn_alt_name_base (p_innerprod) /'INNERPRODUCT_%'/
- DATA gfcn_version (p_innerprod) / 1.0 /
- DATA gfcn_descr (p_innerprod) /
+ . 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_innerprod) /pfcn_rtn_float /
- DATA gfcn_num_reqd_args(p_innerprod) /p_innerprod_num_args/
- DATA (gfcn_dir_args(i,p_innerprod),i=1,nferdims)/3,0,0,0,0,0/
- DATA gfcn_has_vari_args(p_innerprod) /.FALSE./
- DATA (gfcn_axis_will_be(i,p_innerprod),i=1,nferdims)/
+ 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_innerprod),i=1,nferdims)
+ DATA (gfcn_piecemeal_ok(i,p_dot),i=1,nferdims)
. / .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE. /
- DATA gfcn_arg_ptr(p_innerprod) /p_innerprod_arg_start/
+ DATA gfcn_arg_ptr(p_dot) /p_dot_arg_start/
* ... description of argument 1
- DATA gfcn_arg_name(p_innerprod_arg_start+0)/'VAR1'/
- DATA gfcn_arg_type(p_innerprod_arg_start+0)/parg_type_float/
- DATA gfcn_arg_units(p_innerprod_arg_start+0)/' '/
- DATA gfcn_arg_descr(p_innerprod_arg_start+0)/'Variable 1'/
- DATA (gfcn_arg_extend_lo (i,p_innerprod_arg_start+0),i=1,nferdims)
+ 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_innerprod_arg_start+0),i=1,nferdims)
+ 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_innerprod_arg_start+0),i=1,nferdims)
+ 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_innerprod_arg_start+1)/'VAR2'/
- DATA gfcn_arg_type(p_innerprod_arg_start+1)/parg_type_float/
- DATA gfcn_arg_units(p_innerprod_arg_start+1)/' '/
- DATA gfcn_arg_descr(p_innerprod_arg_start+1)/'Variable 2'/
- DATA (gfcn_arg_extend_lo (i,p_innerprod_arg_start+1),i=1,nferdims)
+ 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_innerprod_arg_start+1),i=1,nferdims)
+ 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_innerprod_arg_start+1),i=1,nferdims)
+ 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_innerprod_arg_start+2)/'IDIM'/
- DATA gfcn_arg_type(p_innerprod_arg_start+2)/parg_type_float/
- DATA gfcn_arg_units(p_innerprod_arg_start+2)/' '/
- DATA gfcn_arg_descr(p_innerprod_arg_start+2)/'Dimension (e.g.1,2,...)'/
- DATA (gfcn_arg_extend_lo (i,p_innerprod_arg_start+1),i=1,nferdims)
+ 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_innerprod_arg_start+1),i=1,nferdims)
+ 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_innerprod_arg_start+1),i=1,nferdims)
+ 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_innerprod_arg_start +
- . p_innerprod_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_%%'/
diff --git a/fer/dat/xprog_state_data.F b/fer/dat/xprog_state_data.F
index c89f7bc..e3f505a 100644
--- a/fer/dat/xprog_state_data.F
+++ b/fer/dat/xprog_state_data.F
@@ -124,6 +124,9 @@
* 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
+* v720 7/17 *kms* remove unused its_pyferret flag
IMPLICIT NONE
include 'tmap_dims.parm'
@@ -396,7 +399,6 @@
DATA allowed_err / .FALSE. / ! briefly set true in SHOW VAR/TREE
DATA grat_on / .FALSE. /
DATA num_linecolors / 6 /
- DATA its_pyferret / .TRUE. /
- DATA spawn_status / .TRUE. / ! =last cmnd was successful
+ DATA spawn_status / 0 / ! zero means last cmnd was successful
END
diff --git a/fer/dat/xrevision_data.F b/fer/dat/xrevision_data.F
index e579e01..a321290 100644
--- a/fer/dat/xrevision_data.F
+++ b/fer/dat/xrevision_data.F
@@ -135,12 +135,15 @@
* 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 / 'PyFerret' /
DATA len_program_name / 8 /
- DATA revision_level / 7.11 /
+ DATA revision_level / 7.20 /
END
diff --git a/fer/doo/SOURCE_FILES b/fer/doo/SOURCE_FILES
index 1a514b0..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\
@@ -93,6 +94,7 @@ 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\
diff --git a/fer/doo/do_4d_trans.F b/fer/doo/do_4d_trans.F
index 98b6ef3..b589d9e 100644
--- a/fer/doo/do_4d_trans.F
+++ b/fer/doo/do_4d_trans.F
@@ -79,6 +79,8 @@
* 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'
@@ -100,8 +102,8 @@
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,
+ 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
@@ -381,15 +383,8 @@ 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
@@ -471,8 +466,9 @@ C (Unless there is just one grid cell in the y direction.)
* *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. Do we
-* need to pass back an accumulated ngd to use in the finalize step?
+* 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
@@ -482,17 +478,12 @@ C (Unless there is just one grid cell in the y direction.)
res(ir,jr,kr,lr,mr,nr) = dsum
weights(ir,jr,kr,lr,mr,nr) = weights(ir,jr,kr,lr,mr,nr) + ok ! weights are #valid
ELSEIF (its_ave_or_din) THEN
- IF (res(ir,jr,kr,lr,mr,nr) .NE. bad_res) 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
- ENDIF
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
- ELSEIF ( bsum .EQ. 0.0D0 ) THEN
- res(ir,jr,kr,lr,mr,nr) = bad_res
- ELSE
CONTINUE
ENDIF
diff --git a/fer/doo/do_ave_int.F b/fer/doo/do_ave_int.F
index 243db89..0a9bc51 100644
--- a/fer/doo/do_ave_int.F
+++ b/fer/doo/do_ave_int.F
@@ -54,7 +54,8 @@
* 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'
@@ -165,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
@@ -194,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
@@ -222,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
@@ -250,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
@@ -280,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
@@ -309,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
diff --git a/ppl/plot/spwn.F b/fer/doo/do_iin_regrid.F
similarity index 74%
copy from ppl/plot/spwn.F
copy to fer/doo/do_iin_regrid.F
index 0151851..11ae5c8 100644
--- a/ppl/plot/spwn.F
+++ b/fer/doo/do_iin_regrid.F
@@ -1,9 +1,11 @@
- SUBROUTINE SPWN
+ SUBROUTINE DO_IIN_REGRID( cx_lims, axis, src, msrc, dst, mdst,
+ . work, 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),
+* 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
@@ -34,26 +36,23 @@
* CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE.
*
*
-C** @(#)spwn.F 1.1 3/10/88
-C**
-C**
-C***********************************************************************
-C**
-C** PLOT+ Scientific Graphics System
-C**
-C***********************************************************************
-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
+* call the regridding routine with appropriate work arrays
+
+* programmer - Ansley Manke
+* 4/2017
+
+ IMPLICIT NONE
+ 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(*)
- INCLUDE 'CMRDL.INC'
- INCLUDE 'LUNITS.INC'
- INCLUDE 'SYSTEM.INC'
-C
- IF(.NOT.QUIETF)WRITE(lerror,998)ICOM
-998 FORMAT(' **ERROR COMMAND : ',A12,' NOT RECOGNIZED')
-c
+ 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/finalize_ave_int.F b/fer/doo/finalize_ave_int.F
index 6bbf483..0414680 100644
--- a/fer/doo/finalize_ave_int.F
+++ b/fer/doo/finalize_ave_int.F
@@ -43,6 +43,8 @@
*
* 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'
@@ -62,7 +64,7 @@
* internal variable declarations:
LOGICAL average
- INTEGER i
+ INTEGER i
REAL bad_res
* --- end of introductory code ---
@@ -74,9 +76,7 @@
* finalize (luv it!)
DO i = 1, size
- IF (res(i) .EQ. bad_res) THEN
- CONTINUE ! bad stays bad
- ELSEIF (weights(i) .EQ. 0.0D0) THEN
+ 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
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/efi/SOURCE_FILES b/fer/efi/SOURCE_FILES
index 6c7408e..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,13 +70,14 @@ freverse.F\
ft_to_orthogonal.F\
gausswt.F\
gausswt_v0.F\
+gridding_subs.F\
heap2_str.F\
-innerproduct_x.F\
-innerproduct_y.F\
-innerproduct_z.F\
-innerproduct_t.F\
-innerproduct_e.F\
-innerproduct_f.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\
@@ -110,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\
@@ -125,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\
@@ -185,6 +188,8 @@ 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\
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/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 a0fd1c1..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
*
diff --git a/fer/efi/expndi_by_m_counts.F b/fer/efi/expndi_by_m_counts_str.F
similarity index 64%
copy from fer/efi/expndi_by_m_counts.F
copy to fer/efi/expndi_by_m_counts_str.F
index a0fd1c1..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
@@ -291,11 +195,13 @@
i1 = 1
DO 200 mout=arg_lo_ss(E_AXIS,ARG2),arg_hi_ss(E_AXIS,ARG2)
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)
+ 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/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/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/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/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/fer/gnl/cdf_list.F b/fer/gnl/cdf_list.F
index 8b6354d..455ee18 100644
--- a/fer/gnl/cdf_list.F
+++ b/fer/gnl/cdf_list.F
@@ -133,7 +133,8 @@
* 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'
@@ -1198,7 +1199,11 @@
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: ',
@@ -1241,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/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/edit_attribute.F b/fer/gnl/edit_attribute.F
index 1659ba7..0da88e9 100644
--- a/fer/gnl/edit_attribute.F
+++ b/fer/gnl/edit_attribute.F
@@ -42,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
@@ -246,7 +247,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 +260,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 +309,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.
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 b389965..d7a5b81 100644
--- a/fer/gnl/init_memory.F
+++ b/fer/gnl/init_memory.F
@@ -1,4 +1,4 @@
- SUBROUTINE INIT_MEMORY
+ SUBROUTINE INIT_MEMORY (vmem_size_arg)
*
*
@@ -54,6 +54,8 @@
* code defining it from this routine)
* 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'
@@ -63,10 +65,12 @@
include 'xprog_state.cmn'
* calling argument declarations:
+ REAL vmem_size_arg
* internal variable declarations
INTEGER bigblk, mv, ws
INTEGER i1, i2, len
+ INTEGER*8 i8_val
CHARACTER*30 TM_FMT, sym_name, buff
* LINKS IN MEMORY VARIABLE TABLE
@@ -99,7 +103,14 @@
ENDDO
* SET MEMORY limit default
- max_mem_allowed = pmax_mem_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
diff --git a/fer/gnl/parse_command.F b/fer/gnl/parse_command.F
index 7ba0db9..4242822 100644
--- a/fer/gnl/parse_command.F
+++ b/fer/gnl/parse_command.F
@@ -138,6 +138,7 @@
* 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
* V71 *acm* 1/17 Change to return 16 digits by default for grave-accent expressions was lost
+* 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
@@ -942,6 +943,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
@@ -1097,5 +1101,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 35d8e82..f1d30a4 100644
--- a/fer/gnl/repl_exprns.F
+++ b/fer/gnl/repl_exprns.F
@@ -122,6 +122,7 @@
* 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'
@@ -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
@@ -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
@@ -899,9 +899,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 ) THEN
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/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_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 0ee8e97..c08cc14 100644
--- a/fer/gnl/show_data_set_vars.F
+++ b/fer/gnl/show_data_set_vars.F
@@ -84,7 +84,7 @@
* 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"
@@ -111,13 +111,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
@@ -275,8 +274,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)
@@ -322,8 +320,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/gnl/special_symbol.F b/fer/gnl/special_symbol.F
index a7848ac..e3e1f07 100644
--- a/fer/gnl/special_symbol.F
+++ b/fer/gnl/special_symbol.F
@@ -69,6 +69,9 @@
* 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
@@ -76,13 +79,14 @@
* internal parameter declaration
INTEGER nspecial
- PARAMETER (nspecial = 19)
+ 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,
. LEFINT8*16
@@ -108,7 +112,8 @@ c REAL DTIME
. special(16)/ 'N_OPEN_DSETS' /,
. special(17)/ 'PROGRAM_NAME' /,
. special(18)/ 'PEAK_MEMORY' /,
- . special(19)/ 'SPAWN_STATUS' /
+ . special(19)/ 'SPAWN_OK' /,
+ . special(20)/ 'SPAWN_STATUS' /
include 'tmap_dims.parm'
include 'ferret.parm'
@@ -152,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, 2800, 2900 ) i
+ . 2700, 2800, 2900, 3000 ) i
* PPL$XPIXEL
* get the horizontal pixels size of the window as specified by the user
@@ -324,13 +329,26 @@ c CALL DTIME(TArray)
2800 value = LEFINT8(peak_mem,slen)
RETURN
-* SPAWN_STATUS
- 2900 IF (spawn_status) THEN
- value = "1"
+* SPAWN_OK
+ 2900 IF (IS_SECURE()) THEN
+ rstatus = 0.
+ ELSEIF (spawn_status .EQ. 0.) THEN
+ rstatus = 1.
ELSE
- value = "0"
+ rstatus = 0.
ENDIF
- slen = 1
+ 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/plt/axis_ends.F b/fer/plt/axis_ends.F
index fb9da30..8627b67 100644
--- a/fer/plt/axis_ends.F
+++ b/fer/plt/axis_ends.F
@@ -113,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)
diff --git a/fer/plt/plot_set_up.F b/fer/plt/plot_set_up.F
index 17958e0..8af381f 100644
--- a/fer/plt/plot_set_up.F
+++ b/fer/plt/plot_set_up.F
@@ -152,7 +152,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
@@ -191,6 +191,9 @@
* 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'
@@ -227,7 +230,7 @@
* V500 *kob* 3/99- up VAR_CODE and VAR_UNITS to 64 chars
* internal variable declarations:
LOGICAL NO_LINE_RANGE, GEOG_LABEL, ITS_FMRC,
- . ITSA_TRUEMONTH_AXIS,
+ . ITSA_TRUEMONTH_AXIS, TM_HAS_STRING,
. flip, time_axis,
. all_1_ind, formatted,
. indep_is_log, dep_is_log, use_nice,
@@ -256,7 +259,7 @@
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, axis_x_dir, axis_y_dir
+ 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,
@@ -479,7 +482,6 @@ c IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150 ! test is now i
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
@@ -508,6 +510,9 @@ c IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150 ! test is now i
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)
@@ -537,7 +542,13 @@ 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, versus, status)
@@ -546,12 +557,15 @@ c IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150 ! test is now i
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
@@ -582,6 +596,8 @@ c IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150 ! test is now i
cx_y = cx_list(2)
buff1 = VAR_UNITS(cx_x)
IF (iunits .GE. 0) iunits = TM_UNIT_ID(buff1)
+
+
IF (.NOT.overlay) THEN
CALL AXIS_ENDS(indep_ax,indep_dim,grid1,ind_min,ind_max,
@@ -629,9 +645,24 @@ c IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150 ! test is now i
CALL PPLCMD ( from, line, 0, 'XFOR 0', 1, 1 )
ENDIF
- CALL PPLCMD ( from, line, 0, 'YFOR 0', 1, 1 ) ! for now, anyway
- 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)
@@ -1155,6 +1186,11 @@ 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
@@ -1166,12 +1202,15 @@ c IF ( plot_mem_used .GT. 0.999*pplmem_nsize ) GOTO 5150 ! test is now i
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
diff --git a/fer/stk/is_algebra.F b/fer/stk/is_algebra.F
index 12a4332..422cfb6 100644
--- a/fer/stk/is_algebra.F
+++ b/fer/stk/is_algebra.F
@@ -907,7 +907,7 @@
. 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 )
diff --git a/fer/stk/is_do_gc_fcn.F b/fer/stk/is_do_gc_fcn.F
index cba35e9..09235bf 100644
--- a/fer/stk/is_do_gc_fcn.F
+++ b/fer/stk/is_do_gc_fcn.F
@@ -63,8 +63,8 @@
* 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. INNERPRODUCT(VAR1,VAR2,2) to compute the inner product of the
-* variables in the Y direction by running innerproduct_y
+* e.g. DOT(VAR1,VAR2,2) to compute the inner product of the
+* variables in the Y direction by running dot_y
IMPLICIT NONE
diff --git a/fer/stk/is_regrid.F b/fer/stk/is_regrid.F
index 58b1c39..7df7442 100644
--- a/fer/stk/is_regrid.F
+++ b/fer/stk/is_regrid.F
@@ -89,6 +89,7 @@
* 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'
@@ -329,6 +330,15 @@ c . .AND. cx_has_impl_grid(dst_cx)
. 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
diff --git a/fer/stk/is_uvar_grid.F b/fer/stk/is_uvar_grid.F
index 75ebaf4..cd5ffc5 100644
--- a/fer/stk/is_uvar_grid.F
+++ b/fer/stk/is_uvar_grid.F
@@ -120,6 +120,8 @@
* 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
@@ -183,6 +185,8 @@
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) )
@@ -668,6 +672,13 @@ 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
+
+* 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
@@ -685,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
@@ -694,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
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/utl/SOURCE_FILES b/fer/utl/SOURCE_FILES
index b230552..b081d5b 100644
--- a/fer/utl/SOURCE_FILES
+++ b/fer/utl/SOURCE_FILES
@@ -162,6 +162,7 @@ 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\
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/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/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/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/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 cc6baf8..d4686e3 100644
--- a/fer/xeq/xeq_cancel.F
+++ b/fer/xeq/xeq_cancel.F
@@ -153,6 +153,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'
@@ -197,8 +198,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,
@@ -985,9 +985,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_define.F b/fer/xeq/xeq_define.F
index 4a301fd..5fbe149 100644
--- a/fer/xeq/xeq_define.F
+++ b/fer/xeq/xeq_define.F
@@ -1243,7 +1243,7 @@ C /units=months is 1/12 of the length of the year
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 )
@@ -1293,7 +1293,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
@@ -2781,7 +2788,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_plot.F b/fer/xeq/xeq_plot.F
index 020668c..2891193 100644
--- a/fer/xeq/xeq_plot.F
+++ b/fer/xeq/xeq_plot.F
@@ -597,7 +597,7 @@ CC => Set values here instead.
100 ENDDO
IF ( buff .NE. ' ' ) THEN
-* Check for optional pareskipeses
+* Check for optional parentheses
slen = TM_LENSTR1(buff)
s1 = 1
diff --git a/fer/xeq/xeq_spawn.F b/fer/xeq/xeq_spawn.F
index 45e4586..3fd08c6 100644
--- a/fer/xeq/xeq_spawn.F
+++ b/fer/xeq/xeq_spawn.F
@@ -55,6 +55,8 @@
* *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'
@@ -65,26 +67,20 @@
LOGICAL IS_SECURE
INTEGER status, slen
+ IF (IS_SECURE()) THEN
+ CALL SPLIT_LIST(pttmode_help, err_lun,
+ 1 'This command is not allowed.', 0)
+ RETURN
+ ENDIF
+
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) THEN
- spawn_status = .FALSE. ! failure of unix command
- ELSE
- spawn_status = .TRUE. ! successful unix command
- ENDIF
-* To handle a nonzero return as an ERROR, comment out the WARN just above, and do this.
-c IF (status .NE. 0) GOTO 5100
-
- end if
+* 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,
diff --git a/fer/xeq/xeq_wire.F b/fer/xeq/xeq_wire.F
index 4e923a8..ce743ae 100644
--- a/fer/xeq/xeq_wire.F
+++ b/fer/xeq/xeq_wire.F
@@ -59,6 +59,8 @@
* A time axis may be a T axis or F axis
* V702 1/17 *sh* for trac enhancement #2369 -- dynamic memory management
* PyFr *kms* 4/17 Remove SAVE_FRAME for HDF format since no longer supported
+* V72 5/17 acm* Ticket 2530 add WIRE/COLOR=
+* PyFr *kms* 5/17 Ticket 2530 add WIRE/COLOR= /OPACITY= /THICKNESS=
include 'tmap_dims.parm'
include 'ferret.parm'
@@ -70,6 +72,8 @@
include 'xprog_state.cmn'
include 'xplot_state.cmn'
include 'xplot_setup.cmn'
+ include 'gkscm1_inc.decl'
+ include 'GKSCM1.INC' ! wsid
* calling argument declarations:
@@ -78,8 +82,9 @@
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_work, ax2_work, density
- REAL only_val, aspect
+ . ax1_work, ax2_work, density, icolor, ipen
+ REAL only_val, aspect, vbuf
+ REAL*4 dfltthick, opacity
PARAMETER (aspect = 0.0) !kob 12/96
CHARACTER vpoint*24, zlims*24, zscale*24
@@ -137,6 +142,55 @@
IF ( status .NE. ferr_ok ) RETURN
ENDIF
+* ... /COLOR=color name or pen number
+ dfltthick = 1.0
+ qp = qual_given(slash_wire_color)
+ IF ( qp .GT. 0 ) THEN
+* get the color ID and default thickness
+ CALL EQUAL_COLOR( cmnd_buff(qual_start(qp):qual_end(qp)),
+ . icolor, dfltthick, status )
+ IF ( status .NE. ferr_ok ) GOTO 5000
+ ELSE
+ icolor = -1 ! auto-select in DISP_SET_UP
+ ENDIF
+
+* ... /OPACITY=n
+ qp = qual_given( slash_wire_opacity )
+ IF ( qp .GT. 0 ) THEN
+ IF ( icolor .GE. 0 ) THEN
+ CALL EQUAL_VAL(cmnd_buff(qual_start(qp):qual_end(qp)),
+ . vbuf, status)
+ IF ( status .NE. ferr_ok ) GOTO 5000
+ IF ( (vbuf .LT. 0.0) .OR. (vbuf .GT. 100.0) ) GOTO 5500
+ opacity = vbuf / 100.0
+ CALL DUP_COLOR_SET_OPACITY(wsid, icolor, opacity)
+ ELSE
+* leave as the auto-select value (-1)
+ CALL WARN ('/OPACITY ignored unless /COLOR is given')
+ ENDIF
+ ENDIF
+
+* ... CONTOUR/THICKNESS=n
+ qp = qual_given( slash_wire_thick )
+ IF ( qp .GT. 0 ) THEN
+ IF ( icolor .GE. 0 ) THEN
+ CALL EQUAL_THICK(cmnd_buff(qual_start(qp):qual_end(qp)),
+ . dfltthick, icolor, ipen, status)
+ IF ( status .NE. ferr_ok ) GOTO 5000
+ ELSE
+* leave as the auto-select value (-1)
+ CALL WARN ('/THICKNESS ignored unless /COLOR is given')
+ ipen = icolor
+ ENDIF
+ ELSEIF ( icolor .GE. 0 ) THEN
+* /THICK not given; convert color ID to pen ID using default thickness
+ CALL EQUAL_THICK(' ', dfltthick, icolor, ipen, status)
+ IF ( status .NE. ferr_ok ) GOTO 5000
+ ELSE
+* /THICK and /COLOR not given; leave as auto-select value (-1)
+ ipen = icolor
+ ENDIF
+
* prepare PLOT+ environment
CALL DISP_PREP( status )
IF ( status .NE. ferr_ok ) GOTO 5000
@@ -168,7 +222,7 @@
. is_uvar,
. workmem(ax1_work)%ptr,
. workmem(ax2_work)%ptr,
- . -1, ! auto pen select
+ . ipen,
. set_up,
. status )
IF ( status .NE. ferr_ok ) GOTO 5000
@@ -205,4 +259,7 @@
* error exits
5000 GOTO 1000
+ 5500 CALL ERRMSG( ferr_out_of_range, status,
+ . cmnd_buff(qual_start(qp):qual_end(qp))//pCR//
+ . 'Value from 0 to 100 must be given', *1000 )
END
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 aef5ca2..3bb0535 100644
--- a/fmt/src/NCF_Util.c
+++ b/fmt/src/NCF_Util.c
@@ -131,7 +131,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 *);
@@ -144,6 +144,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 *);
@@ -309,6 +310,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
*/
@@ -419,7 +436,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;
@@ -429,6 +446,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;
}
@@ -1633,11 +1651,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 7e63fe2..219ba59 100644
--- a/fmt/src/SOURCE_FILES
+++ b/fmt/src/SOURCE_FILES
@@ -37,6 +37,7 @@ 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\
@@ -47,13 +48,18 @@ 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\
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
old mode 100755
new mode 100644
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/ez_delimited_read.c b/fmt/src/ez_delimited_read.c
index 6605aa5..8ee009a 100644
--- a/fmt/src/ez_delimited_read.c
+++ b/fmt/src/ez_delimited_read.c
@@ -203,6 +203,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;
@@ -221,15 +222,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 /* ************* */
@@ -279,6 +281,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");
@@ -302,14 +305,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/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/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/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/ppl/complot/symbel_hershey.F b/ppl/complot/symbel_hershey.F
index 6810fb9..d3e8118 100644
--- a/ppl/complot/symbel_hershey.F
+++ b/ppl/complot/symbel_hershey.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/plotz.F b/ppl/plot/plotz.F
index a335c90..4216bb4 100644
--- a/ppl/plot/plotz.F
+++ b/ppl/plot/plotz.F
@@ -96,6 +96,8 @@ C
* V68 *acm* 1/12 changes for double-precision ferret, single-precision pplus
* V695 *acm* 3/15 Changes for PyFerret fonts - text group settings for labels along contour lines
* V698 *acm* 3/16 Ticket 2375: outline color key in black even on an overlay.
+* V720 *acm* 5/17 Ticket 2528: If contour text group not set, apply general SET TEXT settings
+* except get the contour-line color
INCLUDE 'PARAMPL5.DAT'
INCLUDE 'ZGRIDD.INC'
@@ -133,8 +135,7 @@ C
C* *jd* Linux port 12.96 add EXTERNAL calls below
external scale, range
-C VAX/VMS
-C
+
DIMENSION IZMRKD(3)
DATA IZMRKD/12,16,3/
@@ -268,8 +269,9 @@ C
IF (IWIND.NE.0) CALL WINDOW(0.0,0.0,XLEN,YLEN)
CALL COLOR(IPEN(1))
-* If the user has set text style with SET TEXT/CONTOUR, use those settings.
-* Otherwise get the color fractions for the pen being used for the contours.
+* If the user has set text style with SET TEXT for the CONTOUR group, use those settings.
+* Otherwise get the color fractions for the pen being used for the contours.
+* Apply any overall SET TEXT settings (other than color).
IF (pyfont) THEN
igroup = icont
@@ -277,6 +279,10 @@ C
CALL FGD_GQPEN(IWIND, IPEN(1), ier, pyf_red(igroup),
. pyf_grn(igroup), pyf_blu(igroup), opaqfrac)
pyf_set(icont) = .TRUE.
+ pyf_fontname(icont) = pyfnt_fontname
+ pyf_italic(icont) = pyfnt_italic
+ pyf_bold(icont) = pyfnt_bold
+ pyf_isiz(icont) = pyfnt_isiz
tmpsetcolor = .TRUE.
ELSE
tmpsetcolor = .FALSE.
@@ -386,7 +392,7 @@ C
* Restore settings in pyfont common
igroup = 0
IF ( tmpsetcolor ) THEN
- pyf_set(icont) = .FALSE.
+ CALL CANCEL_PYTEXT_GROUP (icont)
ENDIF
ENDIF
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 77673a0..76cd734 100644
--- a/ppl/plotlib/contur.F
+++ b/ppl/plotlib/contur.F
@@ -70,6 +70,9 @@ C v67 2/2011 *acm* Fix ticket 1799; do contouring in larger sections.
* and 4-arg plot commands.
* V6.95 *acm* 3/15 Changes for PyFerret fonts.
* V6.96 *acm*12/15 Fix ticket 2328 - contour labels spilling outside plot axes
+* V7.2 *acm* 6/17 Fix ticket bug2544 for depth-axis plots the above needs
+* different tests. If clipping is implented we can get rid of
+* the changes for 2328 and 2544.
****************************************************************************
C**
@@ -150,7 +153,7 @@ c oceanography emr dec/69
! of contour labels expected on any ONE contour line in the plot.
parameter (mlab=200)
real xlabp(mlab),ylabp(mlab),xlabc(mlab),ylabc(mlab),widthp
- realxadd,lmin,lmax
+ realxadd,lmin,lmax, xloskp,xhiskp, yloskp,yhiskp
C Place init into data stmt *jd* 12.96 linux
integer nlabp,nlabc
@@ -180,6 +183,23 @@ c
igroup = fnt_all
IF (pyfont .AND. pyf_set(icont)) igroup = icont
+* For checking that labels are within the plot box
+ IF (pyfont) THEN
+ IF (xlo .LE. xhi) THEN
+ xloskp = xlo
+ xhiskp = xhi
+ ELSE
+ xloskp = xhi
+ xhiskp = xlo
+ ENDIF
+ IF (ylo .LE. yhi) THEN
+ yloskp = ylo
+ yhiskp = yhi
+ ELSE
+ yloskp = yhi
+ yhiskp = ylo
+ ENDIF
+ ENDIF
c
c apply the rotation and scaling
c
@@ -528,7 +548,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:
@@ -688,7 +707,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
@@ -696,7 +714,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
@@ -705,7 +722,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
@@ -713,7 +729,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
@@ -861,10 +876,10 @@ c
ylab = (ylab - yoff)/ yf
skiplab = 0
- if (ylab.LT.ylo .OR. ylab.GT.yhi) skiplab = 1
- if (xlab.LT.xlo .OR. xlab.GT.xhi) skiplab = 1
- if (ylabend.LT.ylo .OR. ylabend.GT.yhi) skiplab = 1
- if (xlabend.LT.xlo .OR. xlabend.GT.xhi) skiplab = 1
+ if (ylab.LT.yloskp .OR. ylab.GT.yhiskp) skiplab = 1
+ if (xlab.LT.xloskp .OR. xlab.GT.xhiskp) skiplab = 1
+ if (ylabend.LT.yloskp .OR. ylabend.GT.yhiskp) skiplab = 1
+ if (xlabend.LT.xloskp .OR. xlabend.GT.xhiskp) skiplab = 1
ENDIF
iF (skiplab.EQ.0) call symbel(xlab,ylab,angle,hgt,nchar,str)
@@ -877,18 +892,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/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/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/tmapadds/fillpol.F b/ppl/tmapadds/fillpol.F
index e34b419..92b079c 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
IMPLICIT NONE
include 'xinterrupt.cmn' ! 1/89 *sh*
@@ -141,7 +143,7 @@ C
*jd*
real zzmin, zzmax, zt
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, ICNT, ii, IY
@@ -292,6 +294,14 @@ C set already.
* 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)
! nvertex = nvertex + 1
@@ -300,7 +310,12 @@ 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 346d3f9..5b64a12 100644
--- a/ppl/tmapadds/key.F
+++ b/ppl/tmapadds/key.F
@@ -122,6 +122,7 @@ c IF (NL.EQ.1 .AND. J.LE.2) ZLEV(2) = zlev(1)
* V701 *acm* 8/16 Fix ticket 2440 when SHAKEY settings were made.
* 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
IMPLICIT NONE
@@ -165,8 +166,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
@@ -263,6 +264,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 227e673..9ed04cc 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
IMPLICIT NONE
include 'parampl5_dat.decl'
@@ -193,7 +195,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 d8149d6..e1811c4 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
@@ -68,31 +69,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, ist
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
@@ -119,6 +133,8 @@
* Otherwise, check if levels are regularly spaced
ELSE
+
+
dz = zlevels(2) - zlevels(1)
IF (nlevels .EQ. 1) THEN
@@ -141,6 +157,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/pyfermod/libpyferret.c b/pyfermod/libpyferret.c
index a20466c..c98b887 100644
--- a/pyfermod/libpyferret.c
+++ b/pyfermod/libpyferret.c
@@ -383,7 +383,7 @@ static PyObject *pyferretStart(PyObject *self, PyObject *args, PyObject *kwds)
if ( pplMemory == NULL )
return PyErr_NoMemory();
set_ppl_memory(pplMemory, pplMemSize);
- FORTRAN(init_memory)();
+ FORTRAN(init_memory)(&mwMemSize);
if ( (metaname != NULL) || (unmappedFlag != 0) ) {
/*
diff --git a/pyfermod/pyferret.h b/pyfermod/pyferret.h
index ecd49bd..4a80b37 100644
--- a/pyfermod/pyferret.h
+++ b/pyfermod/pyferret.h
@@ -101,12 +101,11 @@ void FORTRAN(get_time_axis_num)(int *axisnum, int *axisstart, int *axisend, char
CALTYPE *calendartype, int axiscoords[][6], int *numcoords,
char *errmsg, int *lenerrmsg, int maxlen_axisname, int maxlen_errmsg);
void FORTRAN(init_journal)(int *status);
-void FORTRAN(init_memory)(void);
+void FORTRAN(init_memory)(double *maxmegawords);
void FORTRAN(initialize)(void);
void FORTRAN(no_journal)(void);
void FORTRAN(proclaim_c)(int *ttoutLun, char *leader, int *quiet);
void FORTRAN(save_ppl_memory_size)(int *ppl_mem_size);
-void FORTRAN(init_memory)(void);
void FORTRAN(set_one_cmnd_mode)(int *one_cmnd_mode_int);
void FORTRAN(turnoff_verify)(int *status);
diff --git a/setup.py b/setup.py
index b784cab..49a688f 100644
--- a/setup.py
+++ b/setup.py
@@ -88,8 +88,6 @@ if buildtype != "intel-mac":
lib_list.extend(fer_lib_list)
lib_list.extend(fer_lib_list)
lib_list.extend(fer_lib_list)
-# Add required system libraries to the list to link in
-lib_list.append("python%d.%d" % sys.version_info[:2])
# Linking in the rest of the system libraries were moved to addn_link_flags
# in order to make sure the appropriate netcdff, netcdf, hdf5_hl, hdf5, and
@@ -103,23 +101,23 @@ addn_link_args = [ ]
# The hdf5 libraries are only used to resolve netcdf library function
# calls when statically linking in the netcdf libraries.
if hdf5_libdir:
- netcdff_lib = "-Wl," + os.path.join(netcdf4_libdir, "libnetcdff.a")
+ netcdff_lib = os.path.join(netcdf4_libdir, "libnetcdff.a")
addn_link_args.append(netcdff_lib)
- netcdf_lib = "-Wl," + os.path.join(netcdf4_libdir, "libnetcdf.a")
+ netcdf_lib = os.path.join(netcdf4_libdir, "libnetcdf.a")
addn_link_args.append(netcdf_lib)
- hdf5_hl_lib = "-Wl," + os.path.join(hdf5_libdir, "libhdf5_hl.a")
+ hdf5_hl_lib = os.path.join(hdf5_libdir, "libhdf5_hl.a")
addn_link_args.append(hdf5_hl_lib)
- hdf5_lib = "-Wl," + os.path.join(hdf5_libdir, "libhdf5.a")
+ hdf5_lib = os.path.join(hdf5_libdir, "libhdf5.a")
addn_link_args.append(hdf5_lib)
else:
addn_link_args.extend([ "-lnetcdff", "-lnetcdf" ])
# Link to the cairo library and the libraries it requires.
if cairo_libdir:
- cairo_lib = "-Wl," + os.path.join(cairo_libdir, "libcairo.a")
+ cairo_lib = os.path.join(cairo_libdir, "libcairo.a")
addn_link_args.append(cairo_lib);
if pixman_libdir:
- pixman_lib = "-Wl," + os.path.join(pixman_libdir, "libpixman-1.a")
+ pixman_lib = os.path.join(pixman_libdir, "libpixman-1.a")
else:
pixman_lib = "-lpixman-1"
addn_link_args.append(pixman_lib);
diff --git a/site_specific.mk b/site_specific.mk
index bbdef30..eea68c9 100644
--- a/site_specific.mk
+++ b/site_specific.mk
@@ -1,5 +1,6 @@
## Site-dependent definitions included in Makefiles
-## Also verify the values in external_functions/ef_utility/site_specific.mk
+
+## !!! Also verify the values in external_functions/ef_utility/site_specific.mk !!!
## =========================
## Full path name of the directory containing this file (the ferret root directory).
@@ -7,7 +8,7 @@
## =========================
DIR_PREFIX = $(HOME)/build/pyferret_dev
# DIR_PREFIX = $(HOME)/git/PyFerret
-# DIR_PREFIX = $(HOME)/pyferret_dev
+# DIR_PREFIX = $(HOME)/svn/pyferret
## =========================
## Installation directory for built PyFerret. Using the "install"
@@ -26,8 +27,8 @@ INSTALL_FER_DIR = $(HOME)/ferret_distributions/rhel6_64
## i386-linux-gnu for 32-bit Ubuntu and many "free" Linux systems
## intel-mac for Mac OSX
## =========================
-BUILDTYPE = $(HOSTTYPE)
-# BUILDTYPE = x86_64-linux
+# BUILDTYPE = $(HOSTTYPE)
+BUILDTYPE = x86_64-linux
# BUILDTYPE = x86_64-linux-gnu
# BUILDTYPE = i386-linux
# BUILDTYPE = i386-linux-gnu
@@ -52,7 +53,9 @@ PYTHONINCDIR := $(shell $(PYTHON_EXE) -c "from __future__ import print_function
## of cairo (v1.8 or later) can be used, but raster images from
## -nodisplay may look a little fuzzy unless -gif is specified.
## =========================
-CAIRO_DIR = /usr/local/cairo-1.14.4
+# CAIRO_DIR = /usr/local/cairo-1.14.10
+CAIRO_DIR = /usr/local/cairo-1.14.10-64
+# CAIRO_DIR = /usr/local/cairo-1.14.10-32
# CAIRO_DIR = $(HOME)/.local
# CAIRO_DIR = /usr/local
# CAIRO_DIR =
@@ -63,8 +66,9 @@ CAIRO_DIR = /usr/local/cairo-1.14.4
## cairo library. If blank, or if CAIRO_DIR is blank, the system's
## pixman-1 shared library will be used.
## =========================
-PIXMAN_DIR = /usr/local/cairo-1.14.4
-# PIXMAN_DIR = /usr/local/pixman-1-0.34.0
+# PIXMAN_DIR = /usr/local/pixman-0.34.0
+PIXMAN_DIR = /usr/local/pixman-0.34.0-64
+# PIXMAN_DIR = /usr/local/pixman-0.34.0-32
# PIXMAN_DIR = $(HOME)/.local
# PIXMAN_DIR = /usr/local
# PIXMAN_DIR =
@@ -84,7 +88,9 @@ PANGO_DIR =
## and lib or lib64 subdirectories). To link to NetCDF shared-object
## libraries, do not give a location for HDF5_DIR.
## =========================
-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
# HDF5_DIR = $(HOME)/.local
# HDF5_DIR = /usr/local
# HDF5_DIR =
@@ -102,7 +108,9 @@ COMPRESS_LIB = z
## (above) is blank, the netcdf shared-object (.so) libraries will be
## used; otherwise the netcdf static (.a) libraries will be used.
## =========================
-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
# NETCDF4_DIR = $(HOME)/.local
# NETCDF4_DIR = /usr/local
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/pyferret.git
More information about the debian-science-commits
mailing list