Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

non-intuitive to use non-DM chromatic variations in model_singlepsr_noise #109

Open
paulthebaker opened this issue Jun 9, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@paulthebaker
Copy link
Member

model_singlepsr_noise uses a boolean option, dm_vars, to control all frequency dependent noise. This can be confusing if one wants to implement higher order scattering process but not a DM GP. To accomplish this one needs to pass a dummy flag to dm_kernel which defaults to 'gp'.

This would make a model with no DM or chromatic variations:

pta = model_singlepsr_noise(
    psr,
    chrom_gp=True,  # dm_var defaults to False, so this doesn't do anything
    chrom_gp_kernel='nondiag'
)

This would make a model with a powerlaw DM GP and a chromatic GP:

pta = model_singlepsr_noise(
    psr,
    dm_var=True,
    chrom_gp=True,
    chrom_gp_kernel='nondiag'
)

This would make the desired model, a chromatic GP with no DM GP :

pta = model_singlepsr_noise(
    psr,
    dm_var=True,
    dm_type=None,  # this defaults to 'gp'
    chrom_gp=True,
    chrom_gp_kernel='nondiag'
)

Since there are other non-f^-2 chromatic effects that are accessed via dm_var=True, e.g. cusps with arbitrary index, it probably doesn't make sense to separate the chrom_gp from that option.

My preferred fix is a radical option: have dm_type default to None and remove the dm_var option entirely. This would make the no chromatic effects (including DM) the default. The user would turn them on one by one as needed.

Since this breaks default behavior it might worth considering other comprehensive changes that simplify the if-trees in all models and blocks.

@paulthebaker paulthebaker added the enhancement New feature or request label Jun 9, 2021
@paulthebaker paulthebaker self-assigned this Jun 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant