[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GEMPAK #EQC-587799]: GEMPAK: problems converting my code to use DG,GD 5.9.4 libraries
- Subject: [GEMPAK #EQC-587799]: GEMPAK: problems converting my code to use DG,GD 5.9.4 libraries
- Date: Fri, 10 Nov 2006 16:25:09 -0700
David,
OK. I'll add the pd_ list to uscore.h. NCEP only places those routine
which are actively called in their code, but it will facilitate fortran porting.
Steve
> Steve,
>
> Things are working pretty well in converting other people's code to 5.9.4.
> However, I came across
> : undefined reference to `pd_uvsd_'
> : undefined reference to `pd_sduv_'
> when I just added simple calls to pd_sduv and pd_uvsd to the newgrid.f
> code you sent. Before you release 5.9.4, you'll want to update
> uscore.h for all of the pd_xxxx.c subroutines in order to fix this
> type of underscore error, e.g.
>
> #define pd_sduv pd_sduv_
> #define pd_uvsd pd_uvsd_
> ..etc....
>
> Thanks,
>
> David
> --
> David Ovens e-mail: address@hidden
> Research Meteorologist phone: (206) 685-8108
> Dept of Atm. Sciences plan: Real-time MM5 forecasting for the
> Box 351640 Pacific Northwest
> University of Washington http://www.atmos.washington.edu/mm5rt
> Seattle, WA 98195 Weather Graphics and Loops
> http://www.atmos.washington.edu/~ovens/loops
>
> On Tue, Nov 07, 2006 at 02:50:43PM -0700, Unidata GEMPAK Support wrote:
> > David,
> >
> > Yes, you can still use GD_CREF to create the file. An example you might
> > find useful here is the
> > $NAWIPS/unidata/programs/gdradr/gdradr.f program which does something
> > similar to what
> > you are doing to create the file.
> >
> > After you set the gdfile name with DG_NFIL, you will have to call DG_INXT
> > to initialize the time of your grid calculation prior to calling DG_NREL.
> > This complexity has 2 purposes:
> > 1) enabling time dependent templates to be used
> > 2) allowing grid computations involving different grid navigations
> > (output / reference)
> >
> > I have created an example program (with makefile) in a tarfile:
> >
> > http://www.unidata.ucar.edu/software/gempak/GEMPAK5.9/newgrid_example.tar.gz
> >
> > This program creates a file called new_gempak_fil.gem, then loads some
> > dummy data into urel and vrel grids for conversion to unor and vnor and
> > then writes these north relative grids to the output file.
> >
> > Using gdplot2 with the UNOR and VNOR grids, I did a quick test to output
> > the grids
> > back to relative to ensure that U's were 5 and V's were 10,
> > GDPFUN = vr(vecn(unor,vnor))
> > TYPE = p
> >
> > GDPFUN = ur(vecn(unor,vnor))
> > TYPE = p
> >
> > Let me know if you still have problems,
> >
> > Steve Chiswell
> > Unidata User SUpport
> >
> >
> >
> >
> >
> > > Hello,
> > >
> > > I have been really struggling the past few days in trying to convert
> > > some FORTRAN code I have written (mm5togem) that uses GEMPAK DG and GD
> > > libraries to work with the new 5.9.4 versions. I have found the
> > > migration document
> > > http://www.unidata.ucar.edu/software/gempak/GEMPAK5.9/GEMPAK_Grid_library_upgrade.html
> > > but have not been able to modify my code to work. No matter what I
> > > have done, my call to dg_nrel to convert MM5's grid-relative winds to
> > > north-relative fails with this message:
> > >
> > > [DG -10] Internal grid list is full; simplify function.
> > > dg_nrel iret = -10
> > >
> > > Here are the essentials of what the code did before:
> > >
> > > call ip_init(respond,iret)
> > > call ginitp(1,istat,iret)
> > > c Build navigation block for our new file...
> > > CALL GR_MNAV ( cproj, ihorz-icross, ivert-icross
> > > $ , xlatll, xlonll,
> > > $ xlatur, xlonur, angle1, angle2, angle3, angflg,
> > > + rnvblk, iret )
> > > c Build analysis block
> > > CALL GR_MBAN ( deltan, deltax, deltay,
> > > + gbnds, ebnds, ebnds, anlblk, iret )
> > > c Create the grid file
> > > call gd_cref(outnam,navsz,rnvblk,ianlsz,anlblk,ihdrsz,maxgrd,
> > > & igdfln,iret)
> > > call gr_snav(navsz,rnvblk,iret)
> > > call dg_init(0,rnvblk,'first',iret)
> > > c read some mm5 data....
> > > ......
> > > c convert MM5 grid-relative winds to north-relative
> > > call dg_nrel(unor(:,:,kk),vnor(:,:,kk)
> > > $ ,unor(:,:,kk),vnor(:,:,kk),iret)
> > >
> > >
> > > This always worked great. The migration document seems pretty
> > > confusing as to whether or not I can even used gd_cref anymore. I
> > > know I cannot use dg_init. Here's my best guess at what I should
> > > have:
> > >
> > > c initialize GEMPAK user interface
> > > call ip_init(respond,iret)
> > > call ginitp(1,istat,iret)
> > > c 594 addtions
> > > call dg_intl(iret)
> > > print *,'iret from dg_intl = ',iret
> > > call dg_nfil ( '', outnam, iret)
> > > print *,'iret from dg_nfil = ',iret
> > > c NOTE:
> > > c NOTE: I am getting a -51 return since outnam does not exist yet
> > > c NOTE:
> > > call dgc_flno (' ', igdfln, iret)
> > > print *,'dgc_flno iret = ',iret,' igdfln = ',igdfln
> > > c Build navigation block for our new file...
> > > CALL GR_MNAV ( cproj, ihorz-icross, ivert-icross
> > > $ , xlatll, xlonll,
> > > $ xlatur, xlonur, angle1, angle2, angle3, angflg,
> > > + rnvblk, iret )
> > > c Build analysis block
> > > CALL GR_MBAN ( deltan, deltax, deltay,
> > > + gbnds, ebnds, ebnds, anlblk, iret )
> > > c Create the grid file
> > > call gd_cref(outnam,navsz,rnvblk,ianlsz,anlblk,ihdrsz,maxgrd,
> > > & igdfln,iret)
> > > call gr_snav(navsz,rnvblk,iret)
> > > call dg_nfil ( outnam, outnam, iret)
> > > c
> > > C I have tried using the gd_open command, it has made no difference
> > > c
> > > c call gd_open( outnam, writefile, LLNANL, LLNNAV,
> > > c $ igdfln, anlblk, rnvblk, maxgrd, iret)
> > > c print *,'gd_open for ',outnam,' before nrel '
> > > c $ ,' has iret = ',iret
> > > call dg_nrel(unor(:,:,kk),vnor(:,:,kk)
> > > $ ,unor(:,:,kk),vnor(:,:,kk),iret)
> > > if (iret .ne. 0) then
> > > print *,'dg_nrel iret = ',iret
> > > call bail_out('bad grid to north-relative conversion')
> > > endif
> > >
> > >
> > > The file does get created and the navigation and analysis blocks are
> > > fine, but the dg_nrel failure is fatal for my code. My best guess as
> > > to what is going wrong here is that the DG library is now getting
> > > confused about what file to use. There was no file, it had to be
> > > created, and it is empty. In pre 5.9.4 code, the DG package got all
> > > of its navigation info with the gr_snav and dg_init calls, but now that
> > > information is not getting passed to DG. This is my best guess, but I
> > > don't really find the error
> > >
> > > [DG -10] Internal grid list is full; simplify function.
> > >
> > > to be much help since I do not know what 'grid list' it could be
> > > talking about and since there should be no reason to 'simplify
> > > function' dg_nrel.
> > >
> > > I would vote for adding a few more examples to the migration document
> > > that help people figure out how to replace a dg_init call.
> > >
> > > Any help you can provide would be greatly appreciated.
> > >
> > > Thank you,
> > >
> > > David
> > > --
> > > David Ovens e-mail: address@hidden
> > > Research Meteorologist phone: (206) 685-8108
> > > Dept of Atm. Sciences plan: Real-time MM5 forecasting for the
> > > Box 351640 Pacific Northwest
> > > University of Washington http://www.atmos.washington.edu/mm5rt
> > > Seattle, WA 98195 Weather Graphics and Loops
> > > http://www.atmos.washington.edu/~ovens/loops
> > >
> > >
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: EQC-587799
> > Department: Support GEMPAK
> > Priority: Normal
> > Status: Closed
>
>
Ticket Details
===================
Ticket ID: EQC-587799
Department: Support GEMPAK
Priority: Normal
Status: Closed