Re: Fwd: Re: 20040322: Any idea why gribtocdl does a "floating exception" on this file?

NOTE: The decoders mailing list is no longer active. The list archives are made available for historical reasons.

On Thu, 1 Apr 2004, Richard Signell wrote:

Robb,

I can't believe I didn't notice this before, but you are using
pole_lat, pole_lon = (-32.5, 10)

but for the rtll formula I gave you to produce the right results
I was using

pole_lat, pole_lon = (57.5, 10)
which yields true lon/lat domain LL and UR corners:

lon(1,1)=4.5337
lat(1,1)=33.2988

lon(272,234)=24.6762
lat(272,234)=49.4020

Rich,

The lats/lons are almost correct now, but I have some round-off error.

The first one is correct
la1 =-24, lo1 = -5
lon_true[ 1, 1 ] =4.53367311069887, lat_true[ 1, 1 ] =33.2987847224989

if I plug in the following values, then I get the same answers you did.
la2 =-7.063, lo2 = 9.563
lon_true[ 2, 2 ] =24.67621972076, lat_true[ 2, 2 ] =49.401952455077

But iterations has round-off
lon[ 234 ] =10.269655932, lat[ 272 ] =-6.240013916
lon_true[ 234, 272 ] =26.0203076954498, lat_true[ 234, 272 ]
=50.0461679747345

Next, I going to try doubles instead of floats.

Robb...



See attached image.

So I guess either you need to insert a:

pole_lat=90-pole_lat;

line before you use my rtll formula, or else DWD have
incorrectly specified the "pole_lat" as 90-"pole_lat" in the grib file.

-Rich


Robb Kambic wrote:
>
> On Tue, 30 Mar 2004, Richard Signell wrote:
>
> > Robb Kambic wrote:
> > >
> > > Rich,
> > >
> > > I have the formulas needed but the results don't seem correct to me. The
> > > pole is lat/lon  (-32.5, 10).  So ( -24, -5 ) -> ( -32.5, 10 ) and
> > > (-7,063, 9.563 ) -> ( -15.563, 24.563 ) Since the rotation angle is 0,
> > > there is no rotation.    The lat/lon increment is .065535004
> > >
> > > The problem is the calculated corner from the starting point of
> > > ( -32.5, 10 ) ends up at ( -17.23, 27.76 ) instead of the given one
> > > ( -15.563, 24.563 ).  It's a couple of degrees off.  I don't think it's a
> > > rounding err, so I must be missing something.
> > >
> >
> >
> > I think I see your problem.   In the rotated pole coordinate, the grid
> > is uniformly spaced in lat/lon, but in the rotated pole coordinate,
> > it *is not*.   You therefore need 2D arrays to hold the true lon/lat
> > values, and you need to compute each of these values using the formula.
>
> Rich,
>
> OK, I duplicated the code and the results still are not correct. ie
>
> should be lon= 24.563 and lat =  -15.563
>
> straight increment, had error in first calculation
> lon[ 234 ] = 25.269655932, lat[ 272 ] = -14.7400139159998
>
> results from duplicated rtll
> almd=44.4907691654722, aphd=-43.1948333734209
>
> How about you send the lat lon values thru MatLab and see what values you
> get for the ending coordinates.
>
> Robb..
>
> >
> > In other words, you need to loop thru each grid point(e.g.):
> >
> > for j=1:272
> >   lat=lat(j);
> >   for i=1:234
> >     lon=lon(i)
> >     [lon_true(i,j),lat_true(i,j)]=rtll(pole_lon,pole_lat,lon(i),lat(i));
> >   end
> > end
> >
> > and lon_true, lat_true will be 2D arrays:
> >
> > lon_true(lat,lon)
> > lat_true(lat,lon)
> >
> >
> > > On Mon, 29 Mar 2004, Richard Signell wrote:
> > >
> > > > Robb,
> > > >
> > > > If it's helpful, here is my MATLAB function for deriving true lon,lat
> > > > from the rotated pole lon,lat.
> > > >
> > > > function [almd,aphd]=rtll(tlm0d,tph0d,tlmd,tphd);
> > > > 
%-------------------------------------------------------------------------
> > > > % RTLL transforms rotated coordinates (tlmd,tphd) into
> > > > % ordinary geographic coordinates (almd,aphd). i/o decimal degrees (DD)
> > > > % tlm0d, tph0d: lon e lat of the center of rotation ("North Pole") in
> > > > DD.
> > > > %
> > > > dtr=pi/180.;
> > > >
> > > > ctph0=cos(tph0d*dtr);
> > > > stph0=sin(tph0d*dtr);
> > > >
> > > > stph=sin(tphd*dtr);
> > > > ctph=cos(tphd*dtr);
> > > > ctlm=cos(tlmd*dtr);
> > > > stlm=sin(tlmd*dtr);
> > > >
> > > > aph=asin(stph0.*ctph.*ctlm+ctph0.*stph);
> > > > cph=cos(aph);
> > > >
> > > > almd=tlm0d+asin(stlm.*ctph./cph)/dtr;
> > > > aphd=aph/dtr;
> > > > % end
> > > >
> > > >
> > > > -Rich
> > > >
> > > >
> >
> > --
> > Dr. Richard P. Signell                 |  signell@xxxxxxxxxxxxxxxxx
> > NATO/SACLANT Undersea Research Centre  |    Tel: (+39) 0187 527 381
> > Viale San Bartolomeo 400               |    Fax: (+39) 0187 527 331
> > 19138 La Spezia, ITALY  --> From USA/CANADA, use: APO AE 09613-5000
> >
> >
> > ***PRIVILEGED AND CONFIDENTIAL***
> > The information contained in this e-mail message (including any attached 
files) is intended for the use of the addressee(s) only and is priviliged 
information. The information should neither be posted to the Internet, nor published 
in any other public domain, without the express permission of the sender. If you are 
not the intended recipient(s) or the recipient's representative, you are hereby 
notified that any use, disclosure, copying or distribution of this communication is 
prohibited. If you have received this communication in error please notify us 
immediately at postmaster@xxxxxxxxxxxxxxxxx, and remove this message from your system.
> >
> >
>
> ==============================================================================
> Robb Kambic                                Unidata Program Center
> Software Engineer III                      Univ. Corp for Atmospheric Research
> rkambic@xxxxxxxxxxxxxxxx                   WWW: http://www.unidata.ucar.edu/
> ==============================================================================

--
Dr. Richard P. Signell                 |  signell@xxxxxxxxxxxxxxxxx
NATO/SACLANT Undersea Research Centre  |    Tel: (+39) 0187 527 381
Viale San Bartolomeo 400               |    Fax: (+39) 0187 527 331
19138 La Spezia, ITALY  --> From USA/CANADA, use: APO AE 09613-5000

***PRIVILEGED AND CONFIDENTIAL***
The information contained in this e-mail message (including any attached files) 
is intended for the use of the addressee(s) only and is priviliged information. 
The information should neither be posted to the Internet, nor published in any 
other public domain, without the express permission of the sender. If you are 
not the intended recipient(s) or the recipient's representative, you are hereby 
notified that any use, disclosure, copying or distribution of this 
communication is prohibited. If you have received this communication in error 
please notify us immediately at postmaster@xxxxxxxxxxxxxxxxx, and remove this 
message from your system.



==============================================================================
Robb Kambic                                Unidata Program Center
Software Engineer III                      Univ. Corp for Atmospheric Research
rkambic@xxxxxxxxxxxxxxxx                   WWW: http://www.unidata.ucar.edu/
==============================================================================


  • 2004 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the decoders archives: