david-deboer / radiobear

radioBEAR: radio - BErkeley Atmospheric Radiative transfer
BSD 2-Clause "Simplified" License
4 stars 1 forks source link

RadioBEAR

Radio BErkeley Atmospheric Radiative-transfer (RadioBEAR)

planetary atmosphere code to calculate the brightness temperature of planetary atmospheres in the meter-to-millimeter wavelength range.

If used, please reference

  1. de Pater et al 2019: de Pater, I., R. J. Sault, M. H. Wong, L. N. Fletcher, D. DeBoer, B. Butler, 2019. Jupiter's ammonia distribution derived from VLA maps at 3--37 GHz. Icarus, 322, 168-191.
  2. de Pater et al.(2014)] de Pater, I., Fletcher, L. N., Luszcz-Cook, S., DeBoer, D., Butler, B., Hammel, H. B., Sitko, M. L., Orton, G., Marcus, P. S.}, Neptune's global circulation deduced from multi-wavelength observations. Icarus 237, 211

Installing:

  1. Pull radioBEAR from github
  2. From the top-level 'radiobear' directory, install (pip install .)*
  3. Create/move to your working directory (so, outside of the radiobear installation)
  4. Initialize your working directory with various directories/planet files
    • from within your working directory type initial_planet_setup.py
  5. If you have other .par, tweak, atmosphere, etc files, move them to the planet sub-directory in the new working area

[*NB: python setup.py install does not work.]

Before you start edit the config file to be what you want:

  1. All of the parameters may be set within this configuration file
  2. Default name is config.par in each of the planet sub-directories
  3. You may use different files, just call planet with config='filename', which must reside within
  4. The defaults are set in default_config.json and default_state.json, which also sets up which parameters are contained within the config.
  5. You can also set them when you make the Planet instance
  6. You can also set them at any time using the update_config method

Here is an example, from working area:

~/rbwork> from radiobear import planet
~/rbwork> j = planet.Planet('jupiter')
~/rbwork> catch_data = j.run(freqs='1:100:5', b='disc')

time-stamped data file is written to Output

run log file is written to Logs

catch_data is an instance of DataReturn, which holds the data you probably want.

options for name: Jupiter, Saturn, Uranus, Neptune

examples for freqs:

examples for b:

======== Routines for viewing the data files in the Output directory are in the 'plotting.plt' module.

To view spectra try:

  > from radiobear.plotting import plt
  > d=plt.Tb(legend=True)

See options under plt.Tb()