IDSFFT(3NCARG)
π NAME π
IDSFFT β bestie, this one performs smooth surface fitting when the projections of the data points in the X-Y plane are irregularly distributed in the plane. Not a cute little grid. Chaos. And it still eats. π₯
This page lives in the NCAR GRAPHICS manual, section 3NCARG, and yes we're doing the whole thing, every last flag. No skips. Periodt. π
β¨ SYNOPSIS β¨
CALL IDSFFT (MD, NDP, XD, YD, ZD, MREG, NREG, KREG,
+ XREG, YREG, ZREG, IWK, WK)
π¦ C-BINDING SYNOPSIS π¦
#include <ncarg/ncargC.h>
void c_idsfft (int md, int ndp, float *xd, float *yd,
float *zd, int mreg, int nreg, int kreg, float *xreg,
float *yreg, float *zreg, int *iwk, float *wk)
πΈ DESCRIPTION πΈ
Okay so here's the whole cast of characters. Every single one. Pay attention, this is the important part. π
MD(Integer, Input/output) β mode of computation, and it must be1,2, or3. There is no fourth option. Vibe check failed if you tried. π1β use this if it's the first call to this subroutine, or if the value ofNDPhas been changed from the previous call, or if the contents of theXDorYDarrays have been changed from the previous call.2β use this if the values ofNDPand theXD,YDarrays are unchanged from the previous call, but new values forXREG,YREGare being used. β οΈ Heads up though: ifMD=2andNDPhas been changed since the previous call toIDSFFT, an error return occurs. π3β use this if the values ofNDP,MREG,NREG,XD,YD,XREG,YREGare unchanged from the previous call, that is, if the only change on input toIDSFFTis in theZDarray. And same energy: ifMD=3andNDP,MREGorNREGhas been changed since the previous call toIDSFFT, an error return occurs. π- Between the call with
MD=2orMD=3and the preceding call, theIWKandWKwork arrays should not be disturbed. Like, hands off, they're mid-glow-up. π«Ά
NDP(Integer, Input) β the number of random data points. Must be 4 or greater, so no, you cannot bring three points to this party.XD(NDP)(Real array, Input) β array of dimensionNDPholding the X coordinates of the data points.YD(NDP)(Real array, Input) β array of dimensionNDPholding the Y coordinates of the data points.ZD(NDP)(Real array, Input) β array of dimensionNDPholding the Z coordinates of the data points.MREG(Integer, Input) β number of output grid points in the X-direction. Must be 1 or greater.NREG(Integer, Input) β number of output grid points in the Y-direction. Must be 1 or greater.KREG(Integer, Input) β the first dimension ofZREGas declared in the calling program.KREGmust be greater than or equal toMREG, else an error return occurs. Respect the math, bestie. β¨XREG(MREG)(Real array, Input) β array of dimensionMREGholding the X coordinates of the output grid points.YREG(NREG)(Real array, Input) β array of dimensionNREGholding the Y coordinates of the output grid points.ZREG(KREG,NREG)(Real array, Output) β a real, two-dimensional array of dimension(KREG,NREG), storing the interpolated Z values at the output grid points. This is the payoff, this is the main character. πIWK(*)(Integer array, Workspace) β integer work array of dimension at least31 * NDP + MREG * NREG.WK(*)(Real array, Workspace) β real work array of dimension at least6 * NDP.
Inadequate work spaceIWKandWKmay may cause incorrect results. (Yes, "may may". Twice. We said what we said. π It means: give them enough room or the answers go feral.)
Also, real talk: the data points must be distinct, and their projections in the X-Y plane must not be collinear; otherwise, an error return occurs. Collinear points are not invited. π«
π C-BINDING DESCRIPTION π
The C-binding argument descriptions are the same as the FORTRAN β and that's genuinely the entire sentence, it just ends there, that's the whole thing, and we respect it. π
π EXAMPLES π
To use IDSFFT routines, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order. Order matters, it's giving choreography. π
Use the ncargex command to see the following relevant examples:
ccpcldmccpfilccplbamccpllbccpllcccplllccplloccpllpccplltccpllwccpnetccppcccppc1ccppc2ccppc3ccppc4ccprcccpscamcidsfftfsfsgfacbex01
β ACCESS β
To use IDSFFT or c_idsfft, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order. Same trio, same order, no remixing. π§
π MESSAGES π
See the bivar man page for a description of all Bivar error messages and/or informational messages. That's where the lore lives, iykyk. π
π SEE ALSO π
Online: bivar, bivar_params, idbvip, idpltr, idgeti, idgetr, idseti, idsetr, ncarg_cbind
Hardcopy: NCAR Graphics Contouring and Mapping Tutorial
π ACKNOWLEDGMENTS π
Bivar was written by Hiroshi Akima in August 1975 and rewritten by him in late 1976. In 1989, a new version of Bivar, incorporating changes described in a Rocky Mountain Journal of Mathematics, was obtained from Dr. Akima, and included in NCAR Graphics with his permission. In 1995, Dave Kennison incorporated the capability of doing linear interpolation and a different kind of triangulation, put in a parameter access interface, and wrote a routine to allow the triangulation to be plotted. Legends only, honestly. π«‘
π COPYRIGHT π
Copyright (C) 1987-2009
University Corporation for Atmospheric Research
The use of this Software is governed by a License Agreement.
Okay that's the whole page, every option, every number, every warning, nothing skipped, nothing invented. π
This cutie is filed under UNIX, dated November 1995, and catalogued as IDSFFT(3NCARG) β go fit some surfaces, bestie, you've got this. π¦β¨π
π¦ where this page comes from
- debian bookworm: libncarg-dev 6.6.2.dfsg.1-1
- debian trixie: libncarg-dev 6.6.2.dfsg.1-10+b2
- ubuntu jammy: libncarg-dev 6.6.2-10build2
- ubuntu questing: libncarg-dev 6.6.2.dfsg.1-10build2
- ubuntu resolute: libncarg-dev 6.6.2.dfsg.1-12
- ubuntu stonking: libncarg-dev 6.6.2.dfsg.1-12build2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms