Code Monkey home page Code Monkey logo

bda_utils's People

Contributors

plaplant avatar

Watchers

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

bda_utils's Issues

Update values in `xgpu_info.h`

We want to change some of the values in xgpu_info.h. We want:

  • NTIME_PIPE = 16
  • NTIME = 16*157

This will help with the LST alignment requirements.

Define the phase center for each integration

We need code that will determine the phase center for each antenna during the integration window. This maps into phasors that we upload to the F-engines. I have some code that will do this, I will add it to the repo.

Define the order of system startup

There are some inter-related dependencies for bringing the system up, especially related to BDA and the LST gridding. We must define what happens in what order, and have a user-friendly way of running the steps in the correct order (a la Makefile).

hera_corr_f feng_init.py parameters

We want to make sure that the following keys are added to redis by the feng_init.py script during F-engine arming.

  • feng:samples_per_mcnt
  • feng:sample_freq
  • feng:sync_time

Make sure `NTIME` value is propagated to redis as `xeng:ntime`

We want to propagate NTIME compile-time constant from xgpu_info.h into redis as xeng:ntime. Looks like xtor_up.py should be the place to do this. This might also be able to be done using the hashpipe-redis gateway. We need to know the value of this constant, so some process has to populate redis.

Create `hera_create_bda_config.py` script

Make a script hera_create_bda_config.py which will set the following redis keys:

  • catcher:ngrid (total number of LST bins in a night--tentatively 2726)
  • catcher:bda_config (number of GPU blocks per baseline). This is derived from corr:map. If this key does not exist, this script should populate it. This is the mapping of an antenna pair into a tier.
  • catcher:latitude (radians)
  • catcher:longitude (radians)
  • catcher:tier_to_time (the mapping of correlator averaging tier into an integration time)

Set `catcher:bcnt_max` redis key during startup

hera_catcher_up.py sets catcher:bcnt_max redis key. This is the number of packets in an integration. The disk thread needs this number. Presumably this is derived from catcher:bda_config. This depends on the number of baselines falling into a particular tier of the bda_config.

Support changing the clock frequency of F-engines

We want to support adding 339.8 Hz to the current clock frequency of 500 MHz. This will enable us to have ~perfect LST alignment over the course of an observing day. It looks like this is working as part of bench testing, so we want to support implementing this.

Revisit how template data files are being generated

Right now there is a separate script that will make a template file which is used by the catcher for all data files. We may not need this template file, so we should figure out what information is needed and whether it can be handled entirely internally to the catcher.

Update `NPKTS_PER_INT` in `xgpu_info.h`

The NPKTS_PER_INT parameter needs to be set to a particular magic value. This value is defined in the LST-BDA memo. This value pairs with NGRID. It's probably 384, but we should verify this.

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.