Dear Nathan,Looks great! Thanks so much!So once it is officially commited, I should be able to just type hg update and it will update? What folder do I need to be in for that to happen (it keeps on saying no .hg file is not in the folder).
-Stephaniestonnes@gmail.comCarnegie Observatories, Pasadena, CA--Alvin E. Nashman Postdoctoral Fellow
Dr. Stephanie TonnesenOn Tue, Nov 4, 2014 at 5:05 PM, Stephanie Tonnesen <stonnes@gmail.com> wrote:Definitely will! Must wait a couple hrs until little one asleep. Will let you know when done--
On Tuesday, November 4, 2014, Nathan Goldbaum <nathan12343@gmail.com> wrote:I've updated the pull request I created earlier for John Regan's issue to include a fix for this, since they're related: https://bitbucket.org/yt_analysis/yt/pull-request/1292/ensure-profiled-data-are-in-the-correct/diffWould you mind giving it a test drive?On Tue, Nov 4, 2014 at 1:39 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:On Tue, Nov 4, 2014 at 1:37 PM, Stephanie Tonnesen <stonnes@gmail.com> wrote:I want the cylindrical_r bins to be in linear space. When I do just the first line, I still get everything in log space. When I include "logs=logs" in the profile call, it crashes.
alld = ds.all_data()
gal = alld.cut_region("obj['density'] > 1.01e-28")
logs = {('index', 'cylindrical_r'): False}
#logs = {('gas', 'cell_mass'): False}
profile = yt.create_profile(gal,
[('index', 'cylindrical_r')], # the bin field
[('gas', 'cell_mass')], # profile field
weight_field=None, n_bins=17,logs=logs)
coldens = profile["gas","cell_mass"]/1.6733e-24
coldens[0] = coldens[0]/(3.14159*profile.x[0]*profile.x[0])
i = 1
while i < len(coldens):
coldens[i] = coldens[i]/((3.14159*profile.x[i]*profile.x[i]) - (3.14159*profile.x[i-1]*profile.x[i-1]))
i = i+1
mp.plot(profile.x/3.086e21,coldens)
mp.show()
print profile.x--------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-23-a4ffd8615abf> in <module>() 6 [('index', 'cylindrical_r')], # the bin field 7 [('gas', 'cell_mass')], # profile field ----> 8 weight_field=None, n_bins=17,logs=logs) 9 coldens = profile["gas","cell_mass"]/1.6733e-24 10 coldens[0] = coldens[0]/(3.14159*profile.x[0]*profile.x[0]) /Users/stephanietonnesen/yt-x86_64/src/yt-hg/yt/data_objects/profiles.pyc in create_profile(data_source, bin_fields, fields, n_bins, extrema, logs, units, weight_field, accumulation, fractional) 1326 for f in bin_fields] 1327 else: -> 1328 logs = [logs[bin_field[-1]] for bin_field in bin_fields] 1329 if extrema is None: 1330 ex = [data_source.quantities["Extrema"](f, non_zero=l) KeyError: 'cylindrical_r'This looks like a bug. Can you file an issue? It would be great if you included a script exhibiting the behavior that makes use of one of the public datasets on yt-project.org/datastonnes@gmail.comCarnegie Observatories, Pasadena, CA--Alvin E. Nashman Postdoctoral Fellow
Dr. Stephanie TonnesenOn Tue, Nov 4, 2014 at 1:31 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:On Tue, Nov 4, 2014 at 1:29 PM, Stephanie Tonnesen <stonnes@gmail.com> wrote:Okay, I think I must be missing something because right now I am still getting log-spaced bins:
alld = ds.all_data()
gal = alld.cut_region("obj['density'] > 1.01e-28")
logs = {('index', 'cylindrical_r'): False}
logs = {('gas', 'cell_mass'): False}Do you want both of these to be linearly spaced? Right now you're overwriting the first one when you redeclare "logs".profile = yt.create_profile(gal,
[('index', 'cylindrical_r')], # the bin field
[('gas', 'cell_mass')], # profile field
weight_field=None, n_bins=17)Did you forget to pass logs in here?coldens = profile["gas","cell_mass"]/1.6733e-24print profile.x
coldens[0] = coldens[0]/(3.14159*profile.x[0]*profile.x[0])
i = 1
while i < len(coldens):
coldens[i] = coldens[i]/((3.14159*profile.x[i]*profile.x[i]) - (3.14159*profile.x[i-1]*profile.x[i-1]))
i = i+1
mp.plot(profile.x/3.086e21,coldens)
mp.show()[ 2.59949407e+20 3.49922639e+20 4.71037249e+20 6.34071835e+20 8.53535665e+20 1.14895993e+21 1.54663592e+21 2.08195484e+21 2.80255739e+21 3.77257363e+21 5.07833019e+21 6.83603292e+21 9.20210863e+21 1.23871263e+22 1.66745367e+22 2.24458981e+22 3.02148330e+22] cmstonnes@gmail.comCarnegie Observatories, Pasadena, CA--Alvin E. Nashman Postdoctoral Fellow
Dr. Stephanie TonnesenOn Tue, Nov 4, 2014 at 12:32 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:On Tue, Nov 4, 2014 at 12:26 PM, Stephanie Tonnesen <stonnes@gmail.com> wrote:Okay, I've got that, but does that mean that I can't set something in the parenthesis to force the bins to be in linear space? and I need to do the take_log setting earlier in the code?You can, you would need to have something like:logs = {('gas', 'cell_mass'): False}profile = yt.create_profile(gal,
[('index', 'cylindrical_r')], # the bin field
[('gas', 'cell_mass')], # profile field
weight_field=None, logs=logs)StephanieThanks,stonnes@gmail.comCarnegie Observatories, Pasadena, CA--Alvin E. Nashman Postdoctoral Fellow
Dr. Stephanie TonnesenOn Tue, Nov 4, 2014 at 11:10 AM, Nathan Goldbaum <nathan12343@gmail.com> wrote:On Tue, Nov 4, 2014 at 10:59 AM, Stephanie Tonnesen <stonnes@gmail.com> wrote:and yt does not like that. Nor does it like take_log or log_space. Can someone tell me what I should be setting there?Thank you both! I ended up generally following Suoqing's method, but tried to use create_profile. I want my radial spacing to be linear, and when I look at the help page:I read that I should set logs=False
http://yt-project.org/docs/dev/reference/api/generated/yt.data_objects.profiles.create_profile.html#yt.data_objects.profiles.create_profile
So I type in:
profile = yt.create_profile(gal,
[('index', 'cylindrical_r')], # the bin field
[('gas', 'cell_mass')], # profile field
weight_field=None, logs=False)In this case, logs is a dictionary that maps field names to logging selection. From the docstrings for create_profile:logs : dict of boolean valuesWhether or not to log the bin_fields for the profiles.The keys correspond to the field names. Defaults to the take_logattribute of the field.Thanks again!
Stephaniestonnes@gmail.comCarnegie Observatories, Pasadena, CA--Alvin E. Nashman Postdoctoral Fellow
Dr. Stephanie TonnesenOn Mon, Nov 3, 2014 at 9:45 PM, Suoqing JI <suoqing@physics.ucsb.edu> wrote:Hi Stephanie,profile.add_fields(‘cell_mass’, weight=None)Sorry I’ve missed the later part of my old script — after getting the profile[‘cell_mass’] it should be divided by the unit surface area. The following is the full code and it has been tested with AMR data:profile = BinnedProfile1D(mydisk, Nbin, 'cylindrical_r', rmin, rmax, log_space=True, lazy_reader=True, end_collect=False)profile.add_fields('cell_mass', weight=None)R = profile['cylindrical_r’]Sigma = profile[‘cell_mass']R_edge = np.logspace(np.log10(rmin), np.log10(rmax), num=Nbin+1)for i in range(0, Nbin): Sigma[i] = Sigma[i] / (np.pi*(R_edge[i+1]**2 - R_edge[i]**2.))And Nathan’s approach which takes the advantage of image buffer should also work.Best wishes,--Suoqing JIPh.D StudentDepartment of PhysicsUniversity of California, Santa BarbaraCA 93106, USAOn Nov 3, 2014, at 8:40 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:_______________________________________________On Mon, Nov 3, 2014 at 5:29 PM, Suoqing JI <suoqing@physics.ucsb.edu> wrote:Hi Stephanie,Maybe you could specify a disk, use BinnedProfile1D to create bins along cylindrical radial ('cylindrical_r'), and doprofile.add_fields(‘cell_mass’, weight=None)then you could plot profile[‘cell_mass’] vs. profile['cylindrical_r’] and get the 1-D plot the surface density.This will be a profile of the gas mass as a function of radius, but it's not quite a surface density profile. That said, for an unweighted projection, I think it's the same up to a constant scaling factor.Best wishes,--Suoqing JIPh.D StudentDepartment of PhysicsUniversity of California, Santa BarbaraCA 93106, USAOn Nov 3, 2014, at 5:17 PM, Stephanie Tonnesen <stonnes@gmail.com> wrote:Hi yt-users,I would like to make a 1D plot of column density vs radius for a disk (to compare with observations). I can make a projectionplot, but want something a bit more simple to look at. I am using yt3.0.1--is there a nice way to to this?The key is to use the numpy.digitize and numpy.bincount functions to find the histogram of the surface density as a function of radius. Here's an example:
http://nbviewer.ipython.org/gist/ngoldbaum/af8e7f317efe8f115e8bThis is a simplified version of what I've done for a project I'm working on right now, which involves making a ton of radial plots of projected quantities:
https://bitbucket.org/ngoldbaum/galaxy_analysis/src/910f5a7e278247a36f25d62bdc478a7b5a7fe8ce/galanyl/galaxy_analyzer.py?at=default#cl-338_______________________________________________Thanks!
Stephaniestonnes@gmail.comCarnegie Observatories, Pasadena, CA--Alvin E. Nashman Postdoctoral Fellow
Dr. Stephanie Tonnesen
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
stonnes@gmail.comCarnegie Observatories, Pasadena, CA--Alvin E. Nashman Postdoctoral Fellow
Dr. Stephanie Tonnesen
_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org