[ncl-talk] how to fill an array with an other
Rashed Mahmood
rashidcomsis at gmail.com
Tue May 5 12:07:58 MDT 2020
Hi Laura,
The error message is telling what is wrong, you defining a one dimensional
and then trying to assign it two dimensional data:
*ppbl = new((/cells/),typeof(p))*
*ppbl(0:cells-1) = p(0:cells-1,kpbl(0:cells-1)) ; this is 2D and even wrong
dimension sizes note the nVertLevels*
I am not sure if the following is what you want?
vlevel = 0 ; 0 or any other VertLevels
ppbl = new((/cells/),typeof(p))
ppbl(0:cells-1) = p(0:cells-1,vlevel)
Cheers,
Rashed
On Tue, May 5, 2020 at 8:37 AM Laura Fowler via ncl-talk <ncl-talk at ucar.edu>
wrote:
> Hello:
> I cannot figure out how to do the following and would love to get some
> help:
>
> I have an array kpbl which contains the vertical index of the PBL top:
> printVarSummary gives:
>
> Variable: kpbl
>
> Type: integer
>
> Total Size: 15728832 bytes
>
> 3932208 values
>
> Number of Dimensions: 2
>
> Dimensions and sizes: [Time | 13] x [cells | 163842]
>
> Coordinates:
>
> Number Of Attributes: 2
>
> units : unitless
>
> long_name : index level of PBL top
>
>
>
> I have a second array p which contains the 3D pressure: print VarSummary
> gives:
>
>
> Variable: p
>
> Type: float
>
> Total Size: 865085760 bytes
>
> 216271440 values
>
> Number of Dimensions: 3
>
> Dimensions and sizes: [Time | 13] x [cells | 163842] x [nVertLevels | 55]
>
> Coordinates:
>
> Number Of Attributes: 2
>
> units : hPa
>
> long_name : Pressure
>
>
>
> What I would like to get is the pressure at the index level kpbl, i.e.
> pressure at the PBL top. In fortran and for one time-level (itime), I would
> have a loop like:
>
> do icell = 0, cells-1
> ppbl(itime,icell) = p(itime,icell,kpbl(iCell))
> end do
>
> In NCL, I tried the following (for one time-level):
> ppbl = new((/cells/),typeof(p))
> ppbl(0:cells-1) = p(0:cells-1,kpbl(0:cells-1))
>
> but this does not work. I get an error message that the left and right
> side do not have the same dimensions. I am definitely running out of ideas
> on how to solve this and would appreciate a hint.
>
> Many thanks,
> Laura
>
> --
>
> !-------------------------------------------------------------------------------------------------------------
> Laura D. Fowler
>
> Mesoscale and Microscale Meteorology Division (MMM)
> National Center for Atmospheric Research
> P.O. Box 3000, Boulder CO 80307-3000
>
> e-mail: laura at ucar.edu
> phone: 303-497-1628
>
>
> !-------------------------------------------------------------------------------------------------------------
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200505/f27dccc4/attachment.html>
More information about the ncl-talk
mailing list