[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