I have installed and now am trying to use the Cosmology.jl package.
When I try, from a recently launched Julia REPL:
using Cosmology
c = cosmology()
hubble_dist(c,0)
I get the expected output: 434.818231884059 Mpc. However, right after, when I try:
hubble_dist(km, c, 0)
hubble_dist(u"km", c, 0)
hubble_dist(Gpc,c,0)
hubble_dist(u"Gpc", c, 0)
there is always an error with UndefVarError, either with km or Gpc not defined or rather @u_str not defined. I simply could not manage to use distinct units from the default ones. What am I doing wrong?
Thanks
I think you’ll need to explicitly load Unitful.jl, which provides the @u_str
macro used in your examples, as well as UnitfulAstro, which provides Gpc
and other astro-relevant units.
julia> using Cosmology, Unitful, UnitfulAstro
julia> c = cosmology()
Cosmology.FlatLCDM{Float64}(0.69, 0.7099122024007928, 0.29, 8.779759920715362e-5)
julia> hubble_dist(u"km", c, 0)
1.3406708213779601e23 km
julia> hubble_dist(u"Gpc", c, 0)
4.34481823188406 Gpc
You can also import the units from the internals of Cosmology.jl, but there are no guarantees of stability when using a package’s internals.
julia> import Cosmology: km, Mpc
julia> hubble_dist(km, c, 0)
1.3406708213779598e23 km
I opened an issue to help clarify this.
2 Likes
@stillyslalom Thank you; it worked like a charm, now.