[ncl-talk] Errors while trying to plot IAGOS data. Only the contour map plot, but the data is missing.

najib.yusuf at carnasrda.com najib.yusuf at carnasrda.com
Sat Oct 14 08:28:40 MDT 2017


  Thank you Adam for your help and time.
  I did as you said but I received subscripting  error as the ozone 
variable in all the files is 1 dimensional (UTC_time), I attached one of 
the file output for data sample. Please see the output below;

    [model-user at model-vm ~]$ ncl -Q
ncl 0> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
=
ncl 1> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
a
ncl 2>
ncl 3> begin
ncl 4> ;-- read the data and define
2
ncl 5>
ncl 6> diri = "/home/model-user/2000/"
ncl 7> fil1 = "IAGOS_timeseries_2000040222361353.nc"
ncl 8> fil2 = "IAGOS_timeseries_2000040922544753.nc"
ncl 9> fil3 = "IAGOS_timeseries_2000041122453853.nc"
ncl 10> fil4 = "IAGOS_timeseries_2000041217193053.nc"
ncl 11> fil5 = "IAGOS_timeseries_2000041220041453.nc"
ncl 12> fil6 = "IAGOS_timeseries_2000041222213953.nc"
ncl 13> fil7 = "IAGOS_timeseries_2000050222480853.nc"

ncl 14> fil8 = "IAGOS_timeseries_2000050723210353.nc"
ncl 15> fil9 = "IAGOS_timeseries_2000051317072253.nc"
ncl 16> fil10 = "IAGOS_timeseries_2000051320135353.nc"
ncl 17> fil11 = "IAGOS_timeseries_2000051322273853.nc"
ncl 18> fil12 = "IAGOS_timeseries_2000053009261035.nc"
ncl 19> fil13 = "IAGOS_timeseries_2000060622395953.nc"
ncl 20> fil14 = "IAGOS_timeseries_2000071122541553.nc"
ncl 21> fil15 = "IAGOS_timeseries_2000071622553453.nc"
ncl 22>
ncl 23> f1 = addfile(diri+fil1, "r")
ncl 24> f2 = addfile(diri+fil2, "r")
ncl 25> f3 = addfile(diri+fil3, "r")
ncl 26> f4 = addfile(diri+fil4, "r")
ncl 27> f5 = addfile(diri+fil5, "r")
ncl 28> f6 = addfile(diri+fil6, "r")
ncl 29> f7 = addfile(diri+fil7, "r")
ncl 30> f8 = addfile(diri+fil8, "r")
ncl 31> f9 = addfile(diri+fil9, "r")
ncl 32> f10 = addfile(diri+fil10, "r")
ncl 33> f11 = addfile(diri+fil11, "r")
ncl 34> f12 = addfile(diri+fil12, "r")
ncl 35> f13 = addfile(diri+fil13, "r")
ncl 36> f14 = addfile(diri+fil14, "r")
ncl 37> f15 = addfile(diri+fil15, "r")
ncl 38>
ncl 39>
ncl 40>
ncl 41>   ozone1 = f1->O3_PM
ncl 42>   ozone1 at long_name = "O3 volume mixing ratio"
ncl 43>   ozone2 = f2->O3_PM
ncl 44>   ozone2 at long_name = "O3 volume mixing ratio"
ncl 45>   ozone3 = f3->O3_PM
ncl 46>   ozone3 at long_name = "O3 volume mixing ratio"
ncl 47>
ncl 48>   ozone4 = f4->O3_PM
ncl 49>   ozone4 at long_name = "O3 volume mixing ratio"
ncl 50>   ozone5 = f5->O3_PM
ncl 51>   ozone5 at long_name = "O3 volume mixing ratio"
ncl 52>   ozone6 = f6->O3_PM
ncl 53>   ozone6 at long_name = "O3 volume mixing ratio"
ncl 54>
ncl 55>   ozone7 = f7->O3_PM
ncl 56>   ozone7 at long_name = "O3 volume mixing ratio"
ncl 57>   ozone8 = f8->O3_PM
ncl 58>   ozone8 at long_name = "O3 volume mixing ratio"
ncl 59>   ozone9 = f9->O3_PM
ncl 60>   ozone9 at long_name = "O3 volume mixing ratio"
ncl 61>
ncl 62>   ozone10 = f10->O3_PM
ncl 63>   ozone10 at long_name = "O3 volume mixing ratio"
ncl 64>   ozone11 = f11->O3_PM
ncl 65>   ozone11 at long_name = "O3 volume mixing ratio"
ncl 66>   ozone12 = f12->O3_PM
ncl 67>   ozone12 at long_name = "O3 volume mixing ratio"
ncl 68>
ncl 69>   ozone13 = f13->O3_PM
ncl 70>   ozone13 at long_name = "O3 volume mixing ratio"
ncl 71>   ozone14 = f14->O3_PM
ncl 72>   ozone14 at long_name = "O3 volume mixing ratio"
ncl 73>   ozone15 = f15->O3_PM
ncl 74>   ozone15 at long_name = "O3 volume mixing ratio"
ncl 75> ;---------------------------------------------------
ncl 76>   printVarSummary(ozone15)    , just to see summary of one of 
the variables
fatal:syntax error: line 76 before or near ,
   printVarSummary(ozone15)    ,
