zoon icon indicating copy to clipboard operation
zoon copied to clipboard

change arguments to output modules

Open goldingn opened this issue 7 years ago • 4 comments

Output modules take two arguments, .model and .ras

  • .model is a list of two elements: df and model
    • df the dataframe returned by the last process module
    • model the ZoonModel object returned by the model module
  • .ras the raster* object re from process module(s)

This is confusing because:

  1. it seems unnecessary for df and model to be listed together
  2. .model is a confusing name for this list

I suggest we split .model$data up so that output modules take three default arguments: .df, .ras, .model

This would require changing both zoon::workflow(), various references in the vignettes, zoon's tests, and the existing output modules. The other functions, and the schematic in the zoon paper, should not be affected.

Can anyone think of a reason not to do this? cc @AugustT

goldingn avatar May 03 '17 04:05 goldingn

Seems fair to me. While you're there why not change the names? .df and .data are pretty much meaningless

AugustT avatar May 03 '17 08:05 AugustT

The only reason I can think of is that it might be best for all module types to have one default argument, a list of all the or bits. This saves space in the man page etc.

But probably your plan is better, split things into sensible chunks.

timcdlucas avatar May 03 '17 08:05 timcdlucas

@AugustT we discussed changing the names earlier, but couldn't think of anything better than df ras model. Open to suggestions though!

I kind of like the idea of making them all one standardised list. E.g. every module (or rather process, model & output modules) get the same first argument: .zoonInternal (or something), a list which always contains df, ras and/or model, depending on the module type.

so:

process modules would use .zoonInternals$df, .zoonInternals$ras model modules would use .zoonInternals$df output modules would use .zoonInternals$df, .zoonInternals$ras, .zoonInternals$model

thoughts?

goldingn avatar May 03 '17 09:05 goldingn

I think it simplifies things. The list name will be used a lot, so the shorter the better. Maybe .data for the whole list.

timcdlucas avatar May 03 '17 09:05 timcdlucas