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.
Steve, > OK, we got readgeneral.F to compile by reinstalling udunits, changing > a directive to a different format, > and using f77 and linking to several libraries like so but see new > errors below: > > Here's what we had to do to get it working with SUN Fortran - main > trick was changing the syntax of > the directive as noted. > > I reinstalled udunits to /usr/local so /usr/local/udunits no longer > exists. And no need to change the udunits.inc file as it works > now. I changed your readgeneral-cdrgsun.F program to the proper > udunits location and #include preprocessing command. Just FYI, the "readgeneral" program isn't mine: it's from somewhere in UCAR (I'm with the Unidata program, which is outside of NCAR). The way "readgeneral" uses my UDUNITS package isn't very portable, so I get a lot of questions about it. > I also created a > readgeneral-cdrgsun.job which has the proper library links to compile > the program (I didn’t add an output file, but you can if needed). It > needs to reference both the netcdf, netcdff, and ludunits libraries. > And the file extension has to be a capital F to compile > thepreprocessing parts correctly. > > See link > http://www.unidata.ucar.edu/support/help/MailArchives/udunits/msg00511.html > as to why need #define and #include c version instead of define and > include fortran version. > > Fortran-77 doesn't have a standard "include" mechanism. The file > "udunits.inc" > > is, therefore, designed to be included by the C preprocessor and not > by any > > Fortran compiler. The file "udunits.f" contains the following > > include '/usr/local/unidata/include/udunits.inc' > > Change this to > > #include "/usr/local/unidata/include/udunits.inc" > > > Lynne > > Now I have modified readgeneral.F for a new data set. It compiles > fine but > when I run it I get this error message: > > ncattinq: ncid 65536; varid 2; attname "units": NetCDF: Attribute not > found > > And here is the dump of the data set. Can you help? How can "units" > be > wrong? > Thanks > Steve > > > $ ncdump -h pdsisc.monthly.maps.1850-2010.fawc=1.r2.5x2.5.ipe=2.nc > netcdf pdsisc.monthly.maps.1850-2010.fawc\=1.r2.5x2.5.ipe\=2 { > dimensions: > time = UNLIMITED ; // (1932 currently) > lat = 55 ; > lon = 144 ; > variables: > float lat(lat) ; > lat:long_name = "latitute in degrees, negative for > the Southern Hemisphere" ; > float lon(lon) ; > lon:long_name = "longitude in degrees, negative for > the Western Hemisphere" ; > float time(time) ; ... The second variable is the "lon" variable. It doesn't have a "units" attribute, so that's why the program failed. > time:long_name = "time in years for mid-point of the > month" ; > time:_FillValue = -99999.f ; > float sc_PDSI_pm(time, lat, lon) ; > sc_PDSI_pm:scale = 1.f ; > sc_PDSI_pm:long_name = "Monthly Self-calibrated > Palmer Drought Severity Index using Penman-Monteith PE" ; > sc_PDSI_pm:missing_value = -99999.f ; > sc_PDSI_pm:_FillValue = -99999.f ; > > // global attributes: > :creation_time = "Wed Oct 26 10:25:40 MDT 2011" ; > :Conventions = "NCAR" ; > :source_file = "tmp2/pdsisc.monthly.maps. > 1850-2010.fawc=1.r2.5x2.5.ipe=2" ; > :description = "\n", > "Monthly Self-calibrated Palmer Drought > Severity Index (scPDSI) \n", > "calculated using observed surface air > temperature (HadCRUT3 from \n", > "http://www.cru.uea.ac.uk/cru/data/ > temperature/ ) and \n", > "precipitation (from Dai et al. (1997, > J.Clim: for 1870-1947) + \n", > "Chen et al. (2002, J. Hydromet.: for > 1948-1978 + GPCP v2.2 for \n", > "1979-present. The Dai and Chen P data were > adjusted to have the \n", > "same mean as the GPCP data over the > 1979-1996 period). \n", > "Calibration (or reference) period is > 1950-1979. Documention: \n", > "Dai, A., 2011a: Characteristics and trends > in various forms of the \n", > "Palmer Drought Severity Index (PDSI) during > 1900-2008. J. Geophys. \n", > "Res., 116, D12115, doi: > 10.1029/2010JD015541.\t\t\t \n", > "Dai, A., K. E. Trenberth, and T. Qian, 2004: > A global data set of \n", > "Palmer Drought Severity Index for 1870-2002: > Relationship with soil\n", > "moisture and effects of surface warming. J. > Hydrometeorology, 5, \n", > "1117-1130. Data source: Dr. A. Dai/NCAR (address@hidden > ). See \n", > "http://www.cgd.ucar.edu/cas/catalog/climind/pdsi.html > for updates. \n", > "WARNING: PDSI and scPDSI over the higher > latitudes (e.g., >50deg.) \n", > "may not be a good proxy of soil moisutre > content. Also, PDSI and \n", > "scPDSI are highly autocorrelated indices not > good at resolving \n", > "sub-seasonal variations. Please use with > caution! " ; > > Dr. Stephen C. Piper > Scripps CO2 Program > Scripps Institution of Oceanography > La Jolla, CA 92093-0244 > tel: 858-534-3991 > fax: 858-534-8814 Regards, Steve Emmerson Ticket Details =================== Ticket ID: FLZ-896534 Department: Support UDUNITS Priority: Normal Status: Closed