kconnour / pyRT_DISORT

A Python package for helping to compute input arrays to DISORT.
https://kconnour.github.io/pyRT_DISORT/
BSD 3-Clause "New" or "Revised" License
14 stars 5 forks source link

remove lambert albedo from call to Surface #11

Open mjwolff opened 2 years ago

mjwolff commented 2 years ago

Feature request

it doesn't make sense to have the lambert albedo as a call to Surface since the actual Lambert invocation would be after that:

sfc = Surface(0.1, CP.n_streams, CP.n_polar, CP.n_azimuth, OB.user_angles,
            OB.only_fluxes)
sfc.make_lambertian()

i suggest make the Lambert Albedo a parameter in the make_lambertian method (it can be created with a default value if needed for passing to DISORT, i.e.,

sfc.make_lambertian(0.1)

kconnour commented 2 years ago

I agree but still have a question: does DISORT completely ignore ALBEDO if not using a Lambertian surface? I believe the answer is yes and that it gets all its info from RHOU and RHOQ, but I'm not completely sure. I originally added this as an input so that the user could directly set ALBEDO.... but this may not be relevant. I could just set the albedo to 0 if non-Lambertian surface is used.

FYI, my original idea to have an abstract surface class is still a good idea (I think) but the methods should really turn into functions... it'd make things cleaner.