NOAA-PMEL / Ferret

The Ferret program from NOAA/PMEL
https://ferret.pmel.noaa.gov/Ferret/
The Unlicense
55 stars 20 forks source link

Update documentation for double precision/6D changes #1209

Open karlmsmith opened 6 years ago

karlmsmith commented 6 years ago

Reported by @karlmsmith on 27 Apr 2012 18:57 UTC Creating this ticket to record the changes to the documentation needed for double-precision 6D Ferret.

Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/1937

karlmsmith commented 6 years ago

Comment by @karlmsmith on 27 Apr 2012 19:17 UTC

Added new EF function:

      SUBROUTINE EF_GET_AXIS_MODULO_LEN(id, iarg, iaxis, modlen)
*  Returns the modulo length (double precision) of the modulo axis
*  indicated, or zero if the axis is not a modulo axis.
*  Input arguments
      INTEGER id, iarg, iaxis
*  Output arguments
      REAL*8 modlen

Added 6D functions (6D versions of the 4D function without the "_6d"):

ef_get_arg_subscripts_6d
ef_get_axis_info_6d
ef_get_res_subscripts_6d
ef_get_string_arg_element_6d
ef_get_string_arg_element_len_6d
ef_set_axis_influence_6d
ef_set_axis_inheritance_6d
ef_set_axis_reduction_6d
ef_set_piecemeal_ok_6d
ef_set_work_array_dims_6d
ef_set_work_array_lens_6d

The 4D functions still exist and work as long as there is no E or F axis in the data. (The 4D functions call the 6D version, setting or checking appropriate values for the E and F axis.)

Added the C-chell script check6dlist.csh to the ext_func/src/examples subdirectory (external_functions/examples in the svn repository). This script reports any occurrence of the 4D functions that should be changed to the 6D functions above. Some of the example functions in this directory also have been converted to 6D.

karlmsmith commented 6 years ago

Comment by @karlmsmith on 27 Apr 2012 19:41 UTC Improved description of parameter arguments in scat2gridgauss and scat2gridlaplace functions.

Modified scat2gridgauss and scat2gridlaplace functions to correctly handle modulo axes.

Modified scat2gridlaplace functions to solve a bug in extending axes. (The bug would corrupt the axes of the result.) The function now performs the interpolation only on the region of the output axes given to the function. Due to Ferret delayed-evaluation, regions can be implicitly restricted. So a "load" of the full result is recommended if smaller regions of the result are going to be examined. For example:

! define the grid values
gridvals = scat2gridlaplace_xy(sctrlons, sctrlats, sctrvals, gridlons, gridlats, 2, 2)

! compute all the grid values at once on the full region
! by loading all the result values
load gridvals

! now look at only the desired subregions
! without the load, the computation would only be done in the listed
! subregion, and give an error because of the singleton Y axis
list gridvals[X=140E:80W,Y=5N]
karlmsmith commented 6 years ago

Comment by @karlmsmith on 27 Apr 2012 19:53 UTC Modify descriptions in list and set data (unformatted and stream formats) that mention data saved (or skipped) as 4-byte floats. See also ticket #1935