This file is indexed.

/usr/share/ncarg/nclex/ngmath/nm01n.ncl is in libncarg-data 6.3.0-6build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;                                                                       ;
;                Copyright (C)  1997                                    ;
;        University Corporation for Atmospheric Research                ;
;                All Rights Reserved                                    ;
;                                                                       ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;   File:       nm01n.ncl
;
;   Author:     Fred Clare (converted to NCL by Mary Haley)
;           National Center for Atmospheric Research
;           PO 3000, Boulder, Colorado
;
;   Date:       Mon Dec 15 10:38:27 MST 1997
;
;   Description: Simple example of natural neighbor linear interpolation.
;

begin
  ISLIM = 6
  NumXOut = 21
  NumYOut = 21
;
; Define the input data arrays.
;
  x = (/0.00, 1.00, 0.00, 1.00, 0.40, 0.75/)
  y = (/0.00, 0.00, 1.00, 1.00, 0.20, 0.65/)
  z = (/0.00, 0.00, 0.00, 0.00, 1.25, 0.80/)
;
; Define the output grid.
;
  xc = 1./(NumXOut-1.) 
  xo = ispan(0,NumXOut-1,1) * xc

  yc = 1./(NumYOut-1.) 
  yo = ispan(0,NumYOut-1,1) * yc
;
; Do the gridding.
;
  out = natgrids(x, y, z, xo, yo)
;
; Create a workstation object.
;
  wks_type = "ncgm"

  if (str_lower(wks_type).eq."ncgm") then
;
; Create an ncgmWorkstation object.
;
    wid = create "natgrids" ncgmWorkstationClass defaultapp
        "wkMetaName" : "nm01n.ncgm"
    end create
  end if
  if (str_lower(wks_type).eq."x11") then
;
; Create an X11 workstation.
;
    wid = create "natgrids" windowWorkstationClass defaultapp
      "wkPause" : "True"
    end create
  end if
  if (str_lower(wks_type).eq."oldps") then
;
; Create an older-style PostScript workstation.
;
    wid = create "natgrids" psWorkstationClass defaultapp
      "wkPSFileName" : "nm01n.ps"
    end create
  end if
  if (str_lower(wks_type).eq."oldpdf") then
;
; Create an older-style PDF workstation.
;
    wid = create "natgrids" pdfWorkstationClass defaultapp
      "wkPDFFileName" : "nm01n.pdf"
    end create
  end if
  if (str_lower(wks_type).eq."pdf".or.str_lower(wks_type).eq."ps") then
;
; Create a cairo PS/PDF Workstation object.
;
    wid = create "natgrids" documentWorkstationClass defaultapp
      "wkFileName" : "nm01n"
      "wkFormat" : wks_type
    end create
  end if
  if (str_lower(wks_type).eq."png") then
;
; Create a cairo PNG Workstation object.
;
    wid = create "natgrids" imageWorkstationClass defaultapp
      "wkFileName" : "nm01n"
      "wkFormat" : wks_type
    end create
  end if
;
; Retrieve the GKS workstation ID so we can use low-level calls to
; draw the surface.
;
  getvalues wid
    "wkGksWorkId" : gkswid
  end getvalues
;
; Draw the surface.
;
  drwsrfc(gkswid,xo,yo,out,15.,-25.,90.)
;
; Show how to do the above, only using double precision.
; First we need to remove our float variables and redeclare 
; them as double precision.
;
  delete(x)
  delete(y)
  delete(z)
  delete(xo)
  delete(yo)
  delete(out)
;
; Create double precision variables.
;
  x = new((/ISLIM/),double)
  y = new((/ISLIM/),double)
  z = new((/ISLIM/),double)
  xo = new((/NumXOut/),double)
  yo = new((/NumXOut/),double)

  x = (/0.00, 1.00, 0.00, 1.00, 0.40, 0.75/)
  y = (/0.00, 0.00, 1.00, 1.00, 0.20, 0.65/)
  z = (/0.00, 0.00, 0.00, 0.00, 1.25, 0.80/)
;
; Define the output grid.
;
  xc = 1./(NumXOut-1.) 
  xo = ispan(0,NumXOut-1,1) * xc

  yc = 1./(NumYOut-1.) 
  yo = ispan(0,NumYOut-1,1) * yc
;
; Do the gridding.
;
  out = natgridd(x, y, z, xo, yo)
;
; Draw the surface.
;
  xp = doubletofloat(xo)
  yp = doubletofloat(yo)
  outp = doubletofloat(out)
    
  drwsrfc(gkswid,xp,yp,outp,15.,-25.,90.)

  frame(wid)
end