------------------------------^

fatal:error in statement
ncl 77>
ncl 78>   print ("min/max ozone15 = " + min(ozone15) + "/" + 
max(ozone15))
ncl 79> ;---------------------------------------------------
ncl 80>   time = ispan (3600,103598,5) , data time in seconds
fatal:syntax error: line 80 before or near ,
   time = ispan (3600,103598,5) ,
-------------------------------^

ncl 81>   long_name = "UTC time"
ncl 82> ;----------------------------------------------------
ncl 83> ; to plot multiple lines, you must put them into a
ncl 84> ; mulidimensional array
ncl 85> ;----------------------------------------------------
ncl 86>
ncl 87>  data = new((/15,500/),double)
ncl 88>   data(0,:) = ozone1
ncl 89>   data(1,:) = ozone2
ncl 90>   data(2,:) = ozone3
ncl 91>   data(3,:) = ozone4
ncl 92>   data(4,:) = ozone5
ncl 93>   data(5,:) = ozone6
ncl 94>   data(6,:) = ozone7
ncl 95>   data(7,:) = ozone8
ncl 96>   data(8,:) = ozone9
ncl 97>   data(9,:) = ozone10
ncl 98>   data(10,:) = ozone11
ncl 99>   data(11,:) = ozone12
ncl 100>   data(12,:) = ozone13
ncl 101>   data(13,:) = ozone14
ncl 102>   data(14,:) = ozone15
ncl 103>
ncl 104>   wks = gsn_open_wks("png", "O3_PM_ 2000_to & fro 
lagos_Flights")
ncl 105>
ncl 106>  res = True
ncl 107>  res at xyExplicitLegendLabels = 
(/"data1",\"data2","data3",\"data4"\,"data5",
ncl 107> 
"data6",\"data7\","data8","data9"\,"data10","data11"\,"data12","data13",\"data14"/)
ncl 107> res at xyLineColors = (/"black",\"red", "green",\"blue",\ 
"orange","yellow",\"gray",\"purple","majenta",\"orchid1","plum1",\"magenta4""pink1",\"maroon","lightpink4"/)
fatal:syntax error: line 107 before or near =
res at xyLineColors =
-----------------^

ncl 107> res at xyDashPatterns = (/0, 5, 2, 1, 3, 2, 1, 5, 2, 0, 5, 2, 4, 
2, 3\)
ncl 107> res at xyLineThicknessF = 3
ncl 108> res at tiYAxisString = "O3_PM ppb"
ncl 109> res at tiYAxisFont = 21
ncl 110> res at tiYAxisFontAspectF = 1.3
ncl 111> res at tiYAxisFontHeightF = 0.012
ncl 112> res at tiXAxisString = "Time"
ncl 113> res at tiXAxisFont = 21
ncl 114> res at tiXAxisFontAspectF = 1.3
ncl 115> res at tiXAxisFontHeightF = 0.012
ncl 116> res at tiXAxisOffsetYF = 0.0
ncl 117> res at tiMainOffsetYF = 0.11
ncl 118> res at tiMainString = "Ozone to and fro Lagos Flights 2000"
ncl 119> res at tmXBLabelFontAspectF = 1.3
ncl 120> res at tmXBLabelFontHeightF =
fatal:syntax error: line 120 before or near \n
res at tmXBLabelFontHeightF =
--------------------------^

ncl 121> res at trYMinF = 10.0
ncl 122> res at trYMaxF = 200.0
ncl 123> res at gsnDraw = Fa
ncl 124> res at gsnFrame = False
ncl 125> res at vpXF = 0.2
ncl 126> ;-- set viewport resources
ncl 127> res at vpYF = 0.6
ncl 128> res at vpWidthF = 0.7
ncl 129> res at pmLegendDisplayMode = "Always"
ncl 130> res at pmLegendWidthF = 0.12 ;-- set legend width
ncl 131> res at pmLegendHeightF = 0.19 ;-- set legend height
ncl 132> res at pmLegendParallelPosF = 0.18 ;-- move legend right
ncl 133> ;-- create plot
ncl 134> plot = gsn_csm_xy(wks,time,data,res)
ncl 135>
ncl 136> ;-- draw the plot
ncl 137> draw(plot)
ncl 138> frame(wks)
ncl 139> end
(0)	min/max ozone15 = 2/479
fatal:Dimension size mismatch on subscript #1, left-hand and right-hand 
side dimensions do not match
fatal:["Execute.c":8573]:Execute: Error occurred at or near line 88







On 2017-10-13 14:24, Adam Phillips wrote:
> Hi Najib,
> As a reminder, always include any error messages that you getting as
> that would assist the ncl-talk community with diagnosing the problem.
> 
> You have the following coding:
> 
> data = new((/15,500/),double)
> data0 = ozone1
> data1 = ozone2
> <snip>
> data14 = ozone15
> 
> You are copying the ozone1 array to a new array named data0, the
> ozone2 array to data1, and so on. You are not infilling your data
> array.
> 
> Then, you are calling the plotting function like this:
> plot = gsn_csm_xy(wks,time,data,res)
> 
> Thus, I am guessing that nothing is being plotted as data is empty.
> 
> Swap this:
> 
> data = new((/15,500/),double)
> data0 = ozone1
> data1 = ozone2
> <snip>
> data14 = ozone15
> 
> with this:
> 
> data = new((/15,500/),double)
> data(0,:) = ozone1
> data(1,:) = ozone2
> <snip>
> data(14,:) = ozone15
> 
> If you have any further questions please respond to the ncl-talk email
> list.
> Adam
> 
> On Fri, Oct 13, 2017 at 4:25 AM, <najib.yusuf at carnasrda.com> wrote:
> 
>> Dear ncl talk,
>> 
>> Thank you for your guidance all the time. I am able to plot using
>> time series. However, I proceeded to modify the script to plot
>> multiple time series  (15 files) by following the example in
>> NCL_User_Guide " This example is saved in NUG_multi_timeseries.ncl."
>> But i am having a problem with multidimensional array because my
>> files have different sizes. Kindly direct me.
>> 
>> Attached are the two files.
>> 
>> Thank you
>> 
>> Najib
>> 
>> On 2017-09-27 13:41, Dennis Shea wrote:
>> You stated:  "I tried solving but couldn't get it"
>> 
>> Please look at the output from your commands.
>> 
>> The  output is  for *you* to look at.
>> 
>> ----
>> 
>> More on David's comment ...
>> 
>> re: GOLDEN RULE OF DATA PROCESSING... LOOK AT YOUR DATA
>> 
>> You used:
>> 
>> var = f->O3_PM(0)   <==== the reads only the 1st value [index (0)
>> ]
>> 
>> Variable: var
>> Type: double
>> Total Size: 8 bytes
>> 1 values           <=== ONE VALUE ... how do you contour
>> one value?
>> 
>> ---
>> 
>> The min & max are _FillValue. Look at the output from your script.
>> 
>> (0)    min/max var = -9999/-9999
>> ---
>> 
>> Even if you read  the entire *time  series* ... all values are
>> _FillValue
>> 
>> var = f->O3_PM    ;   entire series
>> 
>> printVarSummary(var)
>> 
>> Variable: var
>> Type: double
>> Total Size: 63024 bytes
>> 7878 values
>> Number of Dimensions: 1
>> Dimensions and sizes:   [UTC_time | 7878]    <=========
>> Coordinates:
>> UTC_time: [70841..106359]
>> Number Of Attributes: 8
>> standard_name :       mole_fraction_of_ozone_in_air
>> long_name :   Ozone mixing ratio
>> comment :     Measured by MOZAIC package
>> units :       0.000000001
>> missing_value :       -9999
>> _FillValue :  -9999
>> scale_factor :         1
>> availability :         0
>> 
>> print ("min/max var = " + min(var) + "/" + max(var))
>> (0)     MIN/MAX VAR = -9999/-9999
>> 
>> ---
>> 
>> It should be plotted as a time series not as a contour plot.
>> 
>> On Wed, Sep 27, 2017 at 10:34 AM, David Brown <dbrown at ucar.edu>
>> wrote:
>> 
>> You will never be able to contour the O3_PM variable from this file
>> because it contains only fill values:
>> 
>> ncl 0> f = addfile("IAGOS_timeseries_2013101819404151.nc [1]
>> [1]","r")
>> ncl 1> printMinMax(f->O3_PM,0)
>> (0) Ozone mixing ratio (0.000000001) : min=-9999   max=-9999
>> 
>> Presumably this is what the attribute "availability" means: no valid
>> values for this variable.
>> 
>> Also for some reason your variable "var" contains only a single
>> value.
>> There is no way to make a contour plot with only one point even if
>> it
>> were a valid value. Since the only dimension in the file is a time
>> dimension, maybe this data set would be better displayed as a time
>> series x-y plot.
>> -dave
>> 
>> On Wed, Sep 27, 2017 at 8:16 AM,  <najib.yusuf at carnasrda.com> wrote:
>> 
>> Dear Sirs,
>> 
>> I try to plot contour map of O3_PM variable from .nc IAGOS file
>> but I am
>> getting strange errors, I tried solving but couldn't get it.
>> Kindly assist
>> to guide. Attached is the file and the IAGOS.ncl as script.Thank
>> you.
>> 
>> The summary of the print var is;
>> 
>> Variable: var
>> Type: double
>> Total Size: 8 bytes
>> 1 values
>> Number of Dimensions: 1
>> Dimensions and sizes:   [UTC_time | 1]
>> Coordinates:
>> Number Of Attributes: 9
>> UTC_time :    70841
>> standard_name :       mole_fraction_of_ozone_in_air
>> long_name :   Ozone mixing ratio
>> comment :     Measured by MOZAIC package
>> units :       0.000000001
>> missing_value :       -9999
>> _FillValue :  -9999
>> scale_factor :         1
>> availability :         0
>> 
>> Variable: var
>> Type: double
>> Total Size: 8 bytes
>> 1 values
>> Number of Dimensions: 1
>> Dimensions and sizes:   [UTC_time | 1]
>> Coordinates:
>> Number Of Attributes: 9
>> UTC_time :    70841
>> standard_name :       mole_fraction_of_ozone_in_air
>> long_name :   Ozone mixing ratio
>> comment :     Measured by MOZAIC package
>> units :       0.000000001
>> missing_value :       -9999
>> _FillValue :  -9999
>> scale_factor :         1
>> availability :         0
>> (0)     -9999
>> (0)     min/max var = -9999/-9999
>> fatal:MeshScalarFieldInitialize: Insufficient number of elements
>> in
>> sfDataArray
>> fatal:Unable to initialize layer-Can't Create
>> fatal:Unable to access object with id:-4
>> fatal:Unable to access object with id:-4
>> warning:Unable to add DataItem "(null)" to DataList
>> "cnScalarFieldData"
>> fatal:CompileDataList:DataList has no valid members
>> warning:ContourPlotSetValues: cnLevelSpacingF value causes level
>> count to
>> exceed maximum: using AUTOMATICLEVELS mode
>> ncl 48>
>> 
>> Thank you
>> 
>> Najib
>> 
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk [2] [2]
>> 
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk [2] [2]
> 
> Links:
> ------
> [1] http://2013101819404151.nc
> [2] http://mailman.ucar.edu/mailman/listinfo/ncl-talk [2]
> 
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk [2]
> 
> --
> 
> Adam Phillips
> Associate Scientist,  Climate and Global Dynamics Laboratory, NCAR
> 
> www.cgd.ucar.edu/staff/asphilli/ [3]   303-497-1726 [4]
> 
>  [5]
> 
> Links:
> ------
> [1] http://2013101819404151.nc
> [2] http://mailman.ucar.edu/mailman/listinfo/ncl-talk
> [3] http://www.cgd.ucar.edu/staff/asphilli/
> [4] tel:(303)%20497-1726
> [5] http://www.cgd.ucar.edu/staff/asphilli
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: IAGOSMOZAIC output File
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171014/f1173133/attachment.ksh>


More information about the ncl-talk mailing list