This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
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