[ncl-talk] sres at mpCenterLatF won't accept decimal values?

Rashed Mahmood rashidcomsis at gmail.com
Tue Jun 2 04:54:09 MDT 2020


":=" would change the type of this variable because it essentially
deletes the existing variable.


On Tue, Jun 2, 2020 at 3:53 AM Rashed Mahmood <rashidcomsis at gmail.com>
wrote:

> try the reassignment operator for assigning value inside the loop:
>
> sres at mpCenterLatF               := 25.2
>
> Since at the beginning you assigned an integer value to the "sres at mpCenterLatF", so this variable is expected as integer afterwards.
>
> ":=" would change the type of this variable.
>
>
>
>
> On Tue, Jun 2, 2020 at 2:17 AM Marco Miani via ncl-talk <ncl-talk at ucar.edu>
> wrote:
>
>> Dear community,
>>
>>
>> hope this e-mail finds you all well.
>>
>>
>> I am working on animating NCL-produced png figures, using satellite view,
>> showing how my tracers travel around the world. To do it, I am observing on
>> board of my satellite and, inside a while loop (looping over every
>> time-step), I update center latitude and longitude (mpCenterLatF) by
>> increasing the value (either linearly, or with a sine function...). Once
>> all the frames (png) are output, I use a python script to stitch them
>> together and get my nice animation in *.avi.
>>
>> Now, the problem arises when adding a given value to lat, lon to
>> mpCenterLatF inside the loop. It seems that if the added value is an
>> integer (no decimals), all works well. IF, otherwise, I add a float (with
>> decimals) NCL refuses to go on, stops, and complains. Here below, a snippet
>> of my code. This is working in Python (PyNGL), but would crash in "pure"
>> NCL.
>>
>>
>> The error message I got is: fatal:["NclAtt.c":262]:Attribute assignment
>> type mismatch.
>>
>> Any clues on how to fix it?
>>
>> Thanks!
>> OS: Linux
>> Version: 6.6.2
>>
>> Marco
>>
>>
>> sres at mpProjection               = "Satellite" ; choose map projection
>>
>> sres at mpLimitMode                 = "angles"
>> sres at mpLeftAngleF                = 20.
>> sres at mpRightAngleF               = 20.
>> sres at mpTopAngleF                 = 20.
>> sres at mpBottomAngleF              = 20.
>>
>> sres at pmTickMarkDisplayMode     = "Always"     ; turn on automatic tickmarks
>> sres at mpGridMaskMode            = "MaskLand"   ; Mask grid over land.
>> sres at mpAreaMaskingOn           = 1
>> sres at mpMaskAreaSpecifiers      = mask_specs
>>
>> sres at mpCenterLonF               = 51       ; choose center lon
>> sres at mpCenterLatF               = 25       ; choose center lat
>>
>> sres at mpSatelliteAngle1F         = 1.4*55.2957795130823*asin(1./1.4)/8.
>> sres at mpSatelliteAngle2F         = 90.
>> sres at mpSatelliteDistF           = 2.35     ; choose satellite view
>>
>> i = 0
>> Nsteps= 60
>>    do while(i.le.Nsteps)
>>       ..do some magic
>>       sres at mpCenterLonF               = 51+i      ; Works only if "i" is integer, NOT float...
>>       ;sres at mpCenterLatF               = 25.2      ; This won't work! <-------------------------------------- this is the trouble maker!
>>       sres at mpCenterLatF               = 25        ; This does work
>>       ...do more magic
>>       print("")
>>       print(sprinti("Drawing frame %0.1i ",i))
>>       i=i+1
>>    end do
>> print("All done. Reading for merging...")        ;Next step is to call python script, to generate an animation...
>>
>>
>>
>> _______________________________________________
>> 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/20200602/60a97c1f/attachment.html>


More information about the ncl-talk mailing list