STRMLN(3NCARG)
β¨ STRMLN β¨
okay bestie, gather round π this is the NCAR GRAPHICS manual page for STRMLN, and it's a whole mood β it's from 3NCARG, it's giving vintage Fortran energy, and yes, it's technically obsolete but we still love her. π
πΈ NAME πΈ
STRMLN β plots a streamline representation of field flow data, given two 2-dimensional vector component arrays, U and V. π«
You can control certain characteristics of the plot by adjusting the values you hand to the input arguments. And on top of that, depending on the value you give to the compatibility parameter, CPM, you can set other options by calling STSETI or STSETR to modify internal parameters. no cap. π«Ά
π STATUS π
STRMLN is obsolete, and is supported only to provide compatibility with old NCAR Graphics codes.
Like, she's an icon but she's retired. π However, the compatibility mode parameter, CPM, offers a number of options to help ease the transition to the new version of the utility. When you're writing new code you are encouraged not to use this entry point, since it provides less capability than the standard Streamlines interface, and may eventually be phased out. she's on her way out the door bestie π
β SYNOPSIS β
CALL STRMLN (U,V,WORK,IMAX,IPTSX,JPTSY,NSET,IER)
π¦ C-BINDING SYNOPSIS π¦
#include <ncarg/ncargC.h>
void c_strmln (float *u, float *v, float *work, int imax,
int iptsx, int jptsy, int nset, int *ier)
π DESCRIPTION π
Uβ (REAL 2-dimensional array, dimensionedIMAX x n:n >= JPTSY, input): By default, assumed to contain the first dimensional Cartesian components of the vector field. However, ifPLRis non-zero, it is treated as containing the vector magnitudes. πVβ (REAL 2-dimensional array, dimensionedIMAX x n:n >= JPTSY, input): By default, assumed to contain the second dimensional Cartesian components of the vector field. However, ifPLRis non-zero, it is treated as containing the vector angles. πΈWORKβ (REAL array, dimensionedn:n>= 2*IPTSX*JPTSY, working space): User provided work array used to store the normalized vector component values, and also to keep track of the grid boxes eligible for starting a streamline or placement of a directional arrow. π§IMAXβ (INTEGER, input): Actual value of the first dimension of arraysUandV.IPTSXβ (INTEGER, input): Number of contiguous elements along the first dimensional axis containing data to be processed in each of the arrays,UandV.JPTSYβ (INTEGER, input): Number of contiguous elements along the second dimensional axis containing data to be processed in each of the arrays,UandV.NSETβ (INTEGER, input) Flag that controls how and when theSETcall is invoked. three vibes, three behaviors:- If
NSETis0,STRMLNmakes aSETcall to establish a standard viewport and window boundaries coincident with the array coordinate boundaries.PERIMis called to draw a border. π - If
NSETis greater than zero,STRMLNdoes not callSETorPERIM. π - If
NSETis less than zero,STRMLNcallsSETto establish window boundaries coincident with the array grid coordinate boundaries but does not modify the viewport or callPERIM. β¨
- If
Unlike the STINIT/STREAM interface, when STRMLN does a SET call, it always restores the original coordinate system state before returning. periodt. π
IERβ (INTEGER, output) If no error involving theICYCcommon block variable (or, depending on the compatibility mode, theCYKinternal parameter) is detected,IERcontains the value0on exit fromSTRMLN. If, whenSTRMLNis invoked,ICYC(orCYK) is erroneously set to indicate that the data is cyclic,STRMLNstill processes the data using non-cyclic interpolation formulas, but returns the value of-1inIER. π
π C-BINDING DESCRIPTION π
The C-binding argument descriptions are the same as the FORTRAN argument descriptions, with the following exceptions: iykyk β¨
imaxβ The second dimension ofuandvin the calling programiptsxβ Number of contiguous elements along the second dimensional axis containing data to be processed in each of the arrays,uandv.jptsyβ Number of contiguous elements along the first dimensional axis containing data to be processed in each of the arrays,uandv.
π₯ USAGE π₯
Beginning with version 3.2 of NCAR Graphics, the STRMLN entry point has been recoded as a front end to the STINIT/STREAM interface to Streamlines. π
The compatibility mode parameter, CPM, controls the degree to which a call to the Version 3.2 STRMLN emulates the older call. Appropriate settings of CPM can separately answer each of the following three questions regarding the level of emulation: π
- Should
FXandFYrather than the Version3.2mapping routines perform the mapping to user coordinates? - Should the value of the input argument,
NSET, override the current value of theSETparameter? - Should the values contained in the common blocks
STR02andSTR03override the current values of corresponding Streamlines' internal parameters?
Given the default value of CPM, all these questions are answered in the affirmative, and a call to STRMLN gives a reasonably faithful emulation of the older version's behavior. slay π«Ά
However, even in this case, it is possible to use the parameter setting routines to control the behavior of features that have no counterpart in the older version of STRMLN, as long as the feature is accessible without calling the new interface. For instance, you could control the streamline linewidth by setting the LWD parameter, but on the other hand you could not draw streamlines masked to an area map because doing so requires direct invocation of STREAM with the proper input arguments. π
The following two tables show how the STRMLN input arguments and STR02/STR03 common block members map into internal parameters currently supported by Streamlines: π
π« Input Argument β Internal Parameter π«
NSETβSET(NSET = 0is approximately equivalent toSET = 1)
π¦ Common Block Member β Internal Parameter π¦
INITAβSGDINITBβAGDITERPβCKPITERCβCKXIGFLGβTRPICYCβCYKIMSGβSVFUVMSGβUSVUVMSGβVSVDISPLβVNLAROWLβARL(AROWLas fraction of grid box size is converted toARLas fraction of viewport width)CSTOPβSSP(CSTOPas fraction of grid box size is converted toSSPas fraction of viewport width)DISPLβDFM(DISPLas fraction of grid box size is converted toDFMas fraction of viewport width)DISPC/DISPLβCDS(The critical displacement multiplierCDSis calculated as the ratio ofDISPCtoDISPL)
See the streamlines_params man page for a description of the internal parameters. π
π EXAMPLES π
Use the ncargex command to see the following relevant examples: stex02, tstrml. π
π§ ACCESS π§
To use STRMLN or c_strmln, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order. β
π SEE ALSO π
Online: fx, stgetc, stgeti, stgetr, stinit, stream, streamlines, streamlines_params, strset, stsetc, stseti, stsetr, stuixy, stumsl, stumta, stumxy, ncarg_cbind. π
π COPYRIGHT π
Copyright (C) 1987-2009 University Corporation for Atmospheric Research
The use of this Software is governed by a License Agreement.
and that's the whole page bestie, we ate and left no crumbs π
β¨ this one came from the UNIX manual, dated April 1993, and it lives at STRMLN(3NCARG) π bye pookie, go plot some streamlines responsibly π¦π
π¦ 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