This file is indexed.

/usr/share/ncarg/hluex/basic/basic03f.f 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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
C
C $Id: basic03f.f,v 1.10 1995-06-20 15:19:52 stautler Exp $
C
C***********************************************************************
C                                                                      *
C                            Copyright (C)  1995                       *
C                 University Corporation for Atmospheric Research      *
C                            All Rights Reserved                       *
C                                                                      *
C***********************************************************************
C
C      File:            basic03f.f
C
C      Author:          Tim Scheitlin (converted by Ed Stautler)
C                       National Center for Atmospheric Research
C                       PO 3000, Boulder, Colorado
C
C      Date:            Mon Mar 20 10:43:42 MST 1995
C
C      Description:     This example demonstrates how to:
C                       1. Create a scalar field data object and assign
C                          it to a plot.
C                       2. Set resources using a resource file.
C                       3. Set resources during object creation.
C                       4. Set resources after object creation.
C
      program basic03f
      implicit none

      external NhlFAppClass
      external NhlFNcgmWorkstationClass
      external NhlFCairoWindowWorkstationClass
      external NhlFContourPlotClass
      external NhlFScalarFieldClass

      integer appid1,appid2,wks,wks2,con1,con2,con3,field1,rlist,ierr

      integer data1(5,5) 
      data data1 / 3,4,4,5,5,
     1      2,3,5,5,4,
     2      2,4,5,4,4,
     3      3,4,4,4,3,
     4      3,3,3,3,3 /

      integer dims(2) 
      data dims / 5, 5 /
C
C Initialize the graphics libraries and create a resource list that
C is normally used to assign name/value pairs within objects.  Then
C clear (empty) this list, and create an application object.  This
C object manages multiple resource databases used by separate objects.
C
      call NhlFInitialize
      call NhlFRLCreate(rlist,'SETRL')

      call NhlFRLClear(rlist)
      call NhlFCreate(appid1,"appid1",NhlFAppClass,0,
     1      rlist,ierr)
C
C ###########
C # FRAME 1 #
C ###########
C This frame demonstrates how to create and assign data to a contour
C plot.
C

C
C Create an X workstation.
C
      call NhlFRLClear(rlist)
      call NhlFRLSetstring(rlist,'wkPause','True',ierr)
      call NhlFCreate(wks,"wks",
     +        NhlFCairoWindowWorkstationClass,0,rlist,ierr)
C
C Create a scalar field object that will be used as a data set for a 
C contour object.  The sfDataArray resource is used to assign a data
C array to a scalar field data object.
C
      call NhlFRLClear(rlist)
      call NhlFRLSetMDIntegerArray(rlist,"sfDataArray",data1,2,
     1      dims,ierr)
      call NhlFCreate(field1,"field1",NhlFScalarFieldClass,0,
     1      rlist,ierr)
C
C Create a contour plot object and assign the data using the
C cnScalarFieldData resource.
C
      call NhlFRLClear(rlist)
      call NhlFRLSetInteger(rlist,"cnScalarFieldData",field1,ierr)
      call NhlFCreate(con1,"con1",NhlFContourPlotClass,wks,
     1      rlist,ierr)
C
C Draw the plot. 
C
      call NhlFDraw(con1,ierr)
C
C Update and clear the workstation.
C
      call NhlFFrame(wks,ierr)
C
C ###########
C # FRAME 2 #
C ###########
C This frame demonstrates how to set resources using a resource file.
C
C Resources are read from a resource file called basic03.res because
C the first argument in the create call is "basic03". This resource file
C is only read at the time an application object is created.
C The resource file contains resource assignments that control the
C characteristics of a plot.
C
      call NhlFRLClear(rlist)
      call NhlFCreate(appid2,"basic03",NhlFAppClass,0,
     1      rlist,ierr)
C
C Create another workstation window and make it a child of the
C new application object by using the appid2 variable as the argument
C for the parent id.  By making this a child of the application
C object, the resources that are set in the basic03.res resource
C file will apply to this object and its children.
C
      call NhlFRLClear(rlist)
      call NhlFCreate(wks2,"wks2",NhlFCairoWindowWorkstationClass,
     1      appid2,rlist,ierr)
C
C Create another contour plot object and assign the data.
C Notice that the parent id is wks2, making the contour object
C a child of the new workstation.
C
      call NhlFRLClear(rlist)
      call NhlFRLSetInteger(rlist,"cnScalarFieldData",field1,ierr)
      call NhlFCreate(con2,"con2",NhlFContourPlotClass,wks2,
     1      rlist,ierr)
C
C The contour object is drawn with filled contours because there is
C a resource in basic03.res that specifies that contour fill is on.
C
      call NhlFDraw(con2,ierr)
C
C Updates and clear the workstation.
C
      call NhlFFrame(wks2,ierr)
C
C ###########
C # FRAME 3 #
C ###########
C This frame demonstrates how resources can be set when an object is
C created.  
C
C A variable length list of resource name/value pairs specifies
C a resource and its value.  In this example contour line labels are
C turned off by setting the "cnLineLabelsOn" resource to "False".
C
      call NhlFRLClear(rlist)
      call NhlFRLSetInteger(rlist,"cnScalarFieldData",field1,ierr)
      call NhlFRLSetString(rlist,"cnLineLabelsOn","False",ierr)
      call NhlFCreate(con3,"con3",NhlFContourPlotClass,wks2,
     1      rlist,ierr)
C
C Draw the contour object.
C
      call NhlFDraw (con3,ierr)
C
C Update and clear the workstation.
C
      call NhlFFrame(wks2,ierr)
C
C ###########
C # FRAME 4 #
C ###########
C This frame demonstrates how to use the setvalues expression to set 
C resources for an object that has already been created.
C
C The setvalues expression is used to assign values to the resources
C of a object whose id is given as the first argument in the expression.
C In this example, that argument is "con3."
C
C Any resource that is valid for the con3 object can be set in the
C following expression.  In this example, setting "cnFillOn" to
C "False" turns contour fill off.  By default, cnFillOn is "False",
C but since it is set to "True" in the resource file, we can override
C that value by using the setvalues expression.  
C
      call NhlFRLClear(rlist)
      call NhlFRLSetString(rlist,"cnFillOn","False",ierr)
      call NhlFSetValues(con3,rlist,ierr)
C
C Draw the contour object.
C
      call NhlFDraw (con3,ierr)
C
C Update and clear the workstation
C
      call NhlFFrame(wks2,ierr)
C
C Clean up (deleting the parent object recursively deletes all of its 
C children).
C
      call NhlFDestroy(wks,ierr)
      call NhlFDestroy(appid1,ierr)
      call NhlFDestroy(appid2,ierr)

      call NhlFClose

      stop
      end