bloons td 5 full free download pcmortal kombat 4 setup download pc windows 10checkpoint vpn windows 10 download 64 bitlenovo settings download for windows 10defiance pc game downloaddownload pinterest for pc windows 10download windows vista business freedownload face recognition software for windows 7 free freecaesar 3 pc game free downloaddownload roblox for windows 10 free download postgresql windows 10 m torrent com free download for windows 7 free nitro pdf reader 2 free download for windows xp free essentials 2012 windows 10 download iobit uninstaller free download for windows 10 32 bit free bingo games download windows 7 free hp laserjet 1536dnf mfp driver windows 10 64 bit download download fusion 360 free for pc cue club game for pc download download game engine for pc free symphony pc suite for windows 8 free download freewindows 2012 server download trial freeadventure games for pc free download full versiondr driving game free download for pcbest adventure games free download for pc full version
-fire-download-pc-windows-10-free-fire-for-pc/ -war-warhammer-2-siege-how-total-war/ -ok.ru/download-wamp-server-for-windows-10-wampserver/ -download-windows-10/ -balls-2-kewlbox-santa-balls-2/
Fortran 77 Download For Windows 7 32bit Os
DOWNLOAD: https://urlca.com/2vAhaO
download microsoft net framework 2.0 windows 10 64 bitfree download google play store for windows 10 pcdigital wave player download windows 10chess titans windows 7 download freesimtower download windows 10 free
3d viewer free download for windows 10download opera mini for pc windows 7 32 bit freedownload driver sweeper windows 10download fortran 77 for windows 10download storage driver for windows 10
bearshare download windows 7 freehp solution center download windows 10 deutschmoto racer game free download for windows xp freedownload code blocks for windows 10battlefield 3 multiplayer download pc free
-converter-chrome-extension-currency/ -download-clash-of-clans-for-pc-windows-10/ -ok.ru/aimp3-download-windows-10-aimp-3-for-pc/ -graphics-drivers-windows-10-64-bit-download/ -unattend-xml-windows-10-answer-files/
download game gta pc windows 7ebay kleinanzeigen download windows 10photoshop free download for pc windows 7action director for pc free downloadbitdefender antivirus free download for pc
merge pdf free download for windows 10youtube app download for pc windows 10 64 bitjava runtime 1.5.0 free download windows freekonica minolta c258 driver download windows 10office suite for pc windows 10 free download
windows media center download failure freegod of war free download for windows 10fps counter download windows 10easier cap driver windows 10 downloadjava download windows 7 ultimate 32 bit free
-scrolls-2-daggerfall-download-windows-10-the/ -stylus-3000-drivers-epson-stylus-color-3000/ -ok.ru/download-windows-10-pro-1511-iso-windows-10-pro/ -download-fences-for-windows-10-how-to/ -ok.ru/download-windows-10-64-bit-full-version-free-2019/
free windows 8 antivirus download free app store for pc windows 10 free download crafting and building pc download free hirens boot cd password reset windows 10 free download download kaun banega crorepati game for pc dragon ball raging blast 2 free download for pc eagle free download for windows 10 usb mass storage device driver windows xp sp2 free download free download windows xp mediacenter free bmw scanner windows 10 download
free vlc download for windows xp freef1 2019 game download pcwindows 7 animated wallpaper gif free download freedownload windows 10 theme for windows 8.1bloodrayne pc game free download full versiondownload pc games torrent without passwordcomputer car racing games for pc free downloadcleanup windows 10 downloaddownload gta 5 for pc windows 10download windows 7 transformation pack for xp free free farm heroes saga pc game free download android repair software free download pc qualcomm atheros bluetooth suite (64) windows 8.1 download free lightroom crack download for windows 10 java 64 bit download windows 10 minecraft matlab download free full version 64 bit windows 10 canon eos utility software windows 10 free download without cd big game hunter download free pc beach volleyball pc game free download jdk 1.7 free download for windows 10 64 bit game for live windows download freefree download ebook reader for windows 10greenshot free download for windows 10 64 bitdownload pc link for windows 10attack on titan wings of freedom pc download free
into the dead free download for windows phone freeadobe premiere 6.5 free download for windows 7 32 bit freeemoji for windows 10 downloadati radeon hd 4200 driver download windows 10 64 bitwindows 8.1 bootable download free
windows 10 download without product key freealoha browser for pc windows 10 downloadbarbie rapunzel game free download pc7 sins game free download full version for pcbatman arkham knight download pc free full game
big city game download for pc cue club game for pc free download bangla ridmik keyboard free download for pc gta 5 download windows 10 pro castle of illusion mickey mouse free download pc full asus ai suite windows 10 download download windows 10 march update best video editing software for windows xp free download free truck games free download full version for windows xp free best pokemon pc game free download
This is an all-encompassing document on:How to download the source code.How to set up your environment to build NCL and NCAR Graphics fromsource code.What external software packages you need, which are optional, andhow to build them.How to build and test NCL and NCAR Graphics.NCL and NCAR Graphics can only be built on UNIX systems.We highly recommend that you install NCL via conda or using aprecompiled NCL binary, rather than attempting a build from sourcecode.If you tried a precompiled binary and ran into problems, you can emailyour problem tothe ncl-installemail list (you must subscribe first).If you decide to go forth with building from source code, good luck!Note on building NCAR Graphics only: you have the option duringthe build process to indicate you do not want to build NCL,effectively building just NCAR Graphics. This simplifies the buildsomewhat, since you can get by with not having to install most, ifany, of the external software packages listed below. If you arealready familiar with building NCAR Graphics from source code, thenall the instructions you know from before are the same. When you run"./Configure", be sure to answer "n" when it asks if you want to buildNCL.Before you start building NCL/NCAR Graphics, look over this documentto see what functionality you want to include. This will help youfigure out what packages you'll need and what options they need to bebuilt with. Check if you already have any of these packages on yoursystem and if they were built with the correct options.Some of the required software libraries may already be on yoursystem. On Linux and Mac systems, you can use a command called"locate" to look for libraries. locate libcairoNCL/NCAR Graphics has been successfully built on 32 and 64 bit Linuxsystems, Macs (32 or 64 bit) running MacOSX, and Windows running32-bit Cygwin.Emailncl-install if you have any problems understanding this documentor building any of this software. We've includeda troubleshooting section for commonproblems encountered when building NCL and/or NCAR Graphics.Note that in the instructions below, "NCL" will sometimes be usedto mean both NCL and NCAR Graphics. If something is for NCAR Graphicsonly, we try to indicate this.Table of ContentsWhat's new in build instructions since lastNCL releaseVisit the Troubleshooting section inadvanceSet up build environment forNCLCompilers needed to build NCLSet environment variablesInstall X11 developer libraries and include filesDownload and buildnon-optional external softwareJPEG (9b)ZLIB (1.2.11)cairo (1.16.0)PNG (1.6.36)pkg-config (0.29.2)FreeType (2.9.1)pixman (0.38.0)NetCDF (4.6.2)szip (2.1.1)HDF-5 (1.10.4)libcurl (7.64.0)HDF-4 (4.2.14)Download and build optionalexternal softwareGRIB2Jasper (1.900.1)g2clib (1.6.0-patch)GDAL/PROJ.4PROJ.4 (5.2.0)GDAL (2.2.4)HDF-EOS 2 (2.20)HDF-EOS 5 (1.16)TriangleUDUNITS-2 (2.2.26)Vis5D+Download the source code for NCLCustomize NCL buildenvironmentTest if your system isrecognized by NCL build environmentGet name of configuration fileModify system configuration fileto change default values (may not be necessary)Build NCL from source codeRun Configure scriptSpecial note for Linux systemsSpecial note for MacOSX systemsSpecial note for Windows systemsStart the build and install processCheck that the installation wassuccessfulSet up your environment to run NCLand/or NCAR GraphicsTest the NCL and/or NCAR GraphicsinstallationTroubleshooting and known problemsAppendix A - Modifying configuration files torecognize your systemModify the "ymake" file to recognizeyour systemSet up a configuration fileExample configuration fileModify machine-dependentroutinesAppendix B - General information on build processConfiguration filesRestarting the installationymakemachine-dependent supportroutines NCL from source codeWhat's new in build instructions since last NCL releaseThe instructions for building haven't changed much since version5.2.1. Here's what's new about the source code instructions sinceversion 6.0.0 of NCL:The graphical display model has been upgraded, and hencebuilding cairo and some supplementalsoftware is no longer optional.TheESMFregridding software in NCL uses an application called"ESMF_RegridWeightGen",which is part ofthe Earth SystemModeling Framework. A serial version of this application isincluded when you download a precompiled NCL binary. If you want tobuild a parallelized version of this application, then see theQuickStart section of the ESMF User Guide.There are experimental calls to OpenMP code in NCL V6.2.0 andhigher; by default the code is compiled with "-fopenmp", but you canremove this option from the appropriate configuration file.Set up build environment for NCLCompilers needed to build NCLTo build NCL, you need a Fortran compiler that can compile bothFortran 77 and 90, an ANSI C compiler, and a C++ compiler. In general,we recommend using the GNU (gcc, gfortran, and g++) compilers, andusing version 7.x or higher. For NCL V6.6.2, NCL was built with the GNU and Intel compilers. In the past wehave successfully used gcc,gfortran,g95,IntelFortran/C, and PortlandGroup. You cannot use g77 as a Fortran compiler.Set up environment variables for external softwareMost of the external software packages that NCL and NCAR Graphicsdepend on are configured using a "configure" script. These "configure"scripts recognize a number of standard environment variables thatallow you to set compilers and compile options.Decide what compilers and compile options you want to use, and thenset the following environment variables as appropriate:Environment variable name DescriptionExampleCC C compilerbash/ksh: export CC=gcccsh/tcsh: setenv CC gccCFLAGS C compile flagsbash/ksh: export CFLAGS='-O -ansi -std=c99 -fopenmp -fPIC' export CFLAGS='-O -m64 -ansi -std=c99 -fopenmp -fPIC'csh/tcsh: setenv CFLAGS '-O -ansi -std=c99 -fopenmp -fPIC' setenv CFLAGS '-O -m64 -std=c99 -ansi -fopenmp -fPIC'FC Fortran compilerbash/ksh: export FC=gfortrancsh/tcsh: setenv FC gfortranFFLAGS Fortran compile flagsbash/ksh: export FFLAGS='-fPIC -fopenmp'csh/tcsh: setenv FFLAGS '-fPIC -fopenmp'F90 Fortran 90 compilerbash/ksh: export FC=gfortrancsh/tcsh: setenv FC gfortranF90FLAGS Fortran 90 compile flagsbash/ksh: export F90FLAGS='-fPIC -fopenmp' export F90FLAGS='-m64 -fPIC -fopenmp'csh/tcsh: setenv F90FLAGS '-fPIC -fopenmp' setenv F90FLAGS '-m64 -fPIC -fopenmp'CXX C++ compilerbash/ksh: export CXX=g++csh/tcsh: setenv CXX g++CXXFLAGS C++ compile flagsbash/ksh: export CXXFLAGS='-O -ansi -std=c99 -fopenmp -fPIC' export CXXFLAGS='-O -m64 -ansi -fopenmp -fPIC'csh/tcsh: setenv CXXFLAGS '-O -ansi -std=c99 -fopenmp -fPIC' setenv CXXFLAGS '-O -m64 -ansi -std=c99 -fopenmp -fPIC'CPPFLAGS preprocessor compile flagsbash/ksh: export CPPFLAGS='-DNDEBUG'csh/tcsh: setenv CXXFLAGS '-DNDEBUG'Install X11 developer libraries and include filesIn order to build some of the X applications that are part of NCL(like idt),you must have some of the X11 developer's libraries installed on yoursystem. At a minimum, you should have the following libraries (andassociated include files) installed on your system: X11, Xaw, Xext,Xm, Xmu, Xt.These libraries are usually installed as part of an X developer'spackage, and will reside in a directory like /usr/lib, /usr/lib64,/usr/X11R6/lib, or /usr/X11R6/lib64.For Linux systems, you can get these libraries using a command likeone of the following: sudo apt-get install x11-dev sudo apt-get install xorg-dev sudo apt-get install libx11-dev yum install libx11-develDownload and build non-optional external softwareThe software listed below is not optional if you plan to build NCL.If you are building NCAR Graphics only, then read the blurb next toeach software package name to see if it is needed.Once you download and install any external software to use withNCL, you must comply with the license of that software, regardless ofwhat NCL's license is.Note: it makes things easier if you install all of the externalsoftware needed (with the exception of the X11 libraries and X11include files) to the same parent directory. This will be importantlater when you have to tell the NCL build system where all theexternal software has been installed.We will use /usr/local in all of our examples below forinstalling external software. You may need to be "root" in order tohave permission to install software to /usr/local. If you don't havethe "root" password, then you may want to use a directory other than/usr/local, like a directory under your home directory.You may not need to install all of this software from source code! Ifyou are on a Linux system, you might be able to use "yum" or "apt-get"to download the desired software. On Macs, you might be able touse MacPorts. Under Cygwin, the"setup.exe" program can be used.Each package is listed below, along with the version we used to buildNCL V6.6.2 on our own systems. In most cases you don't need to havethe exact version of the software we used, but it's a good idea tomatch them as much as possible. We've included the "wget" command weused for the retrieving the source code, where applicable.JPEG (9b) - notneeded if you are only doing an NCAR Graphics build.Download version 9b wget you have the jpeg source code, you can build and install itwith: ./configure --disable-shared --prefix=/usr/local make all installYou may additionally need do this to install the libraries and include files: make install-lib make install-headerszlib (1.2.11) - not optional,but mostly likely already available on your systemDownload version 1.2.11 or later. wget -1.2.11.tar.gz Once you have the zlib source code, you can build and install itwith: ./configure --prefix=/usr/local --static make all installcairo softwareCairo and its supplemental packages may already be on your system(Linux, MacOSX, and Cygwin), so check this before you start buildingthem.You can also install many of these packages on Linux systems using apackage installer like yumapt-get, orYaST,and on a Mac system using MacPorts.The package(s) to install have names like "libcairo-devel","libpixman-devel", etc. It is very likely that once you install"libcairo-devel", the other packages will get installed automatically,so check for this before you install all the packages.PNG library(1.6.36) - requiredDownload version 1.6.x (not 1.4.x or 1.5.x). Version 1.2 will work as well,but we don't recommend this version. wget -1.6.36.tar.gzOnce you have the libpng source code, you can build and install itwith: ./configure --with-pic --disable-shared --prefix=/usr/local make all installpkg-config(0.29) - Download version 0.29 or later. wget -config-0.29.tar.gzOnce you have the pkg-config source code, you can build and install itwith: ./configure --prefix=/usr/local make all installMake sure that the location of pkg-config is on your search path andlibrary path. For example, if you installed pkg-config to"/usr/local", then you also need to do the following:From tcsh or csh: setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig set path=(/usr/local/bin $path)From ksh or bash: export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig export PATH=/usr/local/bin:$PATH[On a Mac, use DYLD_LIBRARY_PATH instead of LD_LIBRARY_PATH.]FreeType(2.9.1) - Download version 2.9 or later. wget -2.9.1.tar.gzOnce you have the FreeType source code, you can build and install itwith: ./configure --prefix=/usr/local --disable-shared make all installpixman(0.38.0) - Download version 0.34.x or later. wget -pixman-0.38.0Once you have the pixman source code, you can build and install itwith:Macs: ./configure --prefix=/usr/local --disable-openmp --disable-arm-iwmmxt \ --disable-dependency-tracking make all installLinux, MacOS, others: ./configure --prefix=/usr/local make all installcairo (1.16.0) -Download version 1.14.12 or later. Older versions have known bugs. wget -1.16.0.tar.xzYou can't build cairo until you have installed FreeType, pixman, andpkg-config.Make sure the "pkg-config" you built is on your search path. For example, if you installed it to /usr/local, then /usr/local/binneeds to be in your search path.From tcsh or csh: setenv PATH /usr/local/bin:$PATH which pkg-configFrom ksh or bash: export PATH=/usr/local/bin:$PATH which pkg-configOnce you have the cairo source code, you can build and install itwith: ./configure --prefix=/usr/local --enable-quartz-font=no --enable-quartz=no \ --enable-shared=no --enable-static=yes make all installNetCDF - donot install if you are only doing an NCAR Graphics build.Downloadversion 4.6.2. Note that NetCDF classic(sometimes referred to as NetCDF-3)and NetCDF-4 are different fileformats. NetCDF software version 4.x supportsboth NetCDF-3 and NetCDF-4 file formats, but as noted below, you mayhave to set some flags in order to get support for both. NetCDF-4files are actually written as HDF5 under the hood.Classic NetCDF-4 is anothersupported format, which looks like NetCDF-3 files to the user, butthey allow for compression for potentially smaller files. ClassicNetCDF-4 files cannot be read by programs that only support NetCDF-3.NetCDF versions 4.1.x and later support OPenDAP, and this is built inby default. NetCDF 4.1.x also includes the UDUNITS-2 software, but thestand-alone UDUNITS-2 library is more up-to-date so we recommend thisover the one that comes withNetCDF. See instructions on building andinstalling UDUNITS-2.This software can be built different ways: with or without "classic"NetCDF-4 support, and with or without OPeNDAP support. ClassicNetCDF-4 support gives you file compression capabilities. FullNetCDF-4 support gives you groups, unlimited dimensions, file compression,and compound structures. OPeNDAP support allows you to read NetCDFfiles served on the web by OPeNDAP servers. We recommend building withat least classic NetCDF-4 support turned on. The instructionsbelow show methods for building classic NetCDF-4 without OPenDAPsupport, and classic NetCDF-4 with OPenDAP support.The NetCDF website has up-to-date intructions for building thissoftware, so we recommend you visit theirGettingand building NetCDF page. In particular, you can look at these two methods for buildingNetCDF:Building netCDF-4 and the Remote Data Client from sourceBuilding netCDF with Classic Library OnlyThe above links include information about where to get the additionalsoftware required. We've provided these links below for convenience:zlib - see instructions above.szip -Download version 2.1 or later. (Click on "External Libraries Used By HDF5".)The szip 2.x software is available from same page where youdownload HDF-5. Use this version, rather than the one on the officialszip page. ./configure --prefix=/usr/local --enable-netcdf-4 --disable-shared make all installHDF-5(1.10.4) - Download version 1.10.x or later. wget -1.10.4.tar.gz ./configure --with-zlib=/usr/local --with-szlib=/usr/local --prefix=/usr/local make all install >& make-outputlibcurl (7.64.0) wget -7.64.0.tar.gzDownload version 7.60.x or later. Once you have the source code, youcan build and install it with: ./configure --prefix=/usr/local --with-zlib=/usr/local --with-pic make all install >& make-outputHDF-4 -(4.2.14) if you want to build NCAR Graphics only, then HDF-4 is optional,unless you need HDF support in ctrans,ictrans,and idt.Download version 4.2.x or later. (HDF version 5.x.y is adifferent software package). wget _Current/src/hdf-4.2.14.tarNote: As of NCL V6.2.0, you no longer need to install the HDFinclude files to a special directory (in older versions youhad to use a special "--includedir" option). Build and install HDF-4 with: ./configure --prefix=/usr/local --with-zlib=/usr/local \ --with-jpeg=/usr/local --disable-netcdf make all installNote: if you are having problems with "make", one user reported thathe used "gmake" instead.The paths used for the "--with-zlib" and "--with-jpeg" options must beset to whatever you used above for these two software packages. Ifyou choose to build HDF-4 with the szip compression library, be sureto add "--with-szip=/usr/local" (or whatever location you used whenbuilding it) to the configuration process.Download and build optional external software, if neededAgain, as with the above section, it makes things easier if youinstall all of the external software needed to the same parentdirectory. We will use /usr/local in all of our examples belowfor installing external software.GRIB2 software - not needed if you are only doing an NCARGraphics build.If you need support for reading GRIB2files, then you will need to download and install the followingpackages. Jasper(1.900.1) - Download version 1.900 or later.Once you have the Jasper source code, you can build and install itwith: ./configure --prefix=/usr/local make all installlibpng - see instructions above.g2clib - normally you would download this softwarefrom ,but there were a few bugs we had to fix. Downloadthe g2clib-1.6.0-patch.tar.gzfile instead. wget -1.6.0-patch.tar.gzOnce you have this modified g2clib source code, make changes to"makefile" to:change the compiler (CC line) and flags (CFLAGS lines)make sure the DEFS line has both "-DUSE_JPEG2000" and "-DUSE_PNG"if on a 64-bit system (x86_64, ia64, etc), make sure the DEFS linealso has "-D__64BIT__" (that's two underscores before and after)add the appropriate location of the Jasper/libpng include files to the"INC" lineNow type: make all mv libgrib2c.a /usr/local/lib cp grib2.h /usr/local/includeGDAL/PROJ.4 software - not needed if you are only doing an NCARGraphics build.If you need support for reading shapefile, mapinfo, TIGER, etc, fileformats, then you will need to download and install the followingtwo packages.PROJ.4 (5.2.0) -Cartographic Projections Library - Download version 5.x or later. wget -5.2.0.tar.gzOnce you have the PROJ.4 source code, you can build and install itwith: ./configure --prefix=/usr/local --enable-static=yes --enable-shared=no make all installGDAL (2.2.4) - Geospatial DataAbstraction Library - Download version 2.2.x or later. wget -2.2.4.tar.gzImportant note about GDAL: this software contains its ownversions of the GRIB2 library (g2clib) and the HDF4/HDF5libraries. It's important that you do NOT compile these versions ofthe libraries, but rather the ones as instructed elsewhere on thispage. To turn off the build of these libraries inside of the GDALsoftware requires including several "--without-xxxx" options: ./configure --with-static-proj4=/usr/local --prefix=/usr/local --without-pam --with-png=/usr/local --with-gif=internal --with-libtiff=internal --with-geotiff=internal --with-jpeg=/usr/local --with-libz=/usr/local --with-sqlite3=no --with-expat=no --with-curl=no --without-ld-shared --with-hdf4=no --with-hdf5=no --with-pg=no --without-grib --disable-shared --with-freexl=no --with-geos=no --with-openjpeg=no --with-mysql=no --with-ecw=no --with-fgdb=no --with-odbc=no --with-xml2=no --with-ogdi=no --with-pcraster=no --with-xerces=no make all installHDF-EOS 2 software - not needed if you are only doing an NCARGraphics build. wget _release/HDF-EOS2.20v1.00.tar.ZIf you need support forreading HDF-EOS2 files, then you will need to download and install the followingpackages:HDF-EOS2 (2.20) - Download version 2.20 or later.Once you have the HDF-EOS 2 source code, you can build and install itwith: ./configure CC=/usr/local/bin/h4cc --with-hdf4=/usr/local --with-zlib=/usr/local --with-jpeg=/usr/local --prefix=/usr/localHDF-EOS 5 software - not needed if you are only doing an NCARGraphics build. wget _release/HDF-EOS5.1.16.tar.Z If you need support forreading HDF-EOS5 files, then you will need to download and install the followingpackages:szip - see instructions above.HDF5 - see instructions above.HDF-EOS5 (1.16) - Download version 1.16 or later.Once you have the HDF-EOS 5 source code, you can build and install itwith: ./configure CC=/usr/local/bin/h5cc --with-hdf5=/usr/local --with-zlib=/usr/local --with-szlib=/usr/local --prefix=/usr/local make all installNote that if you have settings in your CFLAGS, you can include theseby enclosing them with '': ./configure CC=/usr/local/bin/h5cc --with-hdf5=/usr/local --with-zlib=/usr/local --with-szlib=/usr/local --prefix=/usr/local make all installYou may also have to hand-copy two include files: cp include/HE5_GctpFunc.h include/HE5_HdfEosDef.h /usr/local/include/.Triangle software - not needed if you are only doing an NCARGraphics build.If you need to use the Triangle code(for generating triangularmeshes that you can contour), then you will need to download thesource code, and copy overonly the files "triangle.c" and "triangle.h" to the$NCL/ni/src/lib/hlu directory in the NCL source tree (you may not havedownloaded the NCL source code yet, so wait until you get to this partto copy over the two files).Note that Triangle has a more restrictive license than NCL's licensewhich disallows you from selling any source code or product thatcontains Triangle. If you build NCL with Triangle included, you willbe bound by Triangle's license.UDUNITS-2 (2.2.26) - not needed if you are only doing an NCAR Graphicsbuild.Downloadthe Udunits2.x (not 1.x!) source code. wget -2.2.26.tar.gz If you need the conversion functions ut_calendarand ut_inv_calendar,then you need to install UDUNITS-2.Once you have the source code, you can build and install it with: setenv PERL "" # export PERL="" ./configure --prefix=/usr/local make all install >& make-outputSetting the PERL environment variable to an empty string preventsthe perl interface from being built, which is not needed for NCL.Vis5D+ software (1.3.0-beta) - not needed if you are only doingan NCAR Graphics build.If you need to use any of the v5d_xxx functions (see the "V"section of the NCL function list), then you need to install Vis5d+.Download the vis5d+ sourcecode. We used 1.3.0-beta. Once you have the source code, you canbuild and install it with: ./configure --prefix=/usr/local --with-netcdf=/usr/local/lib/libnetcdf.a make all install >& make-outputDownload the source code for NCLAccessing, downloading, and/or using NCL implies acceptance of NCLsource code license, which is based on the OSI ApacheLicense, Version 2.0 license.You have two options for downloading the NCL source code:Download the source code from GitHub.Downloadthe gzippedtar file from the ClimateData Gateway.Depending on the download method you used, you may end up with acompressed tar file ("ncl_ncarg-6.6.2.tar.gz"), a tar file("ncl_ncarg-6.6.2.tar"), or a directory tree with the files alreadyextracted. The file name may be slightly different than what's usedin the examples below.If it's a compressed file or a tar file, then move the file to atemporary directory where you have plenty of disk space (around 850megabytes to hold all of the source code, object files, binaries, andso on). Then, uncompress and untar the file as follows: tar -zxvf ncl_ncarg-6.6.2.tar.gzor tar -xvf ncl_ncarg-6.6.2.tarThe above steps will create a directory called "ncl_ncarg-6.6.2". Forconvenience, we'll use the notation $NCARG to mean the top level ofthe NCL/NCAR Graphics source tree. Set the environment variable NCARGto the full path of this directory.For example, if you untarred the files from the directory/usr/local/src, then you would do one of the following:From tcsh or csh: setenv NCARG /usr/local/src/ncl_ncarg-6.6.2From ksh or bash: export NCARG=/usr/local/src/ncl_ncarg-6.6.2sh: NCARG=/usr/local/src/ncl_ncarg-6.6.2 export NCARGBe sure to see the troubleshootingsection below for any known problems or tips.Customize NCL build environmentTest if your system is recognized by NCL build environmentBefore you try to build NCL, you need to quickly check if your systemwill be recognized by the NCL build environment. Type: cd $NCARG/config make -f Makefile.ini ./ymake -config `pwd`(Note that the ticks around "pwd" are back ticks.)If no output is echoed to the screen, then this means your system isrecognized by the NCL build environment. Go to the very next section, "Get name of configuration file."If, however, you get a message:ymake: system unknownthen go to Appendix A for information onmodifying some files in the $NCARG/config directory so they recognizeyour system. Then you can come back to this section.Get name of configuration fileIf no output is echoed to the screen from the "ymake" command in theprevious section, then this most likely means that the NCL buildenvironment recognizes your system. Just to be certain, you can checkthe name of the configuration file that the NCL build is going to useby typing (in the same directory): grep SYSTEM_INCLUDE MakefileThis should echo something like:SYSTEM_INCLUDE = "Darwin"which means "Darwin" is the name of the configuration file it willuse in the $NCARG/config directory.Modify system configuration file to change default valuesNow that you have the name of the configuration file that's going tobe used in the "$NCARG/config" directory, you may need to edit thisfile and make changes to it. The "README" in the same directory has adescription of some available configuration files that you can copyfrom.When modifying your configuration file, pay particular attention tohow the following macros are being set:CCompilerThe C compilerFCompilerThe Fortran compilerCcOptionsC compiler options (besides the optimize flag)FcOptionsFortran compiler options (besides the optimize flag)COptimizeFlagC optimize flag(s) (the default is "-O")FOptimizeFlagFortran optimize flag(s) (the default is "-O")ExtraSysLibrariesExtra system libraries that might be needed to getexecutables to linkCtoFLibrariesExtra Fortran libraries that might be needed to getexecutables to link ("-lgfortran" is one example, if youare using the gfortran Fortran compiler)NgCallFThe macro for handling how Fortran routine names arenamed in the library.and change or add them as desired.If you don't see these macros being defined in your systemconfiguration file, then that means that the default value, which isdefined in the $NCARG/config/Template file, is being used. To changethe default, just add it to your system configuration file with thenew value.For example, on LINUX systems, the default C and Fortran compilers are"gcc" and "gfortran". If you want to change this to "icc" and "ifort",then modify the file $NCARG/config/LINUX, and add the line:#define CCompiler icc#define FCompiler ifortalong with the other macro definitions.Build NCL from source codeIn order to build NCL from source, you must have a Fortran compilerthat can compile both Fortran 77 and 90 code, and an ANSI Ccompiler. Here are the general steps for building NCL from source:Run Configure scriptStart the build and install processCheck that the installation wassuccessfulSet up your environment to use NCLTest the NCL and/or NCAR GraphicsinstallationRun Configure scriptBefore you build and install NCL, you need to run a script called"Configure" to answer several questions about where you wantthe software installed, what optional software you want to include,and the location of the optional software.Enter the following commands to run this script: cd $NCARG ./Configure -vIf Configure doesn't recognize your system, it will quit rightaway with an error message. Otherwise, it will start asking youseveral questions.If it quits with an error message that indicates it doesn't recognizeyour system, then read and follow the instructions in the section onTest if your system is recognized bythe NCL build environment before running Configure again.If Configure does recognize your system, then answer all of thequestions about where you want the software installed, whether youwant support for HDF4-EOS, HDF5-EOS, cairo, etc, and so on.One of the final questions is to list the paths to your locallibraries and include files. It's important to include the paths tothe external software you want support for, like cairo, HDF-EOS5,GRIB2, etc.Be sure to include the path to the freetype include files, which willbe in a directory like "/usr/local/include/freetype2".Once you have finished running Configure, you should get a messageindicating that the configuration process is complete, and that youcan start building and installing the software.First verify that you have the correct compilers, options, and pathsby typing: make InfoIf everything looks okay, then you can skip the next few sections andgo directly to "Start the build andinstall process."If the installation paths look wrong, then rerun Configure and reenterthe installation paths. If something else looks wrong, like the name of the compilers or thecompiler options listed, then go back to the section "Modify system configuration file tochange default values", or read the next few sections onnotes for specific systems.Special note for Linux systemsThe default configuration file for Linux is "LINUX". You need toedit this file for i386, i686, x86_64, and ia64 systems. Thereare several LINUX.xxxx sample configuration filesto help you modify this file for your purpose. Also, see the "README" file in the "config" directory for more information.If you are using the "gcc" and "gfortran" compilers to build NCL, thenyou will need to include something like:#define CtoFLibraries -lgfortranin the $NCARG/config/LINUX file. You may also need to indicatethe path to the gfortran library with the -L option:#define CtoFLibraries -L/usr/local/lib -lgfortran"/usr/local/lib" is just an example. You will need to find"libgfortran.so" or "libgfortran.a" on your system and use this path.If you are using "gcc" and "g95" to compile NCL, then you need to dothe same thing, except use "-lf95" in place of "-lgfortran".Ditto for if you are using the Intel compilers "icc" and "ifort", you may need "-lifcore".Special note for MacOSX systemsThe default file for an Intel MacOSX system is "Darwin_Intel". If"uname -m" reports "i386" or "x86_64" on your system, then this is thefile you want to modify.The default configuration file for a PPC MacOSX system is "Darwin". If"uname -m" reports "Power Macintosh", then this is the file you wantto modify.There are are other Darwin.xxxx and Darwin_Intel.xxxxsample configuration files. You can use any one of theseto help you modify Darwin or Darwin_Intel for your purpose.If you have an Intel Mac running MacOS 10.6 or later, then your Mac isprobably 64-bit, and you need to copy the "Darwin_Intel.64" file to"Darwin_Intel" and modify it as necessary.To build NCL on an MacOSX system, you must first install a fewsupplemental packages:MacOSX Developer Tools (Xcode) This is usually available on one of the installer CDs that came withyour Mac. Or, if you have a "/Developers/Tools" directory, cd to thatdirectory and search for a PDF file that will contain instructions onhow to install the Developer's Tools.If you don't have the directory or the CD, you can get this softwarefrom the (You may need to create an account with them first.) Once youare logged in, click on "Download Software", and then "Mac OS X". Youshould then see a link for downloading the Developer's Tools.MacPortsMacPorts supplies a programcalled "port", which is a highly useful application for easilydownloading software for Macs. (See next section on howto install gfortran.)GNU fortran compiler (gfortran)If you don't have a Fortran compiler, then you can tryusing the MacPorts command "port" to get one. Type something like: port install gfortranIf this fails, you can use the "list" command to see whatgfortran packages are available: port list gfortranIf "port" doesn't work, then you can download and install precompiledMacOSX compilers from the HPCwebsite,the gcc/gfortranbinaries wiki or the g95website.X11 serverAn X11 server will enable you to display NCL graphicaloutput to your screen. We recommend that you use Apple's X11server, which should already be installed on your Mac,or may be available on one of your installation CDs.NCL will build on a MacOSX system using the GNU compilers.It may build using different compilers, but we've onlylately used gcc and gfortran.Be sure to see the "Running NCL underMacOSX" document for more notes.Special note for Windows systemsBefore you can build any software on a Windows system running Cygwin,you need to install a number of software packages via the "setup-x86.exe"X/Cygwin program. See the "Installing NCL underWindows/Cygwin/X" page for a full description of what you need and how to download it.Start the build and install processOnce you've run "Configure", and "make Info" gives you the correctinformation, you can initiate the build and install process bytyping: cd $NCARG make Everything >& make-output &Be patient; this can take from thirty minutes to a few hours dependingon your machine and its current load. During the installation, you mayexamine the contents of the make-output file with the command: tail -f make-outputIf you encounter errors during the build process, you can restartwithout losing any of the work already accomplished. Refer to thesection "Restarting theinstallation" for details about recovering from errors that occurduring installation. Check that the installation was successfulTo test that your build of NCL was successful, test the list of filesinstalled on your system againstthe masterlist of NCL/NCAR Graphics files. If you just built and installedNCAR Graphics, then check your files againstthis smaller list of NCAR Graphicsfiles.If it looks like not all the files were installed, then take a look atthe make-output file, and check for words like "fatal" or"error". Don't worry too much about warnings, unless they are followedby errors.If you find an error, try to determine the nature of the error, makeany necessary adjustments, and either start the build from scratchor from where it left off.If the nature of the error appears to be something like an option notbeing included on every compile line, then you need to change thesystem configuration file in $NCARG/config, add the necessaryoption(s), and restart the build from scratch (using a differentoutput file): cd $NCARG make Everything >& make-output.2If the nature of the error is such that you just need to tweak aparticular file or Makefile somewhere in the NCL/NCARG Graphics sourcetree, then cd to the problem directory, make the change, and then typethe following to recompile the local change (to make sure your changewas successful) and start the build from where it left off: make me make includes depend all install cd $NCARG make all install >>& make-outputSee Appendix B for more information onediting configuration files and restarting the installation.Set up your environment to use NCL and/or NCAR GraphicsOnce the build process is complete, you need to do the followingbefore you can start using NCL or NCAR Graphics:Set the environment variable NCARG_ROOT to the parent directory ofwhere you installed everything.Make sure "$NCARG_ROOT/bin" is on your search path.Make sure "$NCARG_ROOT/man" is on your man path.Copy a .hluresfileto your home directory (NCL only).Here's an example (using csh) that assumes you installedeverything to the parent directory /usr/local: setenv NCARG_ROOT /usr/local setenv PATH $NCARG_ROOT/bin:$PATH setenv MANPATH $NCARG_ROOT/man:$MANPATHHere's an example for bash or ksh: export NCARG_ROOT=/usr/local export PATH=$NCARG_ROOT/bin:$PATH export MANPATH=$NCARG_ROOT/man:$MANPATHTest the NCL and/or NCAR Graphics installationYou can quickly test if NCL is installed properly by typing "ncl" withthe "-V" option to get the version, and then running a quick program: ncl -V ng4ex gsun01nThe ng4ex command will copy an NCL script calledgsun01n.ncl into your current working directory, and run itwith NCL. An X11 window should pop up with an XY plot drawn on it.Click on this plot with your left mouse button to keep advancing tothe next frame.Once this file is in your directory, you can also run it yourselfwith: ncl gsun01n.nclIf "ncl" seems to be working, then this indicates that your buildof NCAR Graphics was at least mostly successful, since NCL dependson the NCAR Graphics libraries.To test NCAR Graphics only, there's an extensive suite of examplesavailable. You should refer to the NCAR GraphicsFundamentals. It will show you how to run examples and testprograms, and how to view the resulting graphics. Using thencargex and ctrans programs is the easiest way to testthe installation and become familiar with the use of NCAR Graphics.For a quick test, try the following: ncargex cpex08 ctrans -d X11 cpex08.ncgmThe first command will copy a file called cpex08.f into yourcurrent working directory, compile, link, and execute it, and create agraphics file called cpex08.ncgm. The second command willdisplay the graphic on an X11 window on your screen. You must haveyour DISPLAY environment variable set correctly for this command towork. Left-click on the X11 window to make the graphic go away.Troubleshooting and known problemsThis section is for people trying to build NCL/NCAR Graphics fromsource code. Many of these instructions apply to older versions of thesource code, and may not be needed for versions 5.1.x and higher.We've had problems building some of the supplemental code (thefontcaps, for one) for NCL using the Intel icc/ifort compilers, andhad to use gcc/gfortran instead.If you still want to try the icc/ifort compilers, and "icc" can't findthe "ifcore" library, then you may need to include a "-L" option thatincludes the path to this library in your configuration file in$NCARG/config.For example, if you are on a LINUX system and "libifcore.a.so" isin /opt/intel/fc/10.1.013/lib, then edit $NCARG/config/LINUX andchange the CtoFLibraries line to have:#define CtoFLibraries -lm -L/opt/intel/fc/10.1.013/lib -lifcoreIf you get the following errors when building the code in the$NCARG/ni/src/ncl directory:cp lex.yy.c scanner.cgcc -ansi -g -I../../.././include -I/Users/fredclare/include -I/Users/fredclare/include/hdf -I/usr/X11R6/include -I/sw/include -I/usr/X11R6/include/X11 -DDarwin -DMAJOR=9 -DSYSV -D_POSIX_SOURCE -D_XOPEN_SOURCE -DByteSwapped -DNeedFuncProto -c -o scanner.o scanner.clex.yy.c: In function Qyy_get_next_bufferR:lex.yy.c:2099: error: Qyy_current_bufferR undeclared (first use in thisfunction)lex.yy.c:2099: error: (Each undeclared identifier is reported only oncelex.yy.c:2099: error: for each function it appears in.)make: *** [scanner.o] Error 1then your problem may be with flex. You can try our version offlex. Downloadthe flex.tar.gzfile, and then do the following to build a new flex: gzcat flex.tar.gz tar -xf - cd flex-2.5.3 ./configureThis should create a "flex" executable. Move this executable tosomewhere that's on your search path already (like maybe$NCARG_ROOT/bin). Make sure that you are getting this flex and notthe system one by typing: rehash which flexA user reported that he had trouble compiling flex with "gcc -O2", butthat it worked with the Intel "icc" compiler, using "icc -O0 -g". Hedidn't try "gcc -O0", which you may want to try if flex is coredumping.Now, you can test if the "ncl" executable will build: cd $NCARG/ni/src/ncl make clean includes depend all installIf the file "ncl" builds, then you can start your build from where itleft off with: cd $NCARG make all install >>& make-output &Of course, you can send the output from "make" to whatever file youlike.If you get the following errors when you tryto compile a Fortran or C NCAR Graphics program: /usr/local/ncarg/lib/libncarg_gks.a(gziqwk.o): In function `gziqwk_': gziqwk.f:(.text+0x187): undefined reference to `ggkwdr_' /usr/local/ncarg/lib/libncarg_gks.a(gztowk.o): In function `gztowk_': gztowk.f:(.text+0x295): undefined reference to `ggkwdr_' gztowk.f:(.text+0x7d7): undefined reference to `ggkwdr_' gztowk.f:(.text+0xc30): undefined reference to `ggkwdr_'then try this: cd $NCARG/ncarg2d/src/libncarg_gks rm awi/ggkwdr_stub.o make all installIf you are seeing errors in your compilation that mention"conflicting types for wchar_t", then add: -D__UNIXOS2__(those are two double underscores on the front and the end)to the "StdDefines" line in your configuration file in $NCARG/config(most likely the LINUX or one of the Darwin files in that directory),and rerun "make Everything".Appendix A - Modify configuration files to recognize your systemYou only need to read this section if $NCARG/ymake did not recognizeyour system. (We'll refer to this as an unsupported system.) Ifthe Configure script recognized your system, then skip to the section"Modify system configuration file tochange default values".The three steps you'll need to follow before building NCL onan unsupported system are:Modify the "ymake" file to recognize your system.Set up a configuration file.Modify machine-dependentroutines (if necessary).Once you've completed these three steps, then you need to run theConfigure script again as described in the "Run Configure script" section.1. Modify the "ymake" file to recognize your systemFor the first step, modify the file $NCARG/config/ymake and goto the lines that read: # Figure out what kind of system we are on. We need to know the OS # and the machine architecture.Notice that the UNIX command "uname" is used to determine thearchitecture type and operating system name. Once you figure out whatthe various options that uname reports on your system, add yourmachine architecture and operating system names to the case statementsthat follow in the same manner as the other systems are done. You alsoneed to come up with a name for your configuration file. This is thevalue you'll give to the "sysincs" variable. An example will be provided below afterstep 2.2. Set up a configuration fileFor the second step, cd to $NCARG/config and prepare a configurationfile for your system that has the same name you used for the "sysincs"variable in the ymake file. Use one of the existing configurationfiles as a foundation (for example, "Sun4Solaris"). You will noticeseveral macros being defined in the configuration file. You only needto define a macro if you want it to be something different than whatis defined in the "Template" file. The Template file is where all thedefault values are set. For example, the default Fortran compiler isset to "f77" in the Template file. If your Fortran compiler is called"gfortran", then you would add the following line to your configurationfile: #define FCompiler gfortranTo see what other macros are available and what the default values areset to, see the Template file. In particular, you may need to changethe following macros: CCompiler FCompiler ExtraSysLibraries CcOptions FcOptions NgCallFExample on how to modify ymake file and set up configuration fileAs an example for the first two steps, suppose you are trying to builda configuration file for a Koblinsky Systems Inc. SlothStation runningChaOS version 5.4. Assume that the command "uname -s" returns "ChaOS"and that "uname -m" returns "Sloth999". Modify the file$NCARG/config/ymake and add: case ChaOS:right after the first occurrence of the statement: switch ("$foo")You should now see something like: switch ("$foo") case ChaOS: case SunOS: case AIX: ...Then, after the first occurrence of the statement: switch("$opsys")add the lines: case ChaOS: set os = $opsys set arch = $mach set sysincs = Sloth set vendor = Koblinsky breakswand after the second occurrence add: case ChaOS:where appropriate to get the correct major and minor operating systemversion numbers defined.Let's further assume that this system is similar to a Sun workstationrunning Solaris, so use the Sun4Solaris configuration file as afoundation: cd $NCARG/config cp Sun4Solaris SlothThe file name "Sloth" is used because this is the value we gaveto the "sysincs" variable above. Make any obvious changes to the file"Sloth". As mentioned above, you may need to change the followingmacros: CCompiler FCompiler ExtraSysLibraries CcOptions FcOptions NgCallFOf particular note is the "NgCallF" macro. First, a little background:the NCL code is predominantly Fortran code, but the Fortrancode relies on a number of C support routines. Since not all systemssupport the same calling conventions (for example, some systemsrequire an underscore after a Fortran routine name, while othersrequire the name to be in uppercase), the installation system isprogrammed to apply the macro "NgCallF" to all Fortran-called Ccode.The default value of this macro handles the case where an underscoreis appended after the Fortran routine name, so you won't need todefine this macro if this is the behavior of your compiler. If, however,your compiler does not append an underscore (the IBM xlf/xlf90 compilersare two such examples), then you need to set this macro as follows: NgCallF regIf your compiler converts the Fortran routine name to uppercase (thisis the case with old Cray and the Absoft ProFortran compilers),then you need to set the macro to: NgCallF caps3. Modify machine-dependent routinesThere are some machine dependent routines that you may need to modifyto indicate things like the standard input/output units, the number ofbits per integer, the smallest positive magnitude, and so on. All ofthese machine-dependent requirements have been isolated in severalsubroutines and it may be necessary to modify these subroutines beforebuilding the software.The routines in question are: GBYTES ISHIFT G01MIO I1MACH IAND R1MACH IOR SBYTESThese routines are referred to as "low-level support routines" in theremainder of this section. Complete functional descriptions for theseroutines appear in the section "Machine-dependent supportroutines". Examples of implementations of all of these subroutinesexcept G01MIO are given in the directory:$NCARG/common/src/libncarg_cA Fortran implementation of the support routine G01MIO is contained inthe directory:$NCARG/ncarg2d/src/libncarg_gks/bwiG01MIO is the basic I/O routine for NCAR's GKS package, and it is notused anywhere else but in that package.The subroutines in the above two directories are examples only. Theseexamples may help you, and some may actually run on your machine, butcare must be taken to ensure that the implemented routines satisfy thefunctional descriptions as given in the "Machine-dependent supportroutines" section. Some of the examples given are coded in C.There is source code for creating an executable for testingimplementations of the low-level routines in the directory:$NCARG/ncarg2d/src/bin/impltestThe source in this directory may require changes only whenmoving to a machine with a word size other than 32 or 64.This directory contains a program called "tlocal" that can beused to test the implementations of IOR, IAND, ISHIFT, GBYTES, andSBYTES. Read the prologue documentation in the code for tlocalfor implementation instructions. Success or failure messages will beissued to Fortran unit 6. There are no tests for I1MACH and R1MACH,but the success of the tlocal test depends on properimplementation of I1MACH and R1MACH. Constants for I1MACH and R1MACHfor a large number of computers appear in the comment cards of I1MACHand R1MACH. If constants for your host computer appear there, simplyuncomment the appropriate cards for your implementation of I1MACH andR1MACH. Otherwise be very careful to implement I1MACH and R1MACHcorrectly since there is no test for them. The support routine G01MIOis used only by NCAR's GKS package, and no test for it is provided intlocal.Since many of the low-level support routines are executed frequentlythroughout the package, efficient versions are desirable. There areportable Fortran versions of GBYTES and SBYTES in the directory:$NCARG/common/src/libncarg_cbut they run very slowly. GBYTES and SBYTES are used primarily in theNCGM translator; machine-language versions of these routines couldgreatly speed up the translator. Machine-language versions of IAND,IOR, and ISHIFT are also desirable.Appendix B - General information on build processThis section contains general information on building NCLthat you may find useful. It includes information on:configuration fileshow to restart theinstallation if it bombsthe ymake systemmachine-dependent supportroutinesConfiguration filesConfiguration files contain make macros. At installation time, thesemacros are used by ymake to construct all of the Makefiles forbuilding NCL and NCAR Graphics. Any change you make in yourconfiguration file will cause a change in your Makefile(s), if you runsomething like "make Everything", "make Makefiles", or "make me" toregenerate the Makefile(s). Refer to the "ymake"section for more information.Configuration files reside in the directory $NCARG/config. They havenames like "LINUX" and "Darwin_Intel" to indicate the machine on whichthey operate. For example, If you are on any kind of system runningLINUX, you should make changes to the file $NCARG/config/LINUX. Seethe "README" file in this directory for more information about thevarious configuration files.A few of the macros are quite likely to change from system to system,but most are not. The Configure script allows the installer tomake some of these minor changes to the configuration file withoutediting it. You must be running csh in order to runConfigure.Restarting the installationThe standard build process is initiated by telling make to build the"Everything" target, which results in a series of actions. First, ahierarchy of Makefiles is constructed, based on your systemconfiguration. Next, all old object code is removed, dependencies arecreated, and then compilation, the most time-consuming step,begins. Finally, libraries and executables are built and theninstalled. This can take from thirty minutes to a few hours. If youencounter an error along the way, it is very important that you avoidwasting the work that has already been done. There are other targetsbesides "Everything". The following targets may be used to gracefullyrestart the installation process: Everything = (Makefiles, clean, all, install) All = (Makefiles, all, install) all = (compile and build libraries) install = (move objects to destinations) clean = (remove object files, core dumps, etc.)If a compilation fails halfway through the install process and youhave already created the Makefiles, cleaned out old object code, andcompiled a large number of files, you may first correct the problem andthen restart the install process.To correct the problem, you need to first look carefully at the errormessage in the make-output file. By looking at the last several linesof the make-output file, you should be able to determine whichdirectory the make stopped in. For example, let's say see thefollowing in your make-output file:...Making ./ncarview/src/lib/libncarg_rascc -Xc -O -I../../../.././include -I/usr/openwin/include -I/usr/dt/include -DBuildRasterHDF -DSUN -DBuildRasterHPPCL -DBuildRasterNrif -DBuildRasterSun -DBuildRasterXWD -DBuildRasterAVS -DBuildRasterSGI -DBuildRasterAbekas -DBuildRasterBinary -DBuildRasterYUV -DNGTMPDIR='"tmp"' -Dsun4 -DSUN -DSYSV -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D__EXTENSIONS__ -DNeedFuncProto -c raster.ccc -Xc -O -I../../../.././include -I/usr/openwin/include -I/usr/dt/include -DBuildRasterHDF -DSUN -DBuildRasterHPPCL -DBuildRasterNrif -DBuildRasterSun -DBuildRasterXWD -DBuildRasterAVS -DBuildRasterSGI -DBuildRasterAbekas -DBuildRasterBinary -DBuildRasterYUV -DNGTMPDIR='"tmp"' -Dsun4 -DSUN -DSYSV -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D__EXTENSIONS__ -DNeedFuncProto -c hdf.c"hdf.c", line 44: cannot find include file: "hdf.c", line 45: cannot find include file: "hdf.c", line 192: cannot recover from previous errorscc: acomp failed for hdf.c*** Error code 2make: Fatal error: Command failed for target `hdf.o'You can see from the: Making ./ncarview/src/lib/libncarg_rasline that the make bombed in the directory"ncarview/src/lib/libncarg_ras". The error message here indicates thatit can't find the HDF include files. To fix this problem, then, youwould need to do one of three things:Install HDF on your system (see the section "Download the source code or binaries for HDF"),and then also follow step #2.If HDF is already installed on your system, run "Configure" andinclude the paths to HDF when it asks for local library andinclude directory search paths.Run "Configure" and answer no to the question: "Build HDFsupport into raster library?".In most cases, the fix just involves modifying source files andrecompiling. If this is the case, then after you fix the sourcefile(s), you can restart the install process by typing: cd $NCARG make all install >& make-output &In our example above with the HDF software, the fix involved somethingthat would affect the Makefiles. In this case, then, you need toregenerate the Makefiles. To do this, type: cd $NCARG make All >& make-output &ymakeA utility named "ymake" is used by this package to generate theMakefile hierarchy.A file named yMakefile exists in each directory and isconverted to a regular Makefile using the C preprocessor and acollection of general and system-specific macros. The ymakesystem resides in $NCARG/config. This allows the redundantinformation in each Makefile to be isolated, in addition toproviding Makefile conditionals. The C preprocessor knows whatsystem it is running on. (The same technique is being employed inother systems, including MIT's X Window System.) If you need tochange a Makefile, implement the changes in theyMakefile and then type: make meIf you completely destroy a Makefile, you can usually recoverby typing:$NCARG/config/ymkmfThere is more information about ymake in the ymake manpage which resides in the directory $NCARG/config.Machine-dependent support routinesFollowing are functional descriptions of the requiredlocally-implemented support routines. A test suite is distributed forthis package so that an implementor may verify that theimplementations are correct. The routine G01MIO is needed only if theNCAR GKS package is being implemented.FUNCTION I1MACH(I)This function is used to set up 16 machine constants.I1MACH(1) = the standard input unitI1MACH(2) = the standard output unitI1MACH(3) = the standard punch unitI1MACH(4) = the standard error message unitI1MACH(5) = the number of bits per integer storage unitI1MACH(6) = the number of characters per integer storage unitAssume that integers are represented in the S-digit, base-A form:SIGN*(X(S-1)*A**(S-1)+...+X(1)*A+X(0))in which 0 .LT. X(I) .LT. A for I=0,...,S-1.I1MACH(7) = A, the baseI1MACH(8) = S, the number of base-A digitsI1MACH(9) = A**S-1, the largest magnitudeAssume that floating-point numbers are represented in the T-digit,base-B form:SIGN*(B**E)*((X(1)/B+...+(X(T)/B**T))in which 0 .LT. X(1), and EMIN .LE. E .LE. EMAX.I1MACH(10) = B, the baseSingle-precision constantsI1MACH(11) = T, the number of base-B digitsI1MACH(12) = EMIN, the smallest exponent EI1MACH(13) = EMAX, the largest exponent EDouble-precision constantsI1MACH(14) = T, the number of base-B digitsI1MACH(15) = EMIN, the smallest exponent EI1MACH(16) = EMAX, the largest exponent EFUNCTION R1MACH(I)This function sets five single-precision machine constants:R1MACH(1) = B**(EMIN-1), the smallest positive magnitudeR1MACH(2) = B**EMAX*(1-B**(-T)), the largest magnitudeR1MACH(3) = B**(-T), the smallest relative spacingR1MACH(4) = B**(1-T), the largest relative spacingR1MACH(5) = LOG10(B)FUNCTION ISHIFT(IWORD,N)IWORD is shifted by N bits. If N > 0, a left circular shift isperformed (all bits are shifted left N bits, and the bits that areshifted out of the word to the left are shifted back into the word atthe right). If N FUNCTION IAND(K1,K2)The bit-by-bit logical product of K1 and K2. If K3 = IAND(K1,K2), thenthe nth bit of K3 is 0 if the nth bit of either K1 or K2 is 0;otherwise the nth bit of K3 is 1. FUNCTION IOR(K1,K2) The bit-by-bitlogical sum of K1 and K2. If K3 = IOR(K1,K2), then the nth bit of K3is 0 if and only if the nth bit of both K1 and K2 is 0.SUBROUTINE G01MIO(IOP,IUNIT,FNAME,IBUFF,LENGTH,IERROR)This output routine is the central one for the metafile generator. AFortran implementation of this subroutine is in the directory:$NCARG/ncarg2d/src/libncarg_gks/bwiInput argumentsIOPIndicates type of operation desired: IOP = 1 means OPEN workstation for output on IABS(IUNIT). IOP = 2 means CLOSE workstation for output on IABS(IUNIT). IOP = 3 means write IBUF to IABS(IUNIT). IOP = 4 means read IABS(IUNIT) into IBUF. IOP = 5 means position the record pointer to the beginning of the file. IOP = 6 means position the record pointer to the beginning of the previous record.IUNITIABS(IUNIT) is the Fortran logical unit number on which IOP is to occur. FNAMEThe filename to be used for the open operation. IBUFFBuffer containing data for a read or write operation.LENGTHLength of data in IBUFF, in integer words.Output argumentsIERRORError indicator that equals 0 if no errors.SUBROUTINE GBYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER)This subroutine is used to unpack bit chunks from NPACK into the ISAMarray. A portable Fortran version of this routine is distributed, butthe Fortran version is inefficient and should be replaced with a moreefficient implementation.NPACKAddress of first word of the array to be unpacked. For thepurposes of this subroutine, NPACK is viewed as a bit stream.ISAMArray to receive the unpacked bit chunks. They will be rightjustified with zero-fill in this array. ISAM should be dimensioned forITER.IBITA bit-count offset to be used before the first bit chunk isunpacked. For example, if IBIT=3, and NBITS=5, then 3 bits in NPACKwill be skipped and the next 5 bits will be unpacked into ISAM(1).NBITSThe number of bits in each bit chunk to be unpacked. An errorcondition occurs if NBITS is larger than the number of bits-per-wordon the machine.NSKIPThe number of bits to skip between each bit chunk to beunpacked. Bits are skipped only after the first bit chunk has beenunpacked.ITERThe number of bit chunks to be unpacked.For example: CALL GBYTES(NPB,ISB,3,6,9,2)In this call, three bits would be skipped at the beginning of NPB; thenext six bits would be unpacked into ISB(1) and right-justified withzero-fill; nine bits would be skipped in NPB, and then the next sixbits of NPB would be unpacked into ISB(2) and right-justified withzero-fill.SUBROUTINE SBYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER)This subroutine is the reverse of GBYTES as described above.NPACK-Address of first word of array to be packed. ISAM-Array to bepacked into NPACK. The rightmost NBITS bits of each word will bepacked. ISAM should be dimensioned for at least ITER. IBIT-Abit-count offset to be used before the first bits are packed intoNPACK.For example, if IBIT=3, and NBITS=5, 3 bits in NPACK will be skippedbefore the rightmost 5 bits of ISAM(1) are packed into it. NBITS-Thenumber of bits in each word of ISAM to be unpacked. An error conditionoccurs if NBITS exceeds the word size on the machine. NSKIP-Thenumber of bits to skip between each bit chunk packed. ITER-The numberof bit chunks to be packed.For example: CALL SBYTES(NPC,ISB,45,6,3,2)In this call, 45 bits would be skipped at the beginning of NPC; therightmost 6 bits of ISB(1) would be packed into NPC; 3 bits would beskipped in NPC, and the rightmost 6 bits of ISB(2) would be packedinto NPC. 2ff7e9595c
Comments