Status of LUE#
File format#
TODO
Modelling operations#
Currently, PCRaster contains implementations of more modelling operations than LUE. Over time more operations will be added to LUE. Here we compare the list of PCRaster operations with the current set of operations implemented in LUE. When planning to port a PCRaster model to LUE, it is a good idea to compare the information in the next table with the operations used by the model.
Here we only mention LUE operations that implement an operation that is also in PCRaster. LUE also contains other operations, not listed here.
If an operation used in a PCRaster model is not available in LUE yet, it is a good idea to report it to the project team. Various factors determine the order in which operations are added to the LUE framework. The number of model developers requesting one is one of them.
Note
A LUE operation that implements an operation that is also in PCRaster may be different from the PCRaster operation. It may be named different, it may accept different arguments, or accept them in a different order. We provide a special module that can be used to quickly port PCRaster model by hiding these differences as much as possible.
β |
LUE supports this PCRaster operation, or an operation like it. It may be that the LUE operation is named differently, that it supports different parameters, or that it accepts parameters in a different order. |
β |
This PCRaster operations is not considered yet. It may be in the future. |
π |
This PCRaster operation is considered, but skipped. See notes for reason. |
1, 2, 3 |
Guesstimate of the amount of effort required to add it: |
PCRaster |
LUE |
Notes |
---|---|---|
|
β |
|
|
β |
subtract and negate |
|
β |
div is only part of |
|
β |
|
|
β |
|
abs |
β |
abs with non-spatial expression is not available |
accucapacityflux |
β |
1 |
accuflux |
β |
not yet in Python package |
accufractionflux accufractionstate |
β |
accu_fraction |
accuthresholdflux |
β |
accu_threshold3 |
accutriggerflux |
β |
1 |
accutraveltimestate |
β |
2 |
accutraveltimefractionstate |
β |
2 |
acos |
β |
|
and, |
β |
|
argorder |
β |
? |
argorderaddarealimited |
β |
? |
argorderarealimited |
β |
? |
areaarea |
β |
zonal_area |
areaaverage |
β |
zonal_mean |
areadiversity |
β |
zonal_diversity |
areamajority |
β |
zonal_majority |
areamaximum |
β |
zonal_maximum |
areaminimum |
β |
zonal_minimum |
areanormal |
β |
zonal_normal |
areaorder |
β |
1 |
areatotal |
β |
zonal_sum |
areauniform |
β |
zonal_uniform |
asin |
β |
|
aspect |
β |
|
atan |
β |
|
boolean |
β |
boolean with non-spatial argument is not available |
catchment |
β |
2 |
catchmenttotal |
β |
1 |
cellarea |
β |
1 |
celllength |
β |
1 |
clump |
β |
LUE has support for diagonal and nondiagonal connectivity. Use diagonal connectivity to get the same behaviour as PCRasterβs clump. |
cos |
β |
|
cover |
β |
1 |
defined |
β |
|
directional |
π |
LUE currently does not support value scales. |
downstream |
β |
|
downstreamdist |
β |
|
dynwavestate |
β |
3 |
dynamicwave |
β |
3 |
eq or |
β |
|
exp |
β |
|
extentofview |
β |
2 |
fac |
β |
1 |
ge or |
β |
|
gt or |
β |
|
horizontan |
β |
1 |
idiv, |
β |
1 |
if then |
β |
|
if then else |
β |
|
influencesimplegauss |
β |
? |
inversedistance |
β |
2 |
kinematic |
β |
kinematic_wave |
kinwavestate |
β |
? |
ldd |
π |
LUE currently does not support value scales. |
lddcreate |
β |
The operation assumes the DEM passed in is sound: depressions are filled and flats are handled. |
lddcreatedem |
β |
3 |
ldddist |
β |
2 |
lddmask |
β |
2 |
lddrepair |
β |
2 |
le or |
β |
|
ln |
β |
log |
log10 |
β |
|
lookup |
β |
? |
lookuplinear |
β |
? |
lookupmapstack |
β |
? |
lt or |
β |
|
maparea |
β |
1 |
mapmaximum |
β |
maximum |
mapminimum |
β |
minimum |
mapnormal |
β |
normal(array, dtype, 0, 1), normal(array_shape, partition_shape, dtype, 0, 1) |
maptotal |
β |
sum |
mapuniform |
β |
uniform(array, dtype, 0, 1), uniform(array_shape, partition_shape, dtype, 0, 1) |
markwhilesumle |
β |
2 |
max |
β |
1 |
min |
β |
1 |
mod, |
β |
1 |
ne or |
β |
|
nodirection |
β |
1 |
nominal |
β |
|
normal |
β |
|
not |
β |
|
or |
β |
|
order |
β |
? Idea is easy, parallel implementation seems not. |
ordinal |
β |
|
path |
β |
2 |
pit |
β |
1 |
plancurv |
β |
2 |
pred |
π |
Not sure why this is useful⦠|
profcurv |
β |
2 |
rounddown |
β |
floor |
roundoff |
β |
round |
roundup |
β |
ceil |
scalar |
β |
|
shift |
π |
Not sure why this is useful⦠|
sin |
β |
|
slope |
β |
|
slopelength |
β |
3 |
spatial |
β |
|
spread |
β |
3 |
spreadldd |
β |
3 |
spreadlddzone |
β |
3 |
spreadmax |
β |
3 |
spreadmaxzone |
β |
3 |
spreadzone |
β |
3 |
sqr |
β |
Not as an operation. Just use value * value. |
sqrt |
β |
|
streamorder |
β |
2 |
subcatchment |
β |
3 |
succ |
π |
Not sure why this is useful⦠|
tan |
β |
|
time |
π |
Things work differently in a LUE C++/Python model. |
timeinput⦠|
β |
? |
timeinput |
β |
? |
timeinputmodulo |
β |
? |
timeinputsparse |
β |
? |
timeoutput |
β |
? |
timeslice |
β |
? |
transient |
β |
2 |
uniform |
β |
|
uniqueid |
β |
unique_id |
upstream |
β |
|
view |
β |
3 |
window4total |
π |
Not needed, LUEβs focal_mean accepts a custom kernel |
windowaverage |
β |
focal_mean |
windowdiversity |
β |
focal_diversity |
windowhighpass |
β |
focal_high_pass |
windowmajority |
β |
focal_majority |
windowmaximum |
β |
focal_maximum |
windowminimum |
β |
focal_minimum |
windowtotal |
β |
focal_sum |
xcoordinate |
π |
Not sure why this is useful⦠|
xor |
β |
|
ycoordinate |
π |
Not sure why this is useful⦠|
Modelling framework#
Like PCRaster, LUE contains helper classes for implementing forward numerical simulation models as well. The lue.pcraster.framework sub package contains classes that behave like the PCRaster Python Framework classes, but are implemented in terms of the LUE classes. Not all PCRaster classes have been ported to LUE yet. The next table lists the current status.
β |
LUE supports this class. It may be that the LUE class and its member functions are named differently, that the member functions support different parameters, or that they accept parameters in a different order. |
β |
This PCRaster class is not considered yet. It may be in the future. |
π |
This PCRaster class is considered, but skipped. See notes for reason. |
1, 2, 3 |
Guesstimate of the amount of effort required to add it: |
PCRaster |
LUE |
Notes |
---|---|---|
|
β |
Work in progress |
|
β |
Work in progress |
|
β |
Work in progress |
|
β |
Work in progress |
|
β |
|
|
β |
|
|
β |
|
|
β |
|
|
β |
|
|
β |
|
|
β |
|
|
β |