GithubHelp home page GithubHelp logo

llondon6 / nrutils_dev Goto Github PK

View Code? Open in Web Editor NEW
9.0 6.0 4.0 295.39 MB

Python API for low-level analysis of NR data: Psi4, strain, modeling, lal+pycbc interface when appropriate

License: MIT License

Python 1.02% Jupyter Notebook 98.74% Mathematica 0.24% Shell 0.01%
gravitational-waves numerical-methods numerical-relativity sxs gatech bam rit ligo lal

nrutils_dev's People

Contributors

cyberface avatar ezhamilton avatar galadirith avatar llondon6 avatar thompsonphys avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

nrutils_dev's Issues

Inconsistent Spin in dynamics

this.J = this.L+this.S

Potential inconsistency in calculating J using the orbital angular momentum and spin information at different times. I couldn't see the spin data being updated in the attributes of the gwylm object prior to J being computed here with the new values of L.

Top level import Error

A basic import of the nrutils module fails to import the internal packages defined in the init.py

For example:

[jclark@taranis] $ python -c "import nrutils"
The highest level init for nrutils is located at: /home/jclark/.local/lib/python2.7/site-packages/nrutils-1.0-py2.7.egg/nrutils/__init__.pyc

>> Initiating nrutils ...

>> Sub-Packages to be imported:
   -> 
   -> 
   -> 
   -> 
>> Please note style conventions:                  
   * lower case function/method/variable names                  
   * no underscore in names unless there are repeated letters, or counfounded syllables                  
   * information is implicitely in time domain unless explicitely stated.                  
   * frequency domain information will start with "fd".

nrutils:

  .: 
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/jclark/.local/lib/python2.7/site-packages/nrutils-1.0-py2.7.egg/nrutils/__init__.py", line 83, in <module>
    exec r'import %s' % p
  File "<string>", line 1
    import 
          ^
SyntaxError: invalid syntax

I think I found a error in the meta data of one of the BAM runs

I think this particular case has some bug with it's metadata or something. When I try to get the an instance of gwylm of this particular case I get a strange error.

case10=scsearch(keyword='/Users/sebastian/phd/mounts/hogshead_mount/NR_data/ReducedData-hogshead/dirac-nr-followup/q1.2_dcp2dphi1/')

gw_case10 = gwylm( scentry_obj = case10, lm=[2,2], dt=0.4, verbose=False )

traceback below.

any ideas?

(gwylm)>> Found clean (=False) keyword.
(gwylm)>> Found dt (=0.4) keyword.
(gwylm)>> Found lm (=[2, 2]) keyword.
(gwylm)>> Found load (=True) keyword.
(gwylm)>> Found scentry_obj (=<nrutils.core.nrsc.scentry instance at 0x108a54758>) keyword.
(gwylm)>> Found verbose (=False) keyword.
(**) Waveform not uniform in time-step. Interpolation will be applied.
(**) Warning: No dt given to gwf(). We will assume that the input waveform array is in geometric units, and that dt = 0.294408 will more than suffice.
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-162-862f5ec8352a> in <module>()
----> 1 gw_case10 = gwylm( scentry_obj = case10, lm=[2,2], dt=0.4, verbose=False )

/Users/sebastian/projects/phenEOB/env/lib/python2.7/site-packages/nrutils-1.0-py2.7.egg/nrutils/core/nrsc.pyc in __init__(this, scentry_obj, lm, lmax, dt, load, clean, extraction_parameter, verbose)
   1285 
   1286         # Load the waveform data
-> 1287         if load==True: this.__load__(lmax=lmax,lm=lm)
   1288 
   1289         # Characterize the waveform's start and store related information to this.starting

/Users/sebastian/projects/phenEOB/env/lib/python2.7/site-packages/nrutils-1.0-py2.7.egg/nrutils/core/nrsc.pyc in __load__(this, lmax, lm, extraction_parameter, dt, verbose)
   1362             else: # Else, if lm is a single mode index
   1363                 #
-> 1364                 this.load(lm=lm,extraction_parameter=extraction_parameter,dt=dt)
   1365 
   1366     # load the waveform data

