Code Monkey home page Code Monkey logo

ncar / lrose-core Goto Github PK

View Code? Open in Web Editor NEW
87.0 22.0 52.0 147.62 MB

Core C/C++ code for LROSE.

Home Page: https://www.eol.ucar.edu/content/lidar-radar-open-software-environment

License: Other

Makefile 2.48% C++ 76.91% MATLAB 0.05% Python 0.76% HTML 0.39% Objective-C 0.01% C 16.05% Shell 0.38% PHP 0.03% OpenEdge ABL 0.01% GAP 0.45% CSS 0.01% JavaScript 0.01% Perl 1.54% Fortran 0.76% NCL 0.01% QMake 0.02% Batchfile 0.01% Java 0.11% Pascal 0.01%

lrose-core's Introduction

lrose-core


LROSE - The Lidar Radar Open Software Environment

LROSE is a co-operative project between:

LROSE is funded by the National Science Foundation.

LROSE CORE REPOSITORY

This GitHub distribution contains the core software for LROSE.

To download this repository from GitHub, run:

  git clone https://github.com/NCAR/lrose-core

RELEASES

The latest release can be found at:

Release Notes
Cyclone LROSE year 2, final
Elle LROSE year 3, final
Topaz LROSE year 4
Jade LROSE outyear

INSTALLING FROM DOWNLOADS

Target Description
LINUX - Centos, Fedora, RHEL Install from .rpm package file
LINUX - Debian, Ubuntu Install from .deb package file
LINUX - Suse Install from .rpm package file
LINUX - Alma Linux Install from .rpm package file
MAC lrose-core Build and install using homebrew
MAC HawkEye Install HawkEye from DMG file
CIDD - LINUX Binary install of CIDD for LINUX

BUILDS

For details on builds and the code development environment, see:

Location Description
Prepare for build Prepare you OS for building LROSE
Build overview Building and code development

REPOSITORY ORGANIZATION

Location Description
docs README files
build build scripts, release scripts and associated files
codebase/libs library source code
codebase/apps application source code
lrose-bootstrap Bootstrap scripts

DOCUMENTATION LINKS

Name Description
LROSE_DOCS_OVERVIEW.md Documentation index
RadxDualPolApps.md Dual-polarization apps

DOIs

The DOI for lrose-core is:

The DOI entry information is stored at:

This page is published at:

https://ncar.github.io/lrose-core

lrose-core's People

Contributors

anotherjohnwong avatar burghart avatar davidalbo avatar garyjg avatar isabels avatar jeffssmith1 avatar karboski avatar katawampus avatar leavesntwigs avatar lrose-ncar avatar marack avatar mike-dixon avatar mjskier avatar nancyrehak avatar shivakrishnavasireddy avatar sjsprecious avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lrose-core's Issues

Cannot install LROSE on linux

I've tried to compile lrose following the guidance in https://github.com/NCAR/lrose-core/blob/master/docs/README_BUILD.md for several times on both osx and linux(ubuntu).
None of the methods (NCAR build system, or automake) works for me. Something is wrong in the following step.

cd $codebaseDir/libs/tdrp/src
make -j 8 opt
make install

There is no rules for generate the makefile inside this directory. Please tell me how can I fix this.
Thank you.

Incorrect RadxConvert Error text

I believe there are some errors in the strings in RadxConvert::_runArchive() that mistakenly reference _runFilelist(), which is confusing when trying to debug. I didn't check to see if this exists in other Radx apps.

checkout_and_build_auto error

Hi

I am trying to build lrose, (specifically titan). I am making use of the auto build file (checkout_and_build_auto.py from lrose build) and the following error spits out:
"
...
considering: /tmp/lrose_build/lrose-core/codebase/apps/trec/src/ptrec.udp
discarding it
considering: /tmp/lrose_build/lrose-core/codebase/apps/trec/Makefile
considering: /tmp/lrose_build/lrose-core/codebase/apps/trec/CVS
discarding it
considering: /tmp/lrose_build/lrose-core/codebase/apps/trec/test
discarding it
considering: /tmp/lrose_build/lrose-core/codebase/apps/trec/.cvsignore
Traceback (most recent call last):
File "./checkout_and_build_auto.py", line 578, in
main()
File "./checkout_and_build_auto.py", line 169, in main
setupAutoconf()
File "./checkout_and_build_auto.py", line 271, in setupAutoconf
"./configure.base.shared")
File "/home/todd/anaconda2/lib/python2.7/shutil.py", line 133, in copy
copyfile(src, dst)
File "/home/todd/anaconda2/lib/python2.7/shutil.py", line 96, in copyfile
with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: '../build/configure.base.shared'
"

I have checked the directory 'build' and there is a file called 'configure.base.shared'

Please help

HawkEye - Help Menu -> How To

The "How To" information in the Help Menu is inconsistent, or doesn't work with regard to the up/down, left/right arrow keys. This information needs to be useful and consistent between platforms or just remove the information.

HawkEye - Help Menu -> Search doesn't work

On OSX, using the the Help Menu -> Search option causes segmentation fault.
Help -> search -> ’s’ -> Set RealTime mode -> set RHI mode -> segmentation fault. <——

HawkEye - Significant Weather Events

Add a new feature to HawkEye so that significant weather events can be labeled and viewed, given a configuration file. The configuration file would contain:
< event label > < start time > < end time >

The event labels would appear in a menu available from the top-level menu bar. With a click of the event label, HawkEye would move the display to the time associated with the event. Somehow, provide the ability to cycle through the events as well.

Add lrose-config binary to provide required compile and link options

Many distributed packages supply <pkgname>-config binaries that will show needed compile-time flags and/or link-time flags. For example, netCDF provides nc-config:

$ nc-config --cflags   # for compile-time flags
-I/usr/include -I/usr/include/hdf
$ nc-config --libs     # for link-time flags
-lnetcdf

It would be nice to have an lrose-config to provide the same for LROSE, especially since the list of required libraries is changing pretty frequently. Having lrose-config would allow for builds which use LROSE to automatically get the correct flags and libraries, even if LROSE is updated and changed.

HawkEye - Time controller window (OSX) segmentation fault.

Move forward “>“ | ✓
Move backward “<” | ✓
Move forward “>>“ | Segmentation fault
Move Backward “<<“ | Segmentation fault
Accept | Segmentation fault The beginning time was 2017/04/08/00:10:00 and I changed it to 2017/04/08/00:00:00 by editing the text box.  Same behavior when I used the up/down dial to change the minutes to zero.
Cancel | ✓
Change beginning date/time | Changed beginning time to > than ending time; Error printed in terminal window; but should there be a message box indicating error? <——
Change ending date/time | After changing the ending time -> Accept, Segmentation fault.

MacOSX binary install problem

I am able to complete the install of the MacOS binary from April (there are no other later mac binary releases I could find) using

(radview) bguy:lrose-20180430.bin.mac_osx $ ./install_bin_release.py --prefix /Users/bguy/software/radar/lrose

However I get the following output message that suggests that buried somewhere there is a hard-coded link for libraries, since you note from above I set a specific prefix.

RadxConvert -f KLBB20180727_160528_V06 
dyld: Library not loaded: /usr/local/lrose/lib/libFiltAlg.0.dylib
  Referenced from: /Users/bguy/software/radar/lrose/bin/RadxConvert
  Reason: image not found

Maybe this is fixed in a later release?

Cannot install LROSE or RADX on OS X (10.12.3)

I initially tried using the homebrew installation path, for both LROSE and the standalone RADX package, which yielded the following:

Dan-Stechman-MacBook-Pro:~ danstechman$ brew install https://github.com/NCAR/lrose-core/releases/download/lrose-20170314/lrose.rb

Error: Calling Formula.sha1 is disabled!
Use Formula.sha256 instead.
/Users/danstechman/Library/Caches/Homebrew/Formula/lrose.rb:9:in `<class:Lrose>'

and

Dan-Stechman-MacBook-Pro:~ danstechman$ brew install https://github.com/NCAR/lrose-core/releases/download/radx-20170315/radx.rb
######################################################################## 100.0%
==> Downloading https://github.com/NCAR/lrose-core/releases/download/radx-20170315/radx-20170315.src.tgz
Already downloaded: /Users/danstechman/Library/Caches/Homebrew/radx-20170315.tgz
==> ./configure --prefix=/usr/local/Cellar/radx/20170315
Last 15 lines from /Users/danstechman/Library/Logs/Homebrew/radx/01.configure:
2017-04-13 17:55:51 -0600

./configure
--disable-dependency-tracking
--prefix=/usr/local/Cellar/radx/20170315


Do not report this issue to Homebrew/brew or Homebrew/core!

Where the complete output from the 01.configure file referenced is given here:
01.configure.txt

Trying to manually build is similarly met with a slew of issues. Given a recent conversation with Mike Dixon, I will refrain from recreating and posting these (unless it would be helpful) as Mike noted he was aware of this problem already.

Time offset for RadxConvert and Radx2Grid

Add an option to RadxConvert and Radx2Grid to add an offset to the times in the data. This will allow for correcting time errors, converting to/from local/utc etc.

HawkEye - Arrow Keys Inconsistent Behaviour

The arrow keys behave differently when running HawkEye on OSX or Linux. With OSX, the arrow keys move among the sweeps. With Linux, the arrow keys move among the field variables, if the last mouse click was in the field variables section.

radx fails to build with hdf5 1.10.1

Hi

I am one of the homebrew-science package managers. We just updated to the latest version of hdf5 (1.10.1). It seems that radx fails to build on Mac and on Linux with that version of hdf5.

Here is the error we are getting:

Gamic/GamicHdf5RadxFile.cc:1067:25: error: cannot initialize a parameter of type 'attr_operator_t' (aka 'void (*)(H5::H5Object &, const basic_string<char, char_traits<char>, allocator<char> >, void *)') with an lvalue of type 'void (H5::H5Location &, const std::string, void *)' (aka 'void (H5::H5Location &, const basic_string<char, char_traits<char>, allocator<char> >, void *)'): type mismatch at 1st parameter ('H5::H5Object &' vs 'H5::H5Location &')
  extended.iterateAttrs(Hdf5Utils::appendAttrNames, NULL, &attrNames);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/H5Object.h:76:42: note: passing argument to parameter 'user_op' here
        int iterateAttrs(attr_operator_t user_op, unsigned* idx = NULL, void* op_data = NULL);
                                         ^
1 error generated.
make[3]: *** [Gamic/GamicHdf5RadxFile.lo] Error 1

Here is the related pull request: https://github.com/Homebrew/homebrew-science/pull/5646.
As you can see I also updated radx to the latest version and adapted the formula, in the hope this would maybe already be fixed. Maybe you could have a look, before we need to revert to an older version of hdf5. Thanks in advance.

ld: cannot find -lNcxx

I'm trying to install the radx-20171016.src release on ubuntu 16.04. I succesfully installed the supplied netcdf in the default directory using build_and_install_netcdf, but it seems ld still cannot find a library called Ncxx. What is this library actually? The build command I used was:

$ LD_LIBRARY_PATH=/usr/local/lrose/lib sudo build/build_auto -p radx -x /usr/local

lrose install Python 3 compatibility for MacOS

I recently installed lrose from binaries, specifically lrose-20180430.bin.mac_osx.tgz. I found that the install_bin_release.py worked with Python 2, but not Python 3. I ported this over to allow installation using Python 2 or 3 and thought it might be of interest for others. I'm not sure where this file exists, so I'll paste here for now. If you would like a PR, point me to the directory where this is stored.

#!/usr/bin/env python

#===========================================================================
#
# Install a binary release
# Should be run from within the untarred directory
#
#===========================================================================

from __future__ import print_function
import os
import sys
import shutil
import subprocess
from optparse import OptionParser
import time
from datetime import datetime
from datetime import date
from datetime import timedelta
import glob
from sys import platform

def main():

    # globals

    global thisScriptName
    thisScriptName = os.path.basename(__file__)

    global options
    global runDir
    global installDir
    global dateStr
    global timeStr
    global debugStr
    global releaseName

    global package
    global version
    global srcRelease

    global ostype

    # parse the command line

    usage = "usage: %prog [options]"
    homeDir = os.environ['HOME']
    prefixDefault = '/usr/local/lrose'

    parser = OptionParser(usage)
    parser.add_option('--debug',
                      dest='debug', default=False,
                      action="store_true",
                      help='Set debugging on')
    parser.add_option('--verbose',
                      dest='verbose', default=False,
                      action="store_true",
                      help='Set verbose debugging on')
    parser.add_option('--prefix',
                      dest='prefix', default=prefixDefault,
                      help='Directory for installation')

    (options, args) = parser.parse_args()

    if (options.verbose):
        options.debug = True
        
    debugStr = " "
    if (options.verbose):
        debugStr = " --verbose "
    elif (options.debug):
        debugStr = " --debug "

    installDir = options.prefix

    # runtime

    now = time.gmtime()
    nowTime = datetime(now.tm_year, now.tm_mon, now.tm_mday,
                       now.tm_hour, now.tm_min, now.tm_sec)
    dateStr = nowTime.strftime("%Y%m%d")
    timeStr = nowTime.strftime("%Y%m%d%H%M%S")
    dateTimeStr = nowTime.strftime("%Y/%m/%d-%H:%M:%S")
    runDir = os.getcwd()

    # read in release info

    readReleaseInfoFile()

    # get the OS type - x86_64, i686, macosx_64
    
    getOsType()

    # let users know what we are doing

    print("****************************************************\n"
          "  Running %s\n"
          "  Installing %s binary release\n"
          "  OS type: %s\n"
          ""
          "  NCAR, Boulder, CO, USA\n"
          ""
          "  %s\n"
          ""
          "****************************************************\n"
          "  dateStr: %s\n"
          "  runDir: %s\n"
          "  installDir: %s\n"
          "  platform: %s\n"
          "  package: %s\n"
          "  version: %s\n"
          "  srcRelease: %s\n"
          "****************************************************"
          %(thisScriptName, package, ostype, dateTimeStr, dateStr,
            runDir, installDir, platform, package, version, srcRelease),
          file=sys.stderr)

    # create the install dir

    if (os.path.isdir(installDir) == False):
        os.makedirs(installDir)

    # do the install
    
    if (os.path.isdir("bin")):
        shellCmd("rsync -av bin " + installDir)

    if (os.path.isdir("lib")):
        shellCmd("rsync -av lib " + installDir)

    if (os.path.isdir("include")):
        shellCmd("rsync -av include " + installDir)

    if (os.path.isdir("share")):
        shellCmd("rsync -av share " + installDir)

    #--------------------------------------------------------------------
    # done
    
    print("  **************************************************")
    print("  *** Done installing binary release ***")
    print("  *** installed in dir: " + installDir + " ***")
    print("  **************************************************")

    sys.exit(0)

########################################################################
# read release information file

def readReleaseInfoFile():

    global package
    global version
    global srcRelease

    package = "unknown"
    version = "unknown"
    srcRelease = "unknown"

    # open info file
    
    releaseInfoPath = "ReleaseInfo.txt"
    if (options.verbose):
 #       print(("==>> reading info file: %s"% releaseInfoPath), file=sys.stderr)
        print("==>> reading info file: " + releaseInfoPath, file=sys.stderr)
        
    info = open(releaseInfoPath, 'r')

    # read in lines

    lines = info.readlines()
    
    # close

    info.close()

    # decode lines

    if (len(lines) < 1):
        print(("ERROR reading info file: %s"% releaseInfoPath), file=sys.stderr)
        print("  No contents", file=sys.stderr)
        sys.exit(1)

    for line in lines:
        line = line.strip()
        toks = line.split(":")
        if (options.verbose):
            print(("  line: %s"% line), file=sys.stderr)
            print(("  toks: %s"% toks), file=sys.stderr)
        if (len(toks) == 2):
            if (toks[0] == "package"):
                package = toks[1]
            if (toks[0] == "version"):
                version = toks[1]
            if (toks[0] == "release"):
                srcRelease = toks[1]
        
    if (options.verbose):
        print("==>> done reading info file: %s"% releaseInfoPath, file=sys.stderr)

########################################################################
# get the OS type

def getOsType():

    global ostype

    if (platform == "darwin"):
        ostype = "mac_osx"
        return

    ostype = "x86_64"
    tmpFile = os.path.join("/tmp", "ostype." + timeStr + ".txt")

    shellCmd("uname -a > " + tmpFile)
    f = open(tmpFile, 'r')
    lines = f.readlines()
    f.close()

    if (len(lines) < 1):
        print("ERROR getting OS type"
              "  'uname -a' call did not succeed", file=sys.stderr)
        sys.exit(1)

    for line in lines:
        line = line.strip()
        if (options.verbose):
            print("  line: %s"% line, file=sys.stderr)
        if (line.find("x86_64") > 0):
            ostype = "x86_64"
        elif (line.find("i686") > 0):
            ostype = "i686"
            
########################################################################
# Run a command in a shell, wait for it to complete

def shellCmd(cmd):

    if (options.debug):
        print("running cmd: %s ....."% cmd, file=sys.stderr)
    
    try:
        retcode = subprocess.check_call(cmd, shell=True)
        if retcode != 0:
            print("Child exited with code: %s"% retcode, file=sys.stderr)
            sys.exit(1)
        else:
            if (options.verbose):
                print("Child returned code: %s"% retcode, file=sys.stderr)
    except OSError as e:
        print("Execution failed: ", e, file=sys.stderr)
        sys.exit(1)

    if (options.debug):
        print(".... done", file=sys.stderr)
    
########################################################################
# Run - entry point

if __name__ == "__main__":
   main()

HawkEye - Save image warning

When saving an image, the warning message: QPixmap::grabWidget is deprecated, use QWidget::grab() instead. The image file is still generated, but it would be good to move away from the deprecated method.

reading of BUFR variable collections together

I am trying to read a volume with variable lengths of data rays, which is common in the Argentinean radar scan strategy. I have tried many options such as -const_ngates to no avail. What is the preferred way to combine these variables into one file?

[vagrant@localhost bin]$ RadxBufr -const_ngates -f /vagrant_data/200.16.116.24/L2/RMA1/2017/10/27/00/5955/RMA1_0123_02_VRAD_20171027T005955Z.BUFR -outdir /vagrant_data/RMA-cf-test
...
ERROR - BufrRadxFile::_accumulateField
Range dimension incompatible, found 484
 expected 650
ERROR - BufrRadxFile::_readFields
  Cannot read in field, path: /vagrant_data/200.16.116.24/L2/RMA1/2017/10/27/00/5955/RMA1_0123_02_WRAD_20171027T005955Z.BUFR
incompatible
ERROR - BufrRadxFile::_accumulateField
Range dimension incompatible, found 629
 expected 650
ERROR - BufrRadxFile::_readFields
  Cannot read in field, path: /vagrant_data/200.16.116.24/L2/RMA1/2017/10/27/00/5955/RMA1_0123_02_KDP_20171027T005955Z.BUFR
incompatible
ERROR - BufrRadxFile::_accumulateField
Range dimension incompatible, found 484
 expected 650
ERROR - BufrRadxFile::_readFields
  Cannot read in field, path: /vagrant_data/200.16.116.24/L2/RMA1/2017/10/27/00/5955/RMA1_0123_02_VRAD_20171027T005955Z.BUFR
incompatible

Incorrect translation of airborne sweepfile to CFRadial

The Radx I/O does not appear to properly recognize the airborne geometry when reading some Dorade sweepfiles. The old way of identifying airborne geometry is a parameter in the Dorade RADD block called 'scan_mode' which was set to 8 for lower fuselage (type X geometry) and 9 for tail radar (type Y geometry). I think the problem might be that in the updated Dorade format documentation the 'radar_type' is designated as the parameter that contains this info. In the P3 data I have the radar_type is 0 and scan_mode is 8 or 9, so my guess is Radx thinks they are ground-based radars.

The following procedure works to fix the tail radar data:

  1. RadxConvert the Dorade file to CFRadial
  2. Manually change the NetCDF header to:
    primary_axis = "axis_y_prime"
  3. RadxConvert the CFRadial file back to Dorade or to a different CFRadial file with these flags:
    -radar_num 2 -apply_georefs -recompute_sweep_angles

If the primary_axis is not changed manually then the RadxConvert flags are not applied during the conversion.

A sample Dorade file from the PECAN project that reproduces this behavior can be obtained here:
http://bell.atmos.colostate.edu/PECAN/swp.1150620074119.N43RF-Ta.404.20.0_AIR_v3503

Radx2Grid radar location

Reported by Huaqing Cai.

I was able to put the radar data at the right location when I used the option of using radar location as the domain center.

I guess there might be something wrong when the domain center is not the radar location, which was the option I used previously.

Thus, I believe there is nothing wrong with the UF file.

For now it worked for me, but you might want to check if there is any bug in your code when radar is not specified as the center of the domain.

Cloned lrose-core at commit e284f9fe387bf41258199d397a9e59d976266bed will not build

Cloned lrose-core at commit e284f9f will not build.

On Fedora 26 w/gcc 7.2.1, lrose-core build fails for these apps due to missing libraries when linking:

  • print_procmap needs -lpthread
  • NetCDF2Spdb needs -leuclid
  • procmap needs -lz
  • procmap_register needs -lpthread -lz
  • procmap_unregister needs -lpthread -lz
  • test_procmap needs -lpthread -lz
  • AcPosnAscii2Spdb needs -leuclid -lrapmath
  • Alenia2Mom needs -leuclid -lrapmath -lpthread
  • ClutterAuto needs -lrapmath
  • ClutterTableGenerate needs -lrapmath
  • EchoTops needs -lrapmath
  • EsdAcIngest needs -leuclid
  • FilterStorms needs -lFmq
  • PrintTitanFiles needs -leuclid -lpthread -lrapmath -ldidss -ltdrp -lMdv -lRadx -lnetcdf -lnetcdf_c++ -lhdf5 -lhdf5_cpp -ldsserver -ludunits2
  • PrintTitanServer needs -leuclid -lrapmath -ltdrp -lMdv -lpthread -lRadx -lnetcdf_c++ -lnetcdf -lhdf5_cpp -lhdf5 -ludunits2

...and more to come tomorrow when I continue the build

MacOS source install error

I tried to install the latest Mac src file lrose-blaze-20180705.src.mac_osx with

python build/build_lrose.py3 --prefix /Users/bguy/software/radar/lrose

and received the following error on install

make: *** [all-recursive] Error 1
make: Target `all' not remade because of errors.
Traceback (most recent call last):
  File "build/build_lrose.py3", line 272, in <module>
    main()
  File "build/build_lrose.py3", line 157, in main
    shellCmd(cmd)
  File "build/build_lrose.py3", line 254, in shellCmd
    retcode = subprocess.check_call(cmd, shell=True)
  File "/Users/bguy/anaconda3/envs/radview/lib/python3.5/subprocess.py", line 271, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'make -k -j 8' returned non-zero exit status 2

Note that I also need to modify L237 as such

        try:
            shellCmd("/usr/local/opt/qt/bin/qmake -o Makefile.qmake");
        except:
            shellCmd("qmake -o Makefile.qmake");

Build Error in Centos 7

Tried to build lrose package in Centos 7 with instructions from README_AUTOMAKE_BUILD.md and received the following error. The

libtool: link: ranlib .libs/libtrmm_rsl.a
libtool: link: ( cd ".libs" && rm -f "libtrmm_rsl.la" && ln -s "../libtrmm_rsl.la" "libtrmm_rsl.la" )
make[2]: Leaving directory /tmp/lrose_build/lrose-core/codebase/libs/trmm_rsl/src' make[2]: Entering directory /tmp/lrose_build/lrose-core/codebase/libs/trmm_rsl'
make[2]: Nothing to be done for all-am'. make[2]: Leaving directory /tmp/lrose_build/lrose-core/codebase/libs/trmm_rsl'
make[1]: Leaving directory /tmp/lrose_build/lrose-core/codebase/libs/trmm_rsl' make[1]: Entering directory /tmp/lrose_build/lrose-core/codebase/libs'
make[1]: Nothing to be done for all-am'. make[1]: Leaving directory /tmp/lrose_build/lrose-core/codebase/libs'
make: *** [all-recursive] Error 1
make: Target `all' not remade because of errors.
Traceback (most recent call last):
File "./build/build_lrose.py", line 269, in
main()
File "./build/build_lrose.py", line 157, in main
shellCmd(cmd)
File "./build/build_lrose.py", line 251, in shellCmd
retcode = subprocess.check_call(cmd, shell=True)
File "/usr/lib64/python2.7/subprocess.py", line 542, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'make -k -j 8' returned non-zero exit status 2
Traceback (most recent call last):
File "./build/checkout_and_build_auto.py", line 574, in
main()
File "./build/checkout_and_build_auto.py", line 190, in main
buildPackage()
File "./build/checkout_and_build_auto.py", line 442, in buildPackage
shellCmd("./build/build_lrose.py " + args)
File "./build/checkout_and_build_auto.py", line 556, in shellCmd
retcode = subprocess.check_call(cmd, shell=True)
File "/usr/lib64/python2.7/subprocess.py", line 542, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command './build/build_lrose.py --prefix /tmp/lrose_build/tmp --package lrose' returned non-zero exit status 1

HawkEye - Blue Shadow.

There is a shadow of blue that remains on the previous radio button in the field variables section of the HawkEye GUI. The only time I don't notice it is when running HawkEye natively on Mac OSX. While running HawkEye natively on rain (displayed on a Mac), and while running the Docker container version of HawkEye on the Mac, I notice the shadow. Here is the test case:

use the ‘.’ key to switch between the last two fields. | ✓ But, there is a shadow of blue that remains on the previous radio button. <—

RadxConvert SIGMET conversion omits/modifies instrument parameters

This is specifically related to the 20160809 version of Radx, though very likely still applies in the more recent builds (untested with current LROSE release due to separate issue).

I am using data from the NOAA P-3 Tail Doppler Radar (TDR) collected during the PECAN field campaign. The raw data files are in the SIGMET Raw format (the TDR was using RVP-8 at the time). In trying to implement a dual-PRF outlier correction, it has become apparent that a number of PRT/PRF instrument parameters are changed/omitted when these files are converted to cfradial or dorade formats (likely other formats as well, though untested). The most notable examples I have found include:

  • prf_flag variable omitted
  • prt_mode changed from "dual" to "fixed"
  • prt_ratio truncated from 1.33333... (4/3) to 1.0

The original SIGMET file and resultant cfradial file can be downloaded from Google Drive here (I was unable to attach them to this issue):
https://drive.google.com/drive/folders/0B3S2dfg0gI7zNUtvV3EwcVVDRE0?usp=sharing
Additionally, I have included an iPython notebook illustrating the differences in these parameters between the two files (leveraging the Py-ART package for reading the raw/cfradial files).

The extra verbose output from RadxConvert is available here:
RadxConvert_sigmet-cfrad_verboseOutput.txt

Please let me know if you need additional information.

HawkEye - Menus not active on startup (OSX)

When I start HawkEye on a Mac, I cannot click on any of the menus until a long period of time has elapsed (I don't know how long), or until I click on another application window, then return to HawkEye. Somehow clicking on another application window, then returning to HawkEye, I can get the menus to be active.

RadxCov2Mom compile issue

I am getting the following error when compiling RadxCov2Mom.cc (using the NCAR build technique, 3/15/17 release)

g++    -DLINUX -D_BSD_TYPES -DF_UNDERSCORE2 -D
_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -g -c  -I/usr/local/netcdf4/include -
I/usr/local/include -I/usr/include/udunits2 -I/home/vagrant/software/include -I
/home/vagrant/software/include -I/usr/include -I/home/vagrant/software/include/
Radx  RadxCov2Mom.cc
RadxCov2Mom.cc: In member function ‘int RadxCov2Mom::_writeVol(RadxVol&)’:
RadxCov2Mom.cc:697:29: error: ‘class RadxRcalib’ has no member named ‘convert2Xml’
         _calibs[ii].radxCal.convert2Xml(calXml);
                             ^

Seems like there is missing information in the header, or the include path is not set correctly?

CIDD 32-bit Compile Error

Changes to the function parameter lists in libs/radar/src/include/radar/RadarMoments.hh do not match the calls in apps/radar/src/SpectraPlot/spectra_plot.cc for the RadarMoments::applyAdaptiveFilter() and RadarMoments::applyRegressionFilter() methods.

build_auto issue

Hi Mike,

I've caught a snag running the auto build script for lrose. lrose-netcdf installed with no problems and the python makefile generator worked fine. I'm running fedora 27 64-bit.

Here's the error below, please let me know what you think.

Cheers,
Joshua

running cmd: /home/meso/dev/lrose-core/codebase/make_bin/createMakefile.am.app.radx.py --dir ./apps/spdb_utils/src/run_PrintSigAirMet --libList Mdv,dataport,didss,dsdata,dsserver,euclid,Fmq,physics,rapformats,rapmath,rapplot,tdrp,toolsa ERROR - createMakefile.am.app.radx.py Cannot find TARGET_FILE in __makefile.template dir: ./apps/spdb_utils/src/run_PrintSigAirMet Traceback (most recent call last): File "./make_bin/createConfigure.am.py", line 475, in <module> main() File "./make_bin/createConfigure.am.py", line 98, in main searchDir(appsDir) File "./make_bin/createConfigure.am.py", line 259, in searchDir searchDir(subdirPath) File "./make_bin/createConfigure.am.py", line 259, in searchDir searchDir(subdirPath) File "./make_bin/createConfigure.am.py", line 259, in searchDir searchDir(subdirPath) File "./make_bin/createConfigure.am.py", line 246, in searchDir runCommand(cmd) File "./make_bin/createConfigure.am.py", line 460, in runCommand retcode = subprocess.check_call(cmd, shell=True) File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '/home/meso/dev/lrose-core/codebase/make_bin/createMakefile.am.app.radx.py --dir ./apps/spdb_utils/src/run_PrintSigAirMet --libList Mdv,dataport,didss,dsdata,dsserver,euclid,Fmq,physics,rapformats,rapmath,rapplot,tdrp,toolsa' returned non-zero exit status 1

RadxConvert: corrupted rays when converting from SIGMET

I have a weird problem with SIGMET (IRIS) raw --> cfradial conversion using RadxConvert. I have scans from 3 C-band radars every 5 minutes that I'm converting. For one of the radars, for the two lowest elevations of every third volume scan (??) I get very weirds patterns in the converted files that don't exist in the original raw data. For every other radar and elevation angle, the there are no such problems.

This is visualized below for DBZ, but similar patterns exists in all fields in the converted cfrad file. In the corrupted rays, the values are not constant but e.g. for DBZ range roughly from -320 to -200 (blue rays in Fig. 2) and -4 to -1 (green).

I had this problem already with an older version of radx. After upgrading to the newest lrose release, the problem still persists. Any ideas how to debug or get around this? Do you suspect there's something wrong with my config (attached below) or is this a bug?

Fig. 1: SIGMET raw DBZ plot using pyart (everything seems to be OK):
van_raw

Fig. 2: Here's what the same field looks like after converting to cfradial (some rays go crazy):
van_cfrad

Here are the conversion parameters used: convert_params.txt

EDIT1: Here is an example of a problematic raw file (same as used in the Fig. 2):
201708120010_VAN.PPI3_A.raw.zip
EDIT2: Here is a corresponding raw file from a non-problematic task:
201708120005_VAN.PPI2_A.raw.zip

RadxBufr path to share hardcoded

[I'm working with Argentinian Radar for the RELAMPAGO project, so I am happy to be a beta tester on the new RadxBufr tool]

I was able to build RadxBufr - works with some issues. I'll report things as I see them. First issue: found that the path to the bufr tables, i.e., ../share/bbufr/tables/bufrtabb_16.csv is hard coded - should be relative to the executable path, correct?

Also, the tables were not included when i cloned from github, but I have them from my Argentinian colleagues...

Files named 'aux' prevent checkout on Windows

The name 'aux' can't be used as a file or folder name in Windows, for historical reasons (it was an MS-DOS device name). It's not possible to do a regular Git checkout on Windows due to the following files:

/codebase/libs/xview/src/imcb/aux.c
/codebase/libs/xview/src/include/xview_private/aux.h

One workaround is to do a sparse checkout.

Examples or usage

Is there a document or site that either contains use examples or discusses the tools installed more fully when lrose-core is installed?

I think this would be especially useful.

Error in Ubuntu 16.04.2 LTS

Hi i downloaded the radx-20170315.x86_64 version bin distro;
after installation this the prompt
/usr/local/radxprint/bin/RadxPrint: symbol lookup error: /usr/local/radxprint/lib/libRadx.so.0: undefined symbol: _ZN2H56H5File6isHdf5ERKSs

Some suggest?
Thanks Alex

Undefined reference to Nc3File and Hdf5xx functions

Hi!

I'm trying to compile lrose from source, I'm following the instructions from README_NCAR_BUILD.md

I've already installed lrose-netcdf following the instructions from README_NETCDF_BUILD.md

When compiling the apps, it fails indicating undefined references to functions in Nc3File:

/home/silencer/lrose-build/lib/libMdv.a(Mdv2NcfTrans.o): In function `Mdv2NcfTrans::_closeNcFile()':
Mdv2NcfTrans.cc:(.text+0x1fe): undefined reference to `Nc3File::close()'
/home/silencer/lrose-build/lib/libMdv.a(Mdv2NcfTrans.o): In function `Mdv2NcfTrans::_openNcFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
Mdv2NcfTrans.cc:(.text+0x3a7): undefined reference to `Nc3File::Nc3File(char const*, Nc3File::FileMode, unsigned long*, unsigned long, Nc3File::FileFormat)'
Mdv2NcfTrans.cc:(.text+0x3b3): undefined reference to `Nc3File::is_valid() const'
Mdv2NcfTrans.cc:(.text+0x5a3): undefined reference to `Nc3Error::Nc3Error(Nc3Error::Behavior)'
/home/silencer/lrose-build/lib/libMdv.a(Mdv2NcfTrans.o): In function `Mdv2NcfTrans::_addGlobalAttributes()':
Mdv2NcfTrans.cc:(.text+0x6f9): undefined reference to `Nc3File::add_att(char const*, char const*)'
Mdv2NcfTrans.cc:(.text+0x748): undefined reference to `Nc3File::add_att(char const*, char const*)'
Mdv2NcfTrans.cc:(.text+0x762): undefined reference to `Nc3File::add_att(char const*, char const*)'
Mdv2NcfTrans.cc:(.text+0x780): undefined reference to `Nc3File::add_att(char const*, char const*)'
Mdv2NcfTrans.cc:(.text+0x827): undefined reference to `Nc3File::add_att(char const*, char const*)'
/home/silencer/lrose-build/lib/libMdv.a(Mdv2NcfTrans.o):Mdv2NcfTrans.cc:(.text+0x84f): more undefined references to `Nc3File::add_att(char const*, char const*)' follow
...

and to Hdf5xx:

/home/silencer/lrose-build/lib/libRadx.a(GamicHdf5RadxFile.o): In function `GamicHdf5RadxFile::_readRootHow(H5::Group&)':
GamicHdf5RadxFile.cc:(.text+0xe7e): undefined reference to `Hdf5xx::DecodedAttr::DecodedAttr()'
GamicHdf5RadxFile.cc:(.text+0xee0): undefined reference to `Hdf5xx::loadAttribute(H5::H5Location&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Hdf5xx::DecodedAttr&)'
GamicHdf5RadxFile.cc:(.text+0xf29): undefined reference to `Hdf5xx::DecodedAttr::getAsDouble()'
GamicHdf5RadxFile.cc:(.text+0xf84): undefined reference to `Hdf5xx::loadAttribute(H5::H5Location&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Hdf5xx::DecodedAttr&)'
GamicHdf5RadxFile.cc:(.text+0xfcd): undefined reference to `Hdf5xx::DecodedAttr::getAsDouble()'
GamicHdf5RadxFile.cc:(.text+0x1028): undefined reference to `Hdf5xx::loadAttribute(H5::H5Location&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Hdf5xx::DecodedAttr&)'
GamicHdf5RadxFile.cc:(.text+0x1069): undefined reference to `Hdf5xx::DecodedAttr::getAsString[abi:cxx11]()'
GamicHdf5RadxFile.cc:(.text+0x114c): undefined reference to `Hdf5xx::loadAttribute(H5::H5Location&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Hdf5xx::DecodedAttr&)'
GamicHdf5RadxFile.cc:(.text+0x118d): undefined reference to `Hdf5xx::DecodedAttr::getAsString[abi:cxx11]()'
...

The compiler seems to be linking to the proper libraries. This log is for when I try to compile Tstorms2GenPoly:

make[1]: Entering directory '/home/silencer/lrose-source/lrose-core/codebase/apps/titan/src/Tstorms2GenPoly'
echo Making C++ program ... ; \
make _CC="gcc" _CPPC="g++" _FC="gfortran" DBUG_OPT_FLAGS="-g" DEBUG_CFLAGS="" DEBUG_LIBS="" DEBUG_LDFLAGS="" SYS_LIBS="" SYS_CFLAGS=" -DLINUX_64 -D_BSD_TYPES -DF_UNDERSCORE2 " Tstorms2GenPoly;
Making C++ program ...
make[2]: Entering directory '/home/silencer/lrose-source/lrose-core/codebase/apps/titan/src/Tstorms2GenPoly'
echo Linking C++ program ...
Linking C++ program ...
LD_LIBRARY_PATH=/home/silencer/lrose-build/lib:::
/bin/rm -f Tstorms2GenPoly
g++ -g -o Tstorms2GenPoly \
                  Params.o Args.o Tstorms2GenPoly.o Main.o    -L/home/silencer/lrose-build/lib -L/home/silencer/lrose-build/lib  -Wl,-rpath,/usr/local/netcdf4/lib -L/opt/netcdf4/lib -L/usr/local/netcdf4/lib -L/usr/local/lib  -Wl,-rpat
h,/usr/local/hdf5/lib -L/opt/hdf5/lib -L/usr/local/hdf5/lib  -Wl,-rpath,/usr/local/szip/lib -L/opt/szip/lib -L/usr/local/szip/lib  -Wl,-rpath,/usr/local/zlib/lib -L/opt/zlib/lib -L/usr/local/zlib/lib  -Wl,-rpath,/usr/local/udunits2/li
b -L/opt/udunits2/lib -L/usr/local/udunits2/lib  -Wl,-rpath,/usr/local/zlib/lib -L/opt/zlib/lib -L/usr/local/zlib/lib -L/usr/lib64  "-Wl,-rpath,/home/silencer/lrose-build/lib" -ldsdata -lMdv -lRadx -lSpdb -ldsserver -ldidss -lrapforma
ts -leuclid -ltoolsa -ldataport -ltdrp -lnetcdf_c++ -lnetcdf -lhdf5_hl_cpp -lhdf5_cpp -lhdf5_hl -lhdf5 -lz -ludunits2 -lbz2 -lexpat -lbz2 -lz -lm  

As you can see, it is searching for libraries in /home/silencer/lrose-build/lib, while printenv shows that
RAP_INST_LIB_DIR=/home/silencer/lrose-build/lib

This folder contains the libraries compiled while following the instructions from README_NETCDF_BUILD.md

Do you know what might be happening? Please let me know if more information is needed.

Thank you!
Rodrigo

HawkEye - Menus differ by platform

The Menus are different on HawkEye when run on Linux versus OSX. On Linux, the menus are: File, Time-control, Overlays, Unfreeze, Show Click, Unzoom, Clear, Help.  On OSX, the menus Unfreeze, Show Click, Unzoom, and Clear are missing and an additional HawkEye menu is present.

HawkEye - Smart Color Scales

Have HawkEye automatically associate a meaningful color scale to a field variable based on the usual field name, or the field units. Add default color scales to HawkEye for "smart" association of field name (or units) to a default color scale.

Currently, HawkEye is dependent on external color scales and the user must specify which color scale to use for each field variable. The association is made in either the parameter file, or by the command line argument "-color_scales".

HawkEye - Time Controller Window Remains Hidden

When clicking in HawkEye main window, the time controller window remains hidden behind windows unrelated to HawkEye. For example, if I have other applications open on my desktop, then I click in the HawkEye main window, all its child windows and dialogs should be in front of all the other applications on the desktop.

HawkEye - desktop icon

Currently, when HawkEye is hidden or closed, the icon is just an xterm icon. It would be nice to have a meaningful graphic for the icon.

RadxBeamBlock C++ error

Hi,

I am trying to build just the Radx package of LROSE, using ./build/checkout_and_build_auto.py --debug --prefix /usr/local/lrose --package radx.

After a couple of minor C++ fixes to array.h and array_utils.h (replacing has_trivial_copy_constructor with is_trivially_copyable), I am getting a C++ error on metadata.cc indicating that I've exceed the limit on template instantiation depth and that I should increase it using -ftemplate-depth=n (where n should be greater than 1024 I presume which is the C++ 11 limit?)

Which script/file should I set the '-ftemplate-depth' flag? Or is there possibly another work-around?

Thanks very much,
Mark

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.