[ncl-talk] converting 360 day calendar to 365 day (standard) calendar
Kwesi A. Quagraine
starskykwesi at gmail.com
Mon Feb 25 15:13:09 MST 2019
Thanks Gus.
Replacing the line with;
zg_new = (/ linint1_n( time_360, rm_single_dims(var), False, time_365, 0,
0) /)
The script runs OK, however, the variable "zg_new" is empty although the
time axis looks standard calendar.
I’d be grateful for some help on this. Attached is my script.
Thanks
Kwesi
On 25 February 2019 at 23:38:13, Gus Correa (gus at ldeo.columbia.edu) wrote:
Hi Kwesi
Sorry, I may have misinterpreted the use of linint1_n.
Have you tried simply:
zg_new = (/ linint1_n( time_360, rm_single_dims(var), False, time_365, 0,
0) /)
This seems to be similar to "example 3" in the linint1_n documentation:
https://www.ncl.ucar.edu/Document/Functions/Built-in/linint1_n.shtml
and more similar to your original code.
Gus
On Mon, Feb 25, 2019 at 3:27 PM Kwesi A. Quagraine <starskykwesi at gmail.com>
wrote:
> Hello Gus, NCLers,
>
> Thanks for the earlier help. However, I still get this error;
>
> fatal:_NclBuildArray: each element of a literal array must have the same
> dimension sizes, at least one item doesn't
> fatal:["Execute.c":8640]:Execute: Error occurred at or near line 22 in
> file change_360day-365day.ncl
>
> after replacing with this;
> —> this is line 22
> zg_new = (/ linint1_n( (/ time_360, lat, lon /), rm_single_dims(var),
> False, (/ time_365, lat, lon/), 0, 0) /)
>
>
> A snap of the code as it is now;
> zg_new = new( (/ time_steps, dimsizes(lat), dimsizes(lon) /),
> "float", 1.0e+20 )
> zg_new = (/ linint1_n( (/ time_360, lat, lon /),
> rm_single_dims(var), False, (/ time_365, lat, lon/), 0, 0) /)
> ;zg_new = linint1_n(time_360,var,False,time_365,0,0)
> zg_new!0 = "time"
> zg_new&time = time_365
> zg_new!1 = "lat"
> zg_new&lat = lat
> zg_new!2 = "lon"
> zg_new&lon = lon
>
> zg_new at _FillValue = 1.0e+20
> zg_new at missing_value = 1.0e+20
> zg_new at standard_name = "geopotential_height"
> zg_new at long_name = "Geopotential Height"
> zg_new at units = "m"
> zg_new at coordinates = "lon lat time"
> zg_new at cell_methods = "time: mean"
> printVarSummary(zg_new)
> I’d be grateful for more help on this.
>
> Thanks
> Kwesi
>
> On 25 February 2019 at 01:44:57, Gus Correa (gus at ldeo.columbia.edu) wrote:
>
> Have you tried to define zg_new dimensions and metadata before you use it
> on the r.h.s. of linint1_n?
> Something like this:
> zg_new=new( (/ time_steps, dimsizes(lat), dimsizes(lon) /), "float",
> 1.0e+20 )
>
> Then the part of the code where you define zg_new metadata:
> zg_new!0 = "time"
> zg_new&time = time_365
> zg_new!1 = "lat"
> zg_new&lat = lat
> zg_new!2 = "lon"
> zg_new&lon = lon
> zg_new at _FillValue = 1.0e+20
> zg_new at missing_value = 1.0e+20
> zg_new at standard_name = "geopotential_height"
> zg_new at long_name = "Geopotential Height"
> zg_new at units = "m"
> zg_new at coordinates = "lon lat plev" < Why time is not
> included? Why plev is included?
> zg_new at cell_methods = "time: maximum" <- Why maximum if your original
> data says mean?
>
> And only then the interpolation.
> The extra (/ ... /) parenthesis on the l.h.s. prevent inheriting the
> metadata from "var".
> The rm_single_dims is to remove the degenerate (dimension=1) "plev" of
> "var", making it 3D (not 4D anymore).
> Also, var is multidimensional, so I think the arguments of linint1_n need
> to honor that:
>
> zg_new = (/ linint1_n( (/ time_360, lat, lon /),
> rm_single_dims(var), False, (/ time_365, lat, lon/), 0, 0) /)
>
> I haven't tested it, so it goes with no guarantees.
> I hope this helps.
>
>
> On Sun, Feb 24, 2019 at 5:31 PM Kwesi A. Quagraine <starskykwesi at gmail.com>
> wrote:
>
>> Hello NCLers
>>
>> I am trying to convert a netcdf file with 360 day calendar to standard,
>> 365 day calendar with the script below; I am having errors when I try. I
>> will be grateful for any help.
>>
>> For printVarSummary;
>>
>> Variable: var
>> Type: float
>> Total Size: 37013760 bytes
>> 9253440 values
>> Number of Dimensions: 4
>> Dimensions and sizes: [time | 12240] x [plev | 1] x [lat | 36] x [lon |
>> 21]
>> Coordinates:
>> time: [43590.5..55829.5]
>> plev: [70000..70000]
>> lat: [-44.375..-0.625]
>> lon: [6.5625..44.0625]
>> Number Of Attributes: 9
>> standard_name : geopotential_height
>> long_name : Geopotential Height
>> units : m
>> _FillValue : 1e+20
>> missing_value : 1e+20
>> original_name : mo: m01s30i207/m01s30i301
>> cell_methods : time: mean
>> history : 2012-06-26T08:31:01Z altered by CMOR: replaced missing value
>> flag (-1.07374e+09) with standard missing value (1e+20).
>> associated_files : baseURL:
>> http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile:
>> gridspec_atmos_fx_HadGEM2-ES_historical_r0i0p0.nc
>>
>> fatal:Coordinate variables must be the same dimension as their dimension
>> fatal:No coordinate variable exists for dimension (lat) in variable
>> (zg_new)
>> fatal:["Execute.c":8640]:Execute: Error occurred at or near line 25 in
>> file
>>
>>
>> For Script:
>> f = addfile("zg700_day_HadGEM2-ES_rcp85_r1i1p1_19800101-20131231.nc","r")
>> var = f->zg
>> time_360 = var&time
>> lat = f->lat
>> lon = f->lon
>> plev = f->plev
>> printVarSummary(var)
>>
>> time_steps = 34*365 ;1980 to 2013
>> time_365 = fspan(1,time_steps,time_steps)
>> time_365!0 = "time"
>> time_365&time = time_365
>> time_365 at standard_name = "time"
>> time_365 at units = "days since 1980-01-01 12:00:00"
>> time_365 at calendar = "365_day"
>> time_365 at long_name = "time"
>> time_365 at axis = "T"
>>
>> zg_new = linint1_n(time_360,var,False,time_365,0,0)
>> zg_new!0 = "time"
>> zg_new&time = time_365
>> zg_new!1 = "lat"
>> zg_new&lat = lat
>> zg_new!2 = "lon"
>> zg_new&lon = lon
>>
>> zg_new at _FillValue = 1.0e+20
>> zg_new at missing_value = 1.0e+20
>> zg_new at standard_name = "geopotential_height"
>> zg_new at long_name = "Geopotential Height"
>> zg_new at units = "m"
>> zg_new at coordinates = "lon lat plev"
>> zg_new at cell_methods = "time: maximum"
>> printVarSummary(zg_new)
>>
>> ;system("rm -rf
>> zg700_day_HadGEM2-ES_rcp85_r1i1p1_19800101-20131231_cal.nc")
>> outf =
>> addfile("zg700_day_HadGEM2-ES_rcp85_r1i1p1_19800101-20131231_cal.nc","c")
>> outf->lat = lat
>> outf->lon = lon
>> outf->plev = plev
>> outf->zg = zg_new
>>
>> I will be grateful for any help on this.
>>
>> Thanks
>> Kwesi
>> ------------
>> Try not to become a man of success but rather a man of value- Albert
>> Einstein
>>
>> Kwesi A. Quagraine
>> Department of Physics
>> School of Physical Sciences
>> College of Agriculture and Natural Sciences
>> University of Cape Coast
>> Cape Coast, Ghana
>>
>> Alt. Email: kwesi at csag.uct.ac.za
>> Web: http://www.recycleupghana.org/
>> Office: +27 21 650 3164
>> Skype: quagraine_cwasi
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
> ------------
> Try not to become a man of success but rather a man of value- Albert
> Einstein
>
> Kwesi A. Quagraine
> Department of Physics
> School of Physical Sciences
> College of Agriculture and Natural Sciences
> University of Cape Coast
> Cape Coast, Ghana
>
> Alt. Email: kwesi at csag.uct.ac.za
> Web: http://www.recycleupghana.org/
> Office: +27 21 650 3164
> Skype: quagraine_cwasi
>
_______________________________________________
ncl-talk mailing list
ncl-talk at ucar.edu
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
------------
Try not to become a man of success but rather a man of value- Albert
Einstein
Kwesi A. Quagraine
Department of Physics
School of Physical Sciences
College of Agriculture and Natural Sciences
University of Cape Coast
Cape Coast, Ghana
Alt. Email: kwesi at csag.uct.ac.za
Web: http://www.recycleupghana.org/
Office: +27 21 650 3164
Skype: quagraine_cwasi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20190225/9355f481/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: change_360day-365day.ncl
Type: application/octet-stream
Size: 1763 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20190225/9355f481/attachment.obj>
More information about the ncl-talk
mailing list