/Users/sebastian/projects/phenEOB/env/lib/python2.7/site-packages/nrutils-1.0-py2.7.egg/nrutils/core/nrsc.pyc in load(this, lm, file_location, dt, extraction_parameter, output, verbose)
   1441                       extraction_parameter=extraction_parameter,
   1442                       dt=dt,
-> 1443                       kind='psi4')
   1444 
   1445             # ---------------------------------------------------- #

/Users/sebastian/projects/phenEOB/env/lib/python2.7/site-packages/nrutils-1.0-py2.7.egg/nrutils/core/nrsc.pyc in __init__(this, wfarr, dt, ref_scentry, l, m, extraction_parameter, kind, friend, verbose)
    739         # use the raw waveform data to define all fields
    740         this.wfarr = wfarr
--> 741         this.setfields(wfarr=wfarr,dt=dt)
    742 
    743         # If desired, Copy fields from related gwf object.

/Users/sebastian/projects/phenEOB/env/lib/python2.7/site-packages/nrutils-1.0-py2.7.egg/nrutils/core/nrsc.pyc in setfields(this, wfarr, dt)
    846 
    847         phi_    = unwrap( angle( this.y ) )                         # Phase: NOTE, here we make the phase constant where the amplitude is zero
--> 848         k = find( (this.amp > 0) * (this.amp<max(this.amp)) )[0]
    849         phi_[0:k] = phi_[k]
    850         this.phi = phi_

IndexError: index 0 is out of bounds for axis 0 with size 0

SXS server update

SXS have changed the format used to save their hdf5 files on their main server. The sxsdltool will need to be updated. (note to self)

confing ini files 'catalog_dir' needs to end in slash

In catalogue ini files the filed ' catalog_dir ' is a path such as

catalog_dir = /Users/sebastian/phd/mounts/hogshead_mount/NR_data/ReducedData-hogshead/dirac-nr-followup/

If if doesn't end in a slash then I think you get an error.

Just a not here for me to fix it later

sxs.template broken

ValueError: (!!) Error -- config file at /Users/sebastian/work/git/nrutils_dev/nrutils/config/sxs.ini does NOT contain required field is_rscaled

in minion.template

it has

is_rscaled=0

What should it be for sxs?

issue with importing /data

----> 2 import nrutils as nr
3 from matplotlib import rc
4 rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
5 rc('text', usetex=True)

/usr/local/lib/python2.7/site-packages/nrutils/init.py in ()
91 for p in internal_packages:
92 if verbose: print ' .%s: ' % p
---> 93 exec r'import %s' % p
94 # exec 'from %s import *' % p
95

in ()

/usr/local/lib/python2.7/site-packages/nrutils/data/init.py in ()
59 if len(internal_packages) == 0:
60 msg = '(!!) Unable to automatically find internal packages. Please report this bug to the developers. (https://github.com/llondon6/nrutils_dev/tree/master/nrutils)'
---> 61 raise ValueError(msg)
62
63 # Store package settings (useful directories etc) to a settings field

ValueError: (!!) Unable to automatically find internal packages. Please report this bug to the developers. (https://github.com/llondon6/nrutils_dev/tree/master/nrutils)

Unable to import after nrutils install with pip

This appears to happen after a fresh pip install:

In [1]: import nrutils

>> Initiating nrutils.
>> Please note style conventions:                  
   * lower case function/method/variable names                  
   * no underscore in names unless there are repeated letters, or counfounded syllables                  
   * information is implicitely in time domain unless explicitely stated.                  
   * frequency domain information will start with "fd".

nrutils:

  .: 
  File "<string>", line 1
    import
           ^
SyntaxError: invalid syntax

I'm working on it.

nrutils_dev package not working with ipython notebooks

Hey guys,

I'm trying to use nrutils_dev with ipython notebooks.

Just try the following commands in an ipython notebook

from nrutils.core.nrsc import *
A = scsearch(keyword="base",unique=True,verbose=True)
y = gwylm( scentry_obj = A[0], lm=[2,2], dt=0.4, verbose=True )

I get the following output :(

(gwylm)>> Found clean (=False) keyword.
(gwylm)>> Found dt (=0.4) keyword.
(gwylm)>> Found lm (=[2, 2]) keyword.
(gwylm)>> Found load (=True) keyword.
(gwylm)>> Found scentry_obj (=<nrutils.core.nrsc.scentry instance at 0x10d0781b8>) keyword.
(gwylm)>> Found verbose (=True) keyword.
(load)>> Loading: psi3col.r5.l5.l2.m2.gz
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-15-9453ca2f6cbe> in <module>()
      1 # Convert a single simulation into a waveform object with desired multipoles
----> 2 y = gwylm( scentry_obj = A[0], lm=[2,2], dt=0.4, verbose=True )

/Users/sebastian/git/nrutils_dev/nrutils/core/nrsc.pyc in __init__(this, scentry_obj, lm, lmax, extraction_parameter, dt, load, clean, verbose)
   1278 
   1279         # Load the waveform data
-> 1280         if load==True: this.__load__(lmax=lmax,lm=lm)
   1281 
   1282         # Characterize the waveform's start and store related information to this.starting

/Users/sebastian/git/nrutils_dev/nrutils/core/nrsc.pyc in __load__(this, lmax, lm)
   1349             else: # Else, if lm is a single mode index
   1350                 #
-> 1351                 this.load(lm=lm)
   1352 
   1353     # load the waveform data

/Users/sebastian/git/nrutils_dev/nrutils/core/nrsc.pyc in load(this, lm, file_location, dt, output)
   1420             # Enforce internal sign convention for Psi4 multipoles
   1421             msk_ = y_.amp > 0.01*max(y_.amp)
-> 1422             external_sign_convention = mode( sign( y_.dphi[msk_] ) ).mode[0]
   1423             if M_RELATIVE_SIGN_CONVENTION != external_sign_convention:
   1424                 wfarr[:,2] = -wfarr[:,2]

AttributeError: 'tuple' object has no attribute 'mode'

scbuild failing for me - any ideas?

I'm just trying to get my setup ready to do some work on the train tomorrow. I am up to date with the current master but when I try to build a catalogue it fails :(

(overwatch) SebastiansMBP2:nrutils_dev sebastian$ ipython
Python 2.7.6 (default, Sep  9 2014, 15:04:36)
Type "copyright", "credits" or "license" for more information.

IPython 5.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: from nrutils.core.nrsc import *
The highest level init for nrutils is located at: /Users/sebastian/git/nrutils_dev/nrutils/__init__.pyc

>> Initiating nrutils ...

>> Sub-Packages to be imported:
   -> core
   -> manipulate
   -> tools
>> Please note style conventions:
   * lower case function/method/variable names
   * no underscore in names unless there are repeated letters, or counfounded syllables
   * information is implicitely in time domain unless explicitely stated.
   * frequency domain information will start with "fd".

nrutils:

  .core:
      .basics*
      .basics
      .nrsc
  .manipulate:
      .bundlers
  .tools:
    .unit:
      .conversion


In [2]: scbuild()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-10b07758f881> in <module>()
----> 1 scbuild()

/Users/sebastian/git/nrutils_dev/nrutils/core/nrsc.pyc in scbuild(save)
    307
    308     # Create config objects from list of config files
--> 309     configs = [ scconfig( config_path ) for config_path in cpath_list ]
    310
    311     # For earch config

/Users/sebastian/git/nrutils_dev/nrutils/core/nrsc.pyc in __init__(this, config_file_location)
     27         # call wrapper for constructor
     28         this.config_file_location = config_file_location
---> 29         this.reconfig()
     30
     31     # The actual constructor: this will be called within utility functions so that scentry objects are configured with local settings.

/Users/sebastian/git/nrutils_dev/nrutils/core/nrsc.pyc in reconfig(this)
     41
     42         # validate the information learned from the configuration file against minimal standards
---> 43         this.valid = this.validate()
     44
     45         # In some cases, it is useful to have this function return this

/Users/sebastian/git/nrutils_dev/nrutils/core/nrsc.pyc in validate(this)
    108             if 'dir' in attr:
    109                 if this.__dict__[attr][-1] != '/':
--> 110                     this.__dict__[attr][-1] += '/'
    111         # Make sure that user symbols (~) are expanded
    112         for attr in this.__dict__:

TypeError: 'str' object does not support item assignment

calculation of location of max amp via argmax needs to be improved

For some of the higher modes the current method of shifting the time series by the peak amplitude doesn't work and is indeed wrong I think when dealing with multiple modes.

Currently in the gwf class the time domain data is shifted by the location of the peak amplitude to line it up at zero.

This doesn't work when the junk radiation is larger that the peak at merger and I think this is actually the wrong way to treat this problem. The time delay between the peaks of different modes should be preserved and so we should shift them by the time-shift applied to the 22 mode.

We will have to think how to incorporate this in... maybe when multiple modes are requested they are shifted with respect to the 22 mode....

NameError: global name 'upbow' is not defined

I pulled the latest code. I'm running on minion so I'm using the database files and config files that come with master.

from nrutils import scsearch,gwylm
A = scsearch(precessing=True,q=[3,6],verbose=True)
y = gwylm( scentry_obj = A[2], lm=([2,2],[2,1],[2,-2],[2,-1]), verbose=True )

And I get the following error

In [8]: y = gwylm( scentry_obj = A[2], lm=([2,2],[2,1],[2,-2],[2,-1]), verbose=True )
(gwylm)>> Found dt (=0.15) keyword.
(gwylm)>> Found lm (=([2, 2], [2, 1], [2, -2], [2, -1])) keyword.
(gwylm)>> Found scentry_obj (=<nrutils.core.nrsc.scentry instance at 0x77007a0>) keyword.
(gwylm)>> Found verbose (=True) keyword.
(gwylm)>> The (extraction_parameter,level) is (75.0,None), which differs from the config values of (75,0). You have either manually input the non-config values, or the handler has set them by looking at the contents of the simulation directory.
(__make_lmlist__)>> The following spherical multipoles will be loaded:[(2, 2), (2, 1), (2, -2), (2, -1)]
(load)>> Loading: Ylm_WEYLSCAL4::Psi4r_l2_m2_r75.00.asc
(load)>> Imposing a default padding of 3 to the data.
(pad_wfarr)>> The shape was (7660, 3). Now the shape is (7663, 3).
(load)>> Loading: Ylm_WEYLSCAL4::Psi4r_l2_m1_r75.00.asc
(load)>> Imposing a default padding of 3 to the data.
(pad_wfarr)>> The shape was (7660, 3). Now the shape is (7663, 3).
(load)>> Loading: Ylm_WEYLSCAL4::Psi4r_l2_m-2_r75.00.asc
(load)>> Imposing a default padding of 3 to the data.
(pad_wfarr)>> The shape was (7660, 3). Now the shape is (7663, 3).
(load)>> Loading: Ylm_WEYLSCAL4::Psi4r_l2_m-1_r75.00.asc
(load)>> Imposing a default padding of 3 to the data.
(pad_wfarr)>> The shape was (7660, 3). Now the shape is (7663, 3).
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-8-9aee6411efe5> in <module>()
----> 1 y = gwylm( scentry_obj = A[2], lm=([2,2],[2,1],[2,-2],[2,-1]), verbose=True )

/mnt/hogshead/home/spx8sk/git/nrutils_dev/nrutils/core/nrsc.py in __init__(this, scentry_obj, lm, lmax, dt, load, clean, extraction_parameter, level, w22, lowpass, calcstrain, calcnews, enforce_polarization_convention, fftfactor, pad, verbose)
   2164         if scentry_obj.config:
   2165             # Only do this if the scentry object has config information; otheriwse, it was probably created outside of scbuild and will probably break code
-> 2166             this.characterize_start_end()
   2167
   2168         # If w22 is input, then use the input value for strain calculation. Otherwise, use the algorithmic estimate.

/mnt/hogshead/home/spx8sk/git/nrutils_dev/nrutils/core/nrsc.py in characterize_start_end(this)
   2792         # Characterize the END of the waveform (post-ringdown)       #
   2793         #%%&%%&%%&%%&%%&%%&%%&%%&%%&%%&%%&%%&%%&%%&%%&%%&%%&%%&%%&%%&#
-> 2794         this.postringdown = gwfcharend( y22 )
   2795         # After endindex, the data is dominated by noise
   2796         this.endindex = this.postringdown.right_index

/mnt/hogshead/home/spx8sk/git/nrutils_dev/nrutils/core/nrsc.py in __init__(this, ylm)
   3910         this.__characterize_amplitude__(ylm)
   3911         # Use frequency
-> 3912         this.__characterize_frequency__(ylm)
   3913     # Characterize the end of the waveform using values of the amplitude
   3914     def __characterize_amplitude__(this,ylm):

/mnt/hogshead/home/spx8sk/git/nrutils_dev/nrutils/core/nrsc.py in __characterize_frequency__(this, ylm)
   3944         B = ylm.t > ylm.t[ ylm.k_amp_max ]
   3945         #
-> 3946         a = upbow(ylm.dphi[B])
   3947         knots,rl = romline(ylm.t[B],a,5)
   3948         #

NameError: global name 'upbow' is not defined

sad

Add tortoise coordinate functionality

dynamics_times = waveform_times - this.extraction_radius()

The mapping between the source dynamics time and the waveform time is fixed to be a shift by the extraction radius. I would like to add functionality to choose between either extraction radius or the tortoise coordinate, something like:

MADM = this.raw_metadata.initial_ADM_energy
extraction_radius = this.extraction_radius + 2.0 * MADM * np.log(this.extraction_radius / (2.0 * MADM) - 1.0)

This could be implemented with the addition of a flag in load_dynamics:

load_dynamics(this,waveform_times=None,verbose=False,output=False,tortoise=False)

Things to Do

  • Command line tool for user configuration
    ---> seed ini files with desired information
    ---> rename template ini files
    ---> ask if user wishes to download the SXS catalog; if so, warn of space requirements and ask which multipoles are desired
    ---> command line tool for catalog building?
  • Ensure that all gwylm objects are in the same frame:
    ---> Add a stand alone function that rotates a gwylm object from one frame into another in the time domain
    ---> Add formatting method to gwylm to put it in the J or L frame when w = w0
    ---> Add formatting method to convert static frame gwylm to dynamic frame gwylm (i.e. corotating frame transformation)
  • Create feature-alignment modules for GW-ML tools:
    ---> generalized inner-product definition (e.g. frequency whitening or generalized kernel)
    ---> time and phase alignment via optimal inner-product
    ---> time and phase alignment via reference time or reference frequency

Broken silures catalog with no L and no valid relaxed data

@llondon6 With the current silures catalog there are no L attributes because I believe it was built before cd13318#diff-5c8bebdb8173e0ca200215a18c36663d. This is now an issue because external_sign_convention has now been forced to None in d9c5d15#diff-30ce82bdc95d9bf98cc05c25af6268c5R2409

this.external_sign_convention = None

which triggers d9c5d15#diff-30ce82bdc95d9bf98cc05c25af6268c5R2622

if this.external_sign_convention is None:
msk_ = y_.amp > 0.01*amax(y_.amp)
if int(scipy_version.split('.')[1])<16:
# Account for old scipy functionality
external_sign_convention = sign(this.L[-1]) * sign(m) * mode( sign( y_.dphi[msk_] ) )[0][0]
else:
# Account for modern scipy functionality
external_sign_convention = sign(this.L[-1]) * sign(m) * mode( sign( y_.dphi[msk_] ) ).mode[0]
this.external_sign_convention = external_sign_convention

which has no path that is free of L.

On attempting to rebuild the silures catalog you get failures because of there are no afterjunk attributes in many the silures data directories (for example BAM/q8EqualSpin/q8am085v6D10_96c025 has after-junkradiation-spin1x = ie nothing) which triggers cd13318#diff-5c8bebdb8173e0ca200215a18c36663dR179

else:
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Use initial data information #
msg = cyan('Warning:')+yellow(' The afterjunk spins appear to have been stored incorrectly in the bbh file. Values of NONE will be stored to the current object. ')
warning(msg,'bam.py')
x.note += msg
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# NOTE that these parameters were defined above, and so do not need to be redefined here.
S1,S2,S = None,None,None
L1,L2,L = None,None,None
R1,R2 = None,None
P1,P2 = None,None
J = None

which subsequently causes cd13318#diff-5c8bebdb8173e0ca200215a18c36663dR205 to fail because of a call norm(None).

x.b = norm(R1-R2) # float( y.initial_separation )

I will work on a patch for this, but reporting if you get round to this before me, or actually there is something I have done wrong that you can see. Thanks ๐Ÿ˜Š

First Issue! - core_example.py import fail

Cyberface has tried to run core_example.py on his mac and as encountered an error

Sebastians-MacBook-Pro-2:examples sebastian$ python core_example.py
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.
  warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')

>> Initiating nrutils.
>> Please note style conventions:
   * lower case function/method/variable names
   * no underscore in names unless there are repeated letters
   * information is implicitely in time domain unless explicitely stated.
   * frequency domain information will start with "fd".

nrutils:

  .:
Traceback (most recent call last):
  File "core_example.py", line 11, in <module>
    from nrutils.core.nrsc import *
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nrutils/__init__.py", line 68, in <module>
    exec 'import %s' % p
  File "<string>", line 1
    import
          ^
SyntaxError: invalid syntax

Name ideas

Did we miss a trick calling it something like

pyNR or NRpy
it doesn't really sound catchy tbh :)
but we could pronounce it pyNER or NERpi haha.

Don't get me wrong, nrutils is good too!

nrutils(3) raises ImportError with latest positive

Installing the latest version of positive alongside the nrutils3 branch of this project results in an ImportError:

  File "/opt/hostedtoolcache/Python/3.7.12/x64/lib/python3.7/site-packages/pwca/__init__.py", line 12, in <module>
    from . import core
  File "/opt/hostedtoolcache/Python/3.7.12/x64/lib/python3.7/site-packages/pwca/core.py", line 20, in <module>
    pwca_catalog = pickle.load( open( pwca_catalog_path, "rb" ) )
  File "/opt/hostedtoolcache/Python/3.7.12/x64/lib/python3.7/site-packages/nrutils/__init__.py", line 105, in <module>
    exec( r'import nrutils.%s' % p)
  File "<string>", line 1, in <module>
  File "/opt/hostedtoolcache/Python/3.7.12/x64/lib/python3.7/site-packages/nrutils/manipulate/__init__.py", line 12, in <module>
    exec( 'from nrutils.manipulate.%s import *' % module)
  File "<string>", line 1, in <module>
  File "/opt/hostedtoolcache/Python/3.7.12/x64/lib/python3.7/site-packages/nrutils/manipulate/rotate.py", line 4, in <module>
    from positive.maths import wdelement,wdmatrix
ImportError: cannot import name 'wdelement' from 'positive.maths' (/opt/hostedtoolcache/Python/3.7.12/x64/lib/python3.7/site-packages/positive/maths.py)

Build log: https://github.com/cardiffgravity/PhenomDCP/runs/4507939776?check_suite_focus=true

Case troubles: angry tortoises

I am creating this issue to catalog a case trouble that I've seen with gwylm's load_dynamics.

The code state of interest is after the recent merge request with tortoise_coordinate and dynamics loading fixes: 97615f7

Note that this code state may be needed to access BAM NR data after their move to the super-computing wales facilities:
1b12671

I have started a branch that includes the fixes to access BAM from super-computing wales, but does not includes changes related to tortoise_coordinate and dynamics loading:
https://github.com/llondon6/nrutils_dev/tree/before_the_rain

I am preparing a notebook to demonstrate the case issue.

Import nrutils on Master broken for me

any ideas?

In [1]: import nrutils
The highest level init for nrutils is located at: /Users/sebastian/work/git/nrutils_dev/nrutils/__init__.pyc

>> Initiating nrutils ...

>> Sub-Packages to be imported:
   -> core
   -> generate
   -> manipulate
   -> tools
>> Please note style conventions:
   * lower case function/method/variable names
   * no underscore in names unless there are repeated letters, or counfounded syllables
   * information is implicitely in time domain unless explicitely stated.
   * frequency domain information will start with "fd".

nrutils:

  .core:
      .basics*
      .basics
      .nrsc
  .generate:
      .basics*
      .basics
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-a28e3810b6c4> in <module>()
----> 1 import nrutils

/Users/sebastian/work/git/nrutils_dev/nrutils/__init__.py in <module>()
     86 for p in internal_packages:
     87     if verbose: print '  .%s: ' % p
---> 88     exec r'import %s' % p
     89     # exec 'from %s import *' % p
     90

<string> in <module>()

/Users/sebastian/work/git/nrutils_dev/nrutils/generate/__init__.py in <module>()
     20 for module in modules:
     21     if verbose: print '      .%s' % module
---> 22     exec 'import %s' % module

<string> in <module>()

ImportError: No module named basics

what does is_extrapolated = 1 do

What does it mean for each code?

for example in silures.ini this is set to 1.

but for my BAM ini file I have this to 0.

what does it do?

Python 3 compatibility

@llondon6 what's the state of Python 3 compatibility for this repo? I'm happy to help but see that there's already a python3_compatibility branch and don't want to repeat what you've already done.

error when building catalog with latest versions

/mnt/hogshead/home/spx8sk/git/nrutils_dev/nrutils/core/nrsc.pyc in scbuild(keyword, save)
    456         wave_train = ''#'~~~~<vvvvvvvvvvvvvWw>~~~~'
    457         hline = wave_train*3
--> 458         msg = '\n\n#%s#\n%s with \"%s\". The related log file is at \"%s\".\n#%s#'%(hline,hlblack('Done'),green(config.catalog_dir),green(logfstr),hline)
    459         alert(msg,'scbuild')
    460

NameError: global name 'hlblack' is not defined

scbuild failing for one case

I'm trying to build a new database and it seems to be failing for this particular case :/

## The following is invalid: /Users/sebastian/phd/mounts/raid_mount/data/ReducedData/q3_a-0.5_a0.75_64_128/psi4modes.bbh
## The following is invalid: /Users/sebastian/phd/mounts/raid_mount/data/ReducedData/q3_a-0.5_a0.75_64_128/q3_a-0.5_a0.75_64_128.raw.bbh
## Working: /Users/sebastian/phd/mounts/raid_mount/data/ReducedData/q3_a-0.5_a0.75_64_128/q3_a-0.5_a0.75_64_128.bbh
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-6-10b07758f881> in <module>()
----> 1 scbuild()

/Users/sebastian/projects/phenEOB/env/lib/python2.7/site-packages/nrutils-1.0-py2.7.egg/nrutils/core/nrsc.pyc in scbuild(save)
    323         for mdfile in mdfile_list:
    324             # Create tempoary scentry object
--> 325             entry = scentry(config,mdfile)
    326             # If the obj is valid, add it to the catalog list, else ignore
    327             if entry.is_valid :

/Users/sebastian/projects/phenEOB/env/lib/python2.7/site-packages/nrutils-1.0-py2.7.egg/nrutils/core/nrsc.pyc in __init__(this, config_obj, metadata_file_location)
    143
    144             #
--> 145             this.label = sclabel( this )
    146         else:
    147             print '## The following is '+red('invalid')+': %s' % cyan(metadata_file_location)

/Users/sebastian/projects/phenEOB/env/lib/python2.7/site-packages/nrutils-1.0-py2.7.egg/nrutils/core/nrsc.pyc in sclabel(entry, use_q)
    699        label = sclabel_many( entry = entry, use_q = use_q )
    700     elif isinstance( entry, scentry ):
--> 701        label,_ = sclabel_single( entry = entry, use_q = use_q )
    702     else:
    703        msg = 'input must be list scentry objects, or single scentry'

/Users/sebastian/projects/phenEOB/env/lib/python2.7/site-packages/nrutils-1.0-py2.7.egg/nrutils/core/nrsc.pyc in sclabel_single(entry, use_q)
    672
    673         # Run is spin aligned if net spin is parallel to net L
--> 674         if allclose( dot(e.S1,L) , norm(e.S1)*norm(L) , atol=tol ) and allclose( dot(e.S2,L) , norm(e.S2)*norm(L) , atol=tol ) and (not 'ns' in tag):
    675             tag.append('sa')
    676

ValueError: shapes (3,0) and (3,) not aligned: 0 (dim 1) != 3 (dim 0)

BAM extraction parameter needed as variable

I loaded a bam waveform using my bam.ini file and
I noticed a small problem. The "l" with is something to do with
the extraction level or the resolution at which the data
was extracted was hard coded to 5 as below but for this
particular data set only l=6 was available.
So I had to change my bam.ini file first as below and then it worked.

So I think we should add this as an option for the bam waveforms or something.

; data_file_name_format = Psi4ModeDecomp/psi3col.r%i.l5.l%i.m%i.gz
data_file_name_format = Psi4ModeDecomp/psi3col.r%i.l6.l%i.m%i.gz
data_file_param_order = extraction_parameter, l, m
i.e., we add another variable to data_file_param_order = extraction_parameter, l, m

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.