Personal tools
You are here: Home Documentation Users Guide 11. Writing External Functions
Document Actions

Chapter 11. Writing External Functions

    11.1 OVERVIEW

    11.2 GETTING STARTED

      Getting example/development code

    11.3 QUICK START EXAMPLE

      The times2bad20 function

    11.4 ANATOMY OF AN EXTERNAL FUNCTION

      The ~_init subroutine (required)

      The ~_compute subroutine (required)

      The ~_work_size subroutine (required when work arrays are defined)

      The ~_result_limits subroutine (required if result has a custom or abstract axis)

      The ~_custom_axes subroutine (required if result has a custom axis)

    11.5 NOTES AND SUGGESTIONS

      Inheriting axes

      Loop indices

      Reduced axes

      String Arguments

    11.6 UTILITY FUNCTIONS

      EF_Util.cmn

      Available utility functions

        ef_set_desc(id, desc)

        ef_set_num_args(id, num)

        ef_set_axis_inheritance(id, Xsrc, Ysrc, Zsrc, Tsrc)

        ef_set_piecemeal_ok(id, Xyn, Yyn, Zyn, Tyn)

        ef_set_arg_name(id, arg, name)

        ef_set_arg_desc(id, arg, desc)

        ef_set_arg_unit(id, arg, unit)

        ef_set_arg_type(id, arg, type)

        ef_set_axis_extend(id, arg, axis, lo_amt, hi_amt)

        ef_set_axis_influence(id, arg, Xyn, Yyn, Zyn, Tyn)

        ef_set_axis_reduction(id, Xred, Yred, Zred, Tred)

        ef_set_axis_limits(id, axis, lo, hi)

        ef_set_custom_axis(id, axis, lo, hi, delta, unit, modulo)

        ef_set_num_work_arrays(id, nwork)

        ef_set_work_array_dims(id, iarray, xlo, ylo, zlo, tlo, xhi, yhi, zhi, thi)

        ef_get_res_subscripts(id, res_lo_ss, res_hi_ss, res_incr)

        ef_get_arg_info(id, iarg, arg_name, arg_title, arg_units)

        ef_get_arg_string(id, iarg, text)

        ef_get_one_arg_string(id, iarg, text)

        ef_get_axis_info(id, iarg, axname, ax_units, backward, modulo, regular)

        ef_get_axis_dates(id, iarg, taxis, numtimes, datebuf)

        ef_get_axis_calendar(id, iarg, calname, yrdays, nmonths, days_in_month)

        ef_get_arg_subscripts(id, arg_lo_ss, arg_hi_ss, arg_incr)

        ef_get_arg_ss_extremes(id, num_args, ss_min, ss_max)

        ef_get_bad_flags(id, bad_flag, bad_flag_result)

        ef_get_coordinates(id, arg, axis, lo, hi, coords)

        ef_get_box_size(id, arg, axis, lo, hi, size)

        ef_get_box_limits(id, arg, axis, lo, hi, lo_lims, hi_lims)

        ef_get_one_val(id, arg, value)

        ef_get_string_arg_element(id, arg, i,j,k,l, str_arg, slen, text)

        ef_get_string_arg_element_len (id, arg, str_arg, i,j,k,l, slen)

        ef_get_string_arg_max_len (id, arg, str_arg, slen)

        ef_version_test (version)

        ef_bail_out(id, text)


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: