@ChoiByungWook Thanks for responding to this so quickly. I'm actually working with @dataist right now to get some TensorFlow models into SageMaker using Elastic Inference. The experience has been very challenging, and I can't seem to find a working path. I should note that it's easy to get things working with CPU-based inference (did not try GPU instance), so that's great.

Here's what I'm seeing:
1. The `sagemaker.tensorflow.serving.Model` class does not use Elastic Inference on `deploy()`, and it doesn't warn about it. The deploy will succeed, and you will be paying for the accelerator, but it won't be doing much. (See https://github.com/aws/sagemaker-python-sdk/blob/bf6805f32927b4e2b4250dddd497a317b91c4d52/src/sagemaker/tensorflow/serving.py#L147 for where the magic doesn't happen).
2. There doesn't appear to be any Docker image builds for Elastic Inference hosted by Amazon. Looking at `sagemaker.fw_utils.create_image_uri`, we can see that the TensorFlow serving image for Elastic Inference should be `520713654638.dkr.ecr.us-east-1.amazonaws.com/sagemaker-tensorflow-serving-eia:1.11-cpu`, where Elastic Inference adds the `-eia` suffix to the framework. (See https://github.com/aws/sagemaker-python-sdk/blob/bf6805f32927b4e2b4250dddd497a317b91c4d52/src/sagemaker/fw_utils.py#L46). Launching an endpoint configuration against a model having this `image` gives a `BatchGetImage` permissions error, which I believe is masking the fact that the image does not exist.
3. One of your colleagues, @mvsusp, has written [extensively](https://medium.com/ml-bytes/how-to-create-a-tensorflow-serving-container-for-aws-sagemaker-4853842c9751) on the subject of hosting TensforFlow models using SageMaker. I followed these instructions. I understand the key piece of infrastructure here is the custom-built `tensorflow_model_server` which can use Elastic Inference. However, I arrive at 1 of two different error states depending on how I use these instructions, and regardless of whether or not I use the `1.11` or `1.12` builds.
3a. One error state uses the `tf_container` proxy client fronted by `gunicorn` and `nginx` as is the standard setup in `sagemaker-tensorflow-container` combined with `sagemaker-container-support`. In this configuration, the model appears to load and there is at least 1 log message confirming the presence of Elastic Inference. The [model metadata are printed](https://github.com/aws/sagemaker-tensorflow-container/blob/5f4a3e4e3083ed36e5c814c68cf06ab2e3025b4e/src/tf_container/proxy_client.py#L91), which appears to occur only after the `tensorflow_model_server` binary loads the model and becomes available on its gRPC and REST sockets. However, attempting to invoke the model using `boto3` always results in a mysterious gRPC error:
```
[2019-02-15 02:11:31,400] ERROR in serving: <_Rendezvous of RPC that terminated with:
#011status = StatusCode.UNKNOWN
#011details = "Unexpected error in RPC handling"
#011debug_error_string = "
{
    "created": "@1550196691.356676869",
    "description": "Error received from peer",
    "file": "src/core/lib/surface/call.cc",
    "file_line": 1036,
    "grpc_message": "Unexpected error in RPC handling",
    "grpc_status": 2
}
"
>
```
After that, it appears the `tensorflow_model_server` server listening socket is terminated, and all subsequent invocations end with the error
```
[2019-02-15 02:11:58,967] ERROR in serving: <_Rendezvous of RPC that terminated with:
#011status = StatusCode.UNAVAILABLE
#011details = "Socket closed"
#011debug_error_string = "
{
    "created": "@1550196718.930033381",
    "description": "Error received from peer",
    "file": "src/core/lib/surface/call.cc",
    "file_line": 1036,
    "grpc_message": "Socket closed",
    "grpc_status": 14
}
"
>
```
3b. The instructions by @mvsusp suggest removing the nginx and gunicorn intermediaries, and running `tensorflow_model_server` directly. This results in memory errors, which I imagine requires the source of the modified `tensorflow_model_server` to debug.
```
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
*** Aborted at 1550244622 (unix time) try "date -d @1550244622" if you are using GNU date ***
PC: @ 0x0 (unknown)
Aborted
```
Interestingly, the 1.11.0 build throws `std::bad_alloc` during the model loading phase, so that it goes into an infinte reload loop. The 1.12.0 build throws on the first invocation request, then reloads and throws again on each subsequent request.

A key challenge in all of this is that it's not possible to test the EI configurations locally, so it takes roughly 15-minute cycles to test various configuration changes sequentially. I'm not sure there's anything easy to do to reduce that pain besides making it easier to test the non-inference parts of the system such as the gRPC layer.

I would be happy to get this working, and I can offer availability to try a couple more things if you all have some good ideas about where to go next. The promise of Elastic Inference is a 10x performance gain on my inference task for only about double the cost. It's great that so much of this code is available open source, but I'm also finding that a lot of the documentation across the Amazon official docs for EI and the repos is not up-to-date and synchronized. I imagine that others trying to do a similar thing as me will also encounter difficulty. Hopefully my issues here help clarify a few of the issues.

Hope to be in touch soon, and thanks for your investments in these resources thus far. We are excited about Sagemaker and want to get this thing running smoothly!


This error would happen if you added `install_shfmt` as an argument to `logmust install_pkgs`


Great work adding the dynamic port, Alex.


Fixed it this morning, thanks!


Hi!  Thanks for improving FreeBSD support!  Could you explain the rationale befind creating a separate definition file for it?  I'm currently trying to build it for FreeBSD, and for the most part, Linux' definitions are fine.


@0xc0170 ,
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 7-2018-q2-update) **7.3.1** 20180622 (release) [ARM/embedded-7-branch revision 261907]


wrong file uploaded


izbegavaj stilove da ubacujes direktno u blade file-ove... ono sto je daleko bolja praksa je da ovo izmestis u neki od scss file-ova.
takodje, koristi klase, a sto manje id-eve kao selektore...


TeamCity Identity and Access Management / Identity - RoleManagementAPI [Build 192-IDAM-119-Roles](https://teamcity.nice.org.uk/viewLog.html?buildId=49939&buildTypeId=IdentityandAccessManagement_RoleManagementAPI) outcome was **SUCCESS**
Summary: Tests passed: 8 Build time: 00:01:41


I was asked for but makes sense if it wanted to keep the Linux's clean enough and also if one day more BSD are ported in another hand.


Incorrect formatting causes Travis to fail.


Successfully aliased the URL <https://ofd-site-osnwouavkm.now.sh> to the following alias.

* https://www.onefinaldoc.com


The current upstream version of google-breakpad contains this file: https://github.com/google/breakpad/blob/79ba6a494fb2097b39f76fe6a4b4b4f407e32a02/src/third_party/libdisasm/README.breakpad

Also the latest libdisasm release on sourceforge contains a `LICENSE` file containing the `Clarified Artistic License`, which is according to Wikipedia GPL compatible: https://en.wikipedia.org/wiki/Artistic_License

Instead of telling me what to do, maybe better send a PR fixing things.


zgy


[R/assertions.R:21:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L21) *style:* **Lines should not be more than 100 characters.**
```r
    onlyExistingCodes <- all(unique(cohortData34to36$ecoregionGroup) %in% unique(cohortData$initialEcoregionCode))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/assertions.R:33:23:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L33) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    obj <- cohortData[ , .N, by = columns]
                      ^
```
[R/assertions.R:33:24:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L33) *style:* **Commas should never have a space before.**
```r
    obj <- cohortData[ , .N, by = columns]
                      ~^
```
[R/assertions.R:53:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L53) *style:* **Lines should not be more than 100 characters.**
```r
      erg[[1]] <- sort(na.omit(unique(factorValues2(ecoregionMap, ecoregionMap[], att = "ecoregionGroup"))))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/assertions.R:61:46:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L61) *style:* **Put spaces around all infix operators.**
```r
    lens <- sapply(erg, function(x) length(x)>1)
                                            ~^~
```
[R/assertions.R:88:56:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L88) *style:* **Commas should always have a space after.**
```r
      stop("obj should be a data.table with at least ",NROW(colNames)," columns: ",
                                                       ^
```
[R/assertions.R:88:71:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L88) *style:* **Commas should always have a space after.**
```r
      stop("obj should be a data.table with at least ",NROW(colNames)," columns: ",
                                                                      ^
```
[R/assertions.R:114:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L114) *style:* **Lines should not be more than 100 characters.**
```r
    test1 <- sum(!a %in% b)  # can be 1 because there could be pixelGroup of 0, which is OK to not match
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/assertions.R:115:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L115) *style:* **Lines should not be more than 100 characters.**
```r
    test2 <- sum(!b %in% a)  # can be 1 because there could be pixelGroup of 0, which is OK to not match
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/assertions.R:122:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L122) *style:* **Lines should not be more than 100 characters.**
```r
      if (test1 > maxExpectedNumDiverge) message("test1 is ", test1, " -- too many pixelGroups on pixelGroupMap")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/assertions.R:123:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L123) *style:* **Lines should not be more than 100 characters.**
```r
      if (test2 > maxExpectedNumDiverge) message("test2 is ", test2, " -- too many pixelGroups in cohortData")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/assertions.R:124:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L124) *style:* **Lines should not be more than 100 characters.**
```r
      stop("The sim$pixelGroupMap and cohortData have unmatching pixelGroup. They must be matching.",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/assertions.R:157:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L157) *style:* **Lines should not be more than 100 characters.**
```r
    test3 <- identical(as.integer(pixelsOnMap - (lenBurnedPixels - pixelsRegeneratedOnZeros)), lenUniquePixelsInCohorts)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/assertions.R:163:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/assertions.R#L163) *style:* **Lines should not be more than 100 characters.**
```r
           " This test is failing, i.e., there are some pixelGroupMaps have pixelGroups, and aren't in pixelCohortData.")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cleanLandWebStudyArea.R:50:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cleanLandWebStudyArea.R#L50) *style:* **Lines should not be more than 100 characters.**
```r
      if (length(na.omit(pmatch(c("ANC", "DMI", "LandWeb", "LP", "MPB", "testing", "tolko"), type))))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:46:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L46) *style:* **Lines should not be more than 100 characters.**
```r
#' @param treedFirePixelTableSinceLastDisp A data.table with at least 2 columns, \code{pixelIndex} and \code{pixelGroup}.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:66:48:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L66) *style:* **Variable and function names should not be longer than 30 characters.**
```r
                             speciesEcoregion, treedFirePixelTableSinceLastDisp = NULL,
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:87:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L87) *style:* **Lines should not be more than 100 characters.**
```r
      message(crayon::green("  Regenerating only open pixels (e.g., likely resprouting & serotiny only)"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:88:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L88) *style:* **Lines should not be more than 100 characters.**
```r
    columnsForPG <- c("ecoregionGroup", "speciesCode", "age") # no Biomass because they all have zero
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:89:31:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L89) *style:* **Commas should always have a space after.**
```r
    cd <- newPixelCohortData[,c("pixelIndex", columnsForPG), with = FALSE]
                              ^
```
[R/cohorts.R:113:20:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L113) *style:* **Commas should always have a space after.**
```r
    cd <- cohorts[,c("pixelIndex", columnsForPG), with = FALSE]
                   ^
```
[R/cohorts.R:120:30:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L120) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
    allCohortData <- cohorts[ , .(ecoregionGroup = ecoregionGroup[1],
                             ^
```
[R/cohorts.R:120:31:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L120) *style:* **Commas should never have a space before.**
```r
    allCohortData <- cohorts[ , .(ecoregionGroup = ecoregionGroup[1],
                             ~^
```
[R/cohorts.R:145:5:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L145) *style:* **Commented code should be removed.**
```r
  # newPixelCohortData[, sumB := sum(B, na.rm = TRUE), by = pixelGroup]
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:215:3:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L215) *style:* **Variable or function name should be lowerCamelCase.**
```r
  specieseco_current <- speciesEcoregionLatestYear(speciesEcoregion, time)
  ^~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:216:3:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L216) *style:* **Variable or function name should be lowerCamelCase.**
```r
  specieseco_current <- setkey(specieseco_current[, .(speciesCode, maxANPP, maxB, ecoregionGroup)],
  ^~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:221:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L221) *style:* **Lines should not be more than 100 characters.**
```r
  # missingNewPixelCohortData <- newPixelCohortData[!specieseco_current, on = uniqueSpeciesEcoregionDefinition]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:221:5:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L221) *style:* **Commented code should be removed.**
```r
  # missingNewPixelCohortData <- newPixelCohortData[!specieseco_current, on = uniqueSpeciesEcoregionDefinition]
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:222:3:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L222) *style:* **Variable or function name should be lowerCamelCase.**
```r
  specieseco_current <- specieseco_current[!is.na(maxB)]
  ^~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:223:24:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L223) *style:* **Variable or function name should be lowerCamelCase.**
```r
  specieseco_current[, maxB_eco := max(maxB), by = ecoregionGroup]
                       ^~~~~~~~
```
[R/cohorts.R:224:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L224) *style:* **Lines should not be more than 100 characters.**
```r
  newPixelCohortData <- specieseco_current[newPixelCohortData, on = uniqueSpeciesEcoregionDefinition]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:226:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L226) *style:* **Lines should not be more than 100 characters.**
```r
  # newPixelCohortData <- newPixelCohortData[specieseco_current, on = uniqueSpeciesEcoregionDefinition,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:228:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L228) *style:* **Lines should not be more than 100 characters.**
```r
  #newPixelCohortData <- setkey(newPixelCohortData, speciesCode, ecoregionGroup)[specieseco_current, nomatch = 0]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:228:4:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L228) *style:* **Commented code should be removed.**
```r
  #newPixelCohortData <- setkey(newPixelCohortData, speciesCode, ecoregionGroup)[specieseco_current, nomatch = 0]
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:233:26:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L233) *style:* **Variable or function name should be lowerCamelCase.**
```r
    newPixelCohortData[, B := NULL]
                         ^
```
[R/cohorts.R:237:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L237) *style:* **Lines should not be more than 100 characters.**
```r
  set(newPixelCohortData, NULL, "B", as.integer(pmin(newPixelCohortData$maxANPP, newPixelCohortData$B)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:273:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L273) *style:* **Lines should not be more than 100 characters.**
```r
  pgsStillInCDGoneFromPGM <- cohortData[whPgsStillInCDGoneFromPGM,] #setdiff(unique(cohortData$pixelGroup), unique(pgmVals$pixelGroup))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:273:67:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L273) *style:* **Commas should always have a space after.**
```r
  pgsStillInCDGoneFromPGM <- cohortData[whPgsStillInCDGoneFromPGM,] #setdiff(unique(cohortData$pixelGroup), unique(pgmVals$pixelGroup))
                                                                  ^
```
[R/cohorts.R:273:70:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L273) *style:* **Commented code should be removed.**
```r
  pgsStillInCDGoneFromPGM <- cohortData[whPgsStillInCDGoneFromPGM,] #setdiff(unique(cohortData$pixelGroup), unique(pgmVals$pixelGroup))
                                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:274:4:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L274) *style:* **Commented code should be removed.**
```r
  #pgsStillInPGMGoneFromCD <- setdiff(unique(pgmVals$pixelGroup), unique(cohortData$pixelGroup))
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:276:64:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L276) *style:* **Commas should always have a space after.**
```r
  pgsStillInPGMGoneFromCD <- pgmVals[whPgsStillInPGMGoneFromCD,]
                                                               ^
```
[R/cohorts.R:328:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L328) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  pcd[ , c(columns2) := lapply(.SD, function(x) {
      ^
```
[R/cohorts.R:328:8:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L328) *style:* **Commas should never have a space before.**
```r
  pcd[ , c(columns2) := lapply(.SD, function(x) {
      ~^
```
[R/cohorts.R:332:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L332) *style:* **Lines should not be more than 100 characters.**
```r
  # concatenate within rows -- e.g., ecoregionCode_speciesCode_age_biomass or 647_11_Abie_sp_100_2000
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:338:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L338) *style:* **Lines should not be more than 100 characters.**
```r
  pcd[ , c("uniqueComboByPixelIndex") := paste(uniqueComboByRow, collapse = "__"), by = "pixelIndex"]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:338:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L338) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  pcd[ , c("uniqueComboByPixelIndex") := paste(uniqueComboByRow, collapse = "__"), by = "pixelIndex"]
      ^
```
[R/cohorts.R:338:8:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L338) *style:* **Commas should never have a space before.**
```r
  pcd[ , c("uniqueComboByPixelIndex") := paste(uniqueComboByRow, collapse = "__"), by = "pixelIndex"]
      ~^
```
[R/cohorts.R:339:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L339) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  pcd[ , c("pixelGroup") := as.integer(maxPixelGroup) + as.integer(factor(uniqueComboByPixelIndex))]
      ^
```
[R/cohorts.R:339:8:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L339) *style:* **Commas should never have a space before.**
```r
  pcd[ , c("pixelGroup") := as.integer(maxPixelGroup) + as.integer(factor(uniqueComboByPixelIndex))]
      ~^
```
[R/cohorts.R:378:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L378) *style:* **Variable and function names should not be longer than 30 characters.**
```r
uniqueSpeciesEcoregionDefinition <- c("speciesCode", "ecoregionGroup")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:390:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L390) *style:* **Lines should not be more than 100 characters.**
```r
  message(magenta("Pixels with non-NA cover:, ", cohortData[!is.na(cover), length(unique(pixelIndex))]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:398:86:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L398) *style:* **Put spaces around all infix operators.**
```r
    pixelsZero <- NROW(cohortData[, all(get(val) == 0), by = "pixelIndex"][get("V1") ==TRUE])
                                                                                ^~~
```
[R/cohorts.R:399:40:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L399) *style:* **Commas should always have a space after.**
```r
    message(magenta("Pixels with all(",val," == 0): ", format(pixelsZero, big.mark = ",")))
                                       ^
```
[R/cohorts.R:399:44:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L399) *style:* **Commas should always have a space after.**
```r
    message(magenta("Pixels with all(",val," == 0): ", format(pixelsZero, big.mark = ",")))
                                           ^
```
[R/cohorts.R:400:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L400) *style:* **Lines should not be more than 100 characters.**
```r
    pixelsBiomassNonZero <- NROW(cohortData[, any(get(val) > 0), by = "pixelIndex"][get("V1") ==TRUE])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:400:95:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L400) *style:* **Put spaces around all infix operators.**
```r
    pixelsBiomassNonZero <- NROW(cohortData[, any(get(val) > 0), by = "pixelIndex"][get("V1") ==TRUE])
                                                                                ^~~
```
[R/cohorts.R:401:40:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L401) *style:* **Commas should always have a space after.**
```r
    message(magenta("Pixels with all(",val," > 0): ", format(pixelsBiomassNonZero, big.mark = ",")))
                                       ^
```
[R/cohorts.R:401:44:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L401) *style:* **Commas should always have a space after.**
```r
    message(magenta("Pixels with all(",val," > 0): ", format(pixelsBiomassNonZero, big.mark = ",")))
                                           ^
```
[R/cohorts.R:402:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L402) *style:* **Lines should not be more than 100 characters.**
```r
    out <- list(pixelsNA = pixelsNA, pixelsZero = pixelsZero, pixelsBiomassNonZero = pixelsBiomassNonZero)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:437:32:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L437) *style:* **Variable or function name should be lowerCamelCase.**
```r
                               availableERC_by_Sp) {
                               ^~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:445:4:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L445) *style:* **Commented code should be removed.**
```r
  #cdEcoregionCodes <- as.character(unique(pixelCohortData$initialEcoregionCode))
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:446:4:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L446) *style:* **Commented code should be removed.**
```r
  #availableERC_by_Sp <- unique(pixelCohortData, by = c("initialEcoregionCode", "speciesCode", "B"))
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:447:4:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L447) *style:* **Commented code should be removed.**
```r
  #availableERC_by_Sp <- availableERC_by_Sp[eval(rowsInPCDToKeep)]
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:448:4:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L448) *style:* **Commented code should be removed.**
```r
  #availableERC_by_Sp <- unique(availableERC_by_Sp, by = c("initialEcoregionCode", "speciesCode"))
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:452:6:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L452) *style:* **Commented code should be removed.**
```r
    #theUnwantedCellsFromCD <- unique(pixelCohortData[lcc %in% pixelClassesToReplace]$pixelIndex)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:453:6:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L453) *style:* **Commented code should be removed.**
```r
    #iden <- identical(sort(unique(theUnwantedPixels)), sort(theUnwantedCellsFromCD))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:455:8:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L455) *style:* **Commented code should be removed.**
```r
    #  stop("values of 34 and 35 on pixelCohortData and sim$LCC2005 don't match")
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:460:5:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L460) *style:* **Commented code should be removed.**
```r
  # availableERC_by_Sp[, initialEcoregionCode := NULL]
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:463:5:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L463) *style:* **Commented code should be removed.**
```r
  # cd <- pixelCohortData[, .(pixelIndex, initialEcoregionCode, speciesCode)]
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:470:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L470) *style:* **Lines should not be more than 100 characters.**
```r
    out <- out[initialPixels != pixels] # rm pixels which are same as initialPixels --> these are known wrong
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:473:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L473) *style:* **Lines should not be more than 100 characters.**
```r
    # out <- unique(availableERC_by_Sp)[out, on = c("pixelIndex" = "pixels"), nomatch = 0] # join the availableERC_by_Sp which has initialEcoregionCode
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:473:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L473) *style:* **Commented code should be removed.**
```r
    # out <- unique(availableERC_by_Sp)[out, on = c("pixelIndex" = "pixels"), nomatch = 0] # join the availableERC_by_Sp which has initialEcoregionCode
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:474:47:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L474) *style:* **Put spaces around all infix operators.**
```r
    out[lcc %in% c(pixelClassesToReplace), lcc:=NA]
                                             ~^~~
```
[R/cohorts.R:476:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L476) *style:* **Commented code should be removed.**
```r
    # out[, `:=`(potentialNewERG = ecoregionGroupVec[pixels])]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:477:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L477) *style:* **Lines should not be more than 100 characters.**
```r
    # attach speciesCode -- need this so that we know which speciesCodes to test against speciesEcoregion
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:478:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L478) *style:* **Lines should not be more than 100 characters.**
```r
    # a <- out[availableERC_by_Sp, allow.cartesian = TRUE, on = c("initialPixels" = "pixelIndex"), nomatch = NA]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:478:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L478) *style:* **Commented code should be removed.**
```r
    # a <- out[availableERC_by_Sp, allow.cartesian = TRUE, on = c("initialPixels" = "pixelIndex"), nomatch = NA]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:480:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L480) *style:* **Lines should not be more than 100 characters.**
```r
                               on = c("pixelIndex" = "initialPixels"), nomatch = NA] # join the availableERC_by_Sp which has initialEcoregionCode
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:482:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L482) *style:* **Lines should not be more than 100 characters.**
```r
    out5[, possERC := paste0(ecoregion, "_", paddedFloatToChar(as.numeric(lcc), padL = 2, padR = 0))]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:483:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L483) *style:* **Lines should not be more than 100 characters.**
```r
    out7 <- out5[availableERG2, on = c("speciesCode", "possERC" = "initialEcoregionCode"), nomatch = NA]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:503:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L503) *style:* **Lines should not be more than 100 characters.**
```r
      rowsToKeep <- out6[, list(keep = .resample(.I, 1)), by = c("pixelIndex")] # random sample of available, weighted by abundance
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:508:8:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L508) *style:* **Commented code should be removed.**
```r
      #out2 <- out2[rowsToKeep$keep]
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:510:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L510) *style:* **Lines should not be more than 100 characters.**
```r
                                      paddedFloatToChar(as.numeric(newPossLCC), padL = 2, padR = 0))]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:513:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L513) *style:* **Lines should not be more than 100 characters.**
```r
      # remove combinations of ecoregionGroup and speciesCode that don't exist -- Now this excludes B = 0
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:514:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L514) *style:* **Lines should not be more than 100 characters.**
```r
      #out2 <- availableERC_by_Sp[out2, on = c("pixelIndex" = "initialPixels", "initialEcoregionCode" = "ecoregionGroup", "speciesCode"),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:516:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L516) *style:* **Lines should not be more than 100 characters.**
```r
      #hasMatch <- out2[, all(!is.na(rasterToMatch)), by = c("pixelIndex", "initialEcoregionCode", "speciesCode")][V1 == TRUE]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:516:8:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L516) *style:* **Commented code should be removed.**
```r
      #hasMatch <- out2[, all(!is.na(rasterToMatch)), by = c("pixelIndex", "initialEcoregionCode", "speciesCode")][V1 == TRUE]
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:518:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L518) *style:* **Lines should not be more than 100 characters.**
```r
      # out2 <- out2[ecoregionGroup %in% cdEcoregionCodes] # remove codes that don't exist in pixelCohortData
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:518:9:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L518) *style:* **Commented code should be removed.**
```r
      # out2 <- out2[ecoregionGroup %in% cdEcoregionCodes] # remove codes that don't exist in pixelCohortData
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:532:5:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L532) *style:* **Commented code should be removed.**
```r
  # setnames(out3, c("initialPixels", "initialEcoregionCode"), c("pixelIndex", "ecoregionGroup"))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:534:5:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L534) *style:* **Commented code should be removed.**
```r
  # out3 <- unique(out3, by = c("pixelIndex", "ecoregionGroup"))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:573:63:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L573) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                           function(x) all(x >= 0 & x <= 100)  ))))
                                                              ^
```
[R/cohorts.R:590:6:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L590) *style:* **Commented code should be removed.**
```r
    #describeCohortData(cohortData)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:598:16:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L598) *style:* **Variable or function name should be lowerCamelCase.**
```r
  cohortData[, V1 := NULL]
               ^~
```
[R/cohorts.R:601:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L601) *style:* **Lines should not be more than 100 characters.**
```r
  # message(crayon::blue("POSSIBLE ALERT -- assume deciduous cover is 1/2 the conversion to B as conifer"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:601:5:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L601) *style:* **Commented code should be removed.**
```r
  # message(crayon::blue("POSSIBLE ALERT -- assume deciduous cover is 1/2 the conversion to B as conifer"))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:602:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L602) *style:* **Lines should not be more than 100 characters.**
```r
  # cohortData[speciesCode == "Popu_sp", cover := asInteger(cover / 2)] # CRAZY TODO -- DIVIDE THE COVER BY 2 for DECIDUOUS -- will only affect mixed stands
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:602:5:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L602) *style:* **Commented code should be removed.**
```r
  # cohortData[speciesCode == "Popu_sp", cover := asInteger(cover / 2)] # CRAZY TODO -- DIVIDE THE COVER BY 2 for DECIDUOUS -- will only affect mixed stands
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:603:14:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L603) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  cohortData[ , cover := {
             ^
```
[R/cohorts.R:603:15:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L603) *style:* **Commas should never have a space before.**
```r
  cohortData[ , cover := {
             ~^
```
[R/cohorts.R:606:31:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L606) *style:* **Put spaces around all infix operators.**
```r
      cover <- asInteger(cover/(sumCover + 0.0001) * 100L)
                             ~^~
```
[R/cohorts.R:606:32:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L606) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      cover <- asInteger(cover/(sumCover + 0.0001) * 100L)
                               ^
```
[R/cohorts.R:613:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L613) *style:* **Lines should not be more than 100 characters.**
```r
  cohortData[ , B := asInteger(mean(totalBiomass) * cover / 100), by = "pixelIndex"] # /100 because cover is percent
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:613:14:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L613) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  cohortData[ , B := asInteger(mean(totalBiomass) * cover / 100), by = "pixelIndex"] # /100 because cover is percent
             ^
```
[R/cohorts.R:613:15:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L613) *style:* **Commas should never have a space before.**
```r
  cohortData[ , B := asInteger(mean(totalBiomass) * cover / 100), by = "pixelIndex"] # /100 because cover is percent
             ~^
```
[R/cohorts.R:613:17:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L613) *style:* **Variable or function name should be lowerCamelCase.**
```r
  cohortData[ , B := asInteger(mean(totalBiomass) * cover / 100), by = "pixelIndex"] # /100 because cover is percent
                ^
```
[R/cohorts.R:615:14:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L615) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  cohortData[ , B := asInteger(ceiling(B / pixelGroupBiomassClass) *
             ^
```
[R/cohorts.R:615:15:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L615) *style:* **Commas should never have a space before.**
```r
  cohortData[ , B := asInteger(ceiling(B / pixelGroupBiomassClass) *
             ~^
```
[R/cohorts.R:615:17:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L615) *style:* **Variable or function name should be lowerCamelCase.**
```r
  cohortData[ , B := asInteger(ceiling(B / pixelGroupBiomassClass) *
                ^
```
[R/cohorts.R:618:14:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L618) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  cohortData[ , totalBiomass := asInteger(totalBiomass)]
             ^
```
[R/cohorts.R:618:15:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L618) *style:* **Commas should never have a space before.**
```r
  cohortData[ , totalBiomass := asInteger(totalBiomass)]
             ~^
```
[R/cohorts.R:623:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L623) *style:* **Lines should not be more than 100 characters.**
```r
  cohortDataMissingAge <- cohortData[, hasBadAge := all(age == 0 & cover > 0) | any(is.na(age)), by = "pixelIndex"][
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:629:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L629) *style:* **Lines should not be more than 100 characters.**
```r
    cohortDataMissingAgeUnique <- cohortDataMissingAgeUnique[cohortData, on = c("initialEcoregionCode", "speciesCode"), nomatch = 0]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:631:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L631) *style:* **Lines should not be more than 100 characters.**
```r
    cohortDataMissingAgeUnique <- cohortDataMissingAgeUnique[, .(B, age, speciesCode, initialEcoregionCode, cover)]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:634:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L634) *style:* **Lines should not be more than 100 characters.**
```r
                                uniqueEcoregionGroup = unique(cohortDataMissingAgeUnique$ecoregionGroup),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:638:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L638) *style:* **Lines should not be more than 100 characters.**
```r
    cohortDataMissingAge[, imputedAge := pmax(0L, asInteger(predict(outAge$mod, newdata = cohortDataMissingAge)))]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:639:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L639) *style:* **Lines should not be more than 100 characters.**
```r
    cohortData <- cohortDataMissingAge[, .(pixelIndex, imputedAge, speciesCode)][cohortData, on = c("pixelIndex", "speciesCode")]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:648:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L648) *style:* **Lines should not be more than 100 characters.**
```r
  message(blue("Set recalculate totalBiomass as sum(B); many biomasses will have been set to 0 in previous steps"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/cohorts.R:649:36:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L649) *style:* **Variable or function name should be lowerCamelCase.**
```r
  cohortData[cover > 0 & age == 0, B := 0L]
                                   ^
```
[R/cohorts.R:655:5:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/cohorts.R#L655) *style:* **Commented code should be removed.**
```r
  # cohortData[ , coverProp := (cover/100 * (NROW(cohortData) - 1) + 0.5) / NROW(cohortData)]
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/LANDIS-II-tables.R:113:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L113) *style:* **Lines should not be more than 100 characters.**
```r
#' \url{https://github.com/LANDIS-II-Foundation/Extensions-Succession/master/biomass-succession-archive/trunk/tests/v6.0-2.0/biomass-succession_test.txt"}).
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/LANDIS-II-tables.R:133:17:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L133) *style:* **Commented code should be removed.**
```r
  maxcol <- 13 #max(count.fields(file.path(dPath, "species.txt"), sep = ""))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/LANDIS-II-tables.R:154:13:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L154) *style:* **Only use double-quotes.**
```r
  species[, ':='(seeddistance_eff = gsub(",", "", seeddistance_eff),
            ^~~~
```
[R/LANDIS-II-tables.R:154:17:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L154) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  species[, ':='(seeddistance_eff = gsub(",", "", seeddistance_eff),
                ^
```
[R/LANDIS-II-tables.R:167:18:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L167) *style:* **Only use double-quotes.**
```r
  speciesAddon[, ':='(leaflongevity = as.numeric(leaflongevity),
                 ^~~~
```
[R/LANDIS-II-tables.R:167:22:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L167) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  speciesAddon[, ':='(leaflongevity = as.numeric(leaflongevity),
                     ^
```
[R/LANDIS-II-tables.R:179:13:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L179) *style:* **Only use double-quotes.**
```r
  species[, ':='(species = paste0(toupper(substring(species1, 1, 1)),
            ^~~~
```
[R/LANDIS-II-tables.R:179:17:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L179) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  species[, ':='(species = paste0(toupper(substring(species1, 1, 1)),
                ^
```
[R/LANDIS-II-tables.R:183:13:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L183) *style:* **Only use double-quotes.**
```r
  species[, ':='(species1 = NULL, species2 = NULL)]
            ^~~~
```
[R/LANDIS-II-tables.R:183:17:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L183) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  species[, ':='(species1 = NULL, species2 = NULL)]
                ^
```
[R/LANDIS-II-tables.R:211:39:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L211) *style:* **Commas should always have a space after.**
```r
  mainInput <- mainInput[col1 != ">>",]
                                      ^
```
[R/LANDIS-II-tables.R:221:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L221) *style:* **Lines should not be more than 100 characters.**
```r
#' \url{https://github.com/LANDIS-II-Foundation/Extensions-Succession/master/biomass-succession-archive/trunk/tests/v6.0-2.0/ecoregion.txt"}).
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/LANDIS-II-tables.R:238:16:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L238) *style:* **Commented code should be removed.**
```r
  maxcol <- 5 #max(count.fields(file.path(dPath, "ecoregions.txt"), sep = ""))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/LANDIS-II-tables.R:254:47:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L254) *style:* **Commas should always have a space after.**
```r
  ecoregion <- ecoregion[col1 != "LandisData",]
                                              ^
```
[R/LANDIS-II-tables.R:255:39:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L255) *style:* **Commas should always have a space after.**
```r
  ecoregion <- ecoregion[col1 != ">>",]
                                      ^
```
[R/LANDIS-II-tables.R:267:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L267) *style:* **Lines should not be more than 100 characters.**
```r
#' \url{https://github.com/LANDIS-II-Foundation/Extensions-Succession/master/biomass-succession-archive/trunk/tests/v6.0-2.0/biomass-succession-dynamic-inputs_test.txt"}).
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/LANDIS-II-tables.R:299:61:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L299) *style:* **Commas should always have a space after.**
```r
  speciesEcoregion <- speciesEcoregion[col1 != "LandisData",]
                                                            ^
```
[R/LANDIS-II-tables.R:300:53:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L300) *style:* **Commas should always have a space after.**
```r
  speciesEcoregion <- speciesEcoregion[col1 != ">>",]
                                                    ^
```
[R/LANDIS-II-tables.R:311:22:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L311) *style:* **Only use double-quotes.**
```r
  speciesEcoregion[, ':='(species = paste0(toupper(substring(species1, 1, 1)),
                     ^~~~
```
[R/LANDIS-II-tables.R:311:26:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L311) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  speciesEcoregion[, ':='(species = paste0(toupper(substring(species1, 1, 1)),
                         ^
```
[R/LANDIS-II-tables.R:314:22:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L314) *style:* **Only use double-quotes.**
```r
  speciesEcoregion[, ':='(species1 = NULL, species2 = NULL)]
                     ^~~~
```
[R/LANDIS-II-tables.R:314:26:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/LANDIS-II-tables.R#L314) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  speciesEcoregion[, ':='(species1 = NULL, species2 = NULL)]
                         ^
```
[R/maps.R:22:29:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L22) *style:* **Variable or function name should be lowerCamelCase.**
```r
defineFlammable <- function(LandCoverClassifiedMap = NULL,
                            ^~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:75:15:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L75) *style:* **Use <-, not =, for assignment.**
```r
      archive = asPath("LandCoverOfCanada2005_V1_4.zip")
              ^
```
[R/maps.R:78:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L78) *style:* **Lines should not be more than 100 characters.**
```r
        url <- "http://ftp.maps.canada.ca/pub/nrcan_rncan/Land-cover_Couverture-du-sol/canada-landcover_canada-couverture-du-sol/CanadaLandcover2010.zip"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:80:17:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L80) *style:* **Use <-, not =, for assignment.**
```r
        archive = asPath("CanadaLandcover2010.zip")
                ^
```
[R/maps.R:127:5:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L127) *style:* **Variable or function name should be lowerCamelCase.**
```r
    MixedRas <- speciesStack[[1]]
    ^~~~~~~~
```
[R/maps.R:131:18:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L131) *style:* **Variable or function name should be lowerCamelCase.**
```r
    speciesStack$Mixed <- MixedRas
                 ^~~~~
```
[R/maps.R:183:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L183) *style:* **Lines should not be more than 100 characters.**
```r
                                           leading = speciesCode[which.max(speciesProportion)]), by = "pixelGroup"]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:187:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L187) *style:* **Lines should not be more than 100 characters.**
```r
  levels(vegTypeMap) <- cbind(levels(vegTypeMap)[[1]], colors = colors[match(levels(vegTypeMap)[[1]][[2]], names(colors))],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:218:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L218) *style:* **Commented code should be removed.**
```r
  #   species[species == "Pice_mar", speciesGroup := "PICE_MAR"]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:219:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L219) *style:* **Commented code should be removed.**
```r
  #   species[species == "Pice_gla", speciesGroup := "PICE_GLA"]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:220:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L220) *style:* **Commented code should be removed.**
```r
  #   species[species == "Abie_sp", speciesGroup := "ABIE"]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:224:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L224) *style:* **Commented code should be removed.**
```r
  #   shortcohortdata[, totalB := sum(B, na.rm = TRUE), by = pixelGroup]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:228:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L228) *style:* **Commented code should be removed.**
```r
  #   shortcohortdata[, speciesProportion := speciesGroupB / totalB]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:230:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L230) *style:* **Commented code should be removed.**
```r
  #   speciesLeading <- NULL
      ^~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:233:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L233) *style:* **Commented code should be removed.**
```r
  #   pixelGroup <- NULL
      ^~~~~~~~~~~~~~~~~~
```
[R/maps.R:234:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L234) *style:* **Commented code should be removed.**
```r
  #   speciesProportion <- NULL
      ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:235:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L235) *style:* **Commented code should be removed.**
```r
  #   speciesGroup <- NULL
      ^~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:236:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L236) *style:* **Commented code should be removed.**
```r
  #   speciesCode <- NULL
      ^~~~~~~~~~~~~~~~~~~
```
[R/maps.R:237:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L237) *style:* **Commented code should be removed.**
```r
  #   totalB <- NULL
      ^~~~~~~~~~~~~~
```
[R/maps.R:239:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L239) *style:* **Commented code should be removed.**
```r
  #   speciesGroupB <- NULL
      ^~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:249:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L249) *style:* **Commented code should be removed.**
```r
  #   shortcohortdata[is.na(speciesLeading), speciesLeading := 0]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:250:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L250) *style:* **Commented code should be removed.**
```r
  #   shortcohortdata[, speciesLeading := max(speciesLeading, na.rm = TRUE), by = pixelGroup]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:251:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L251) *style:* **Commented code should be removed.**
```r
  #   shortcohortdata <- unique(shortcohortdata[, .(pixelGroup, speciesLeading)], by = "pixelGroup")
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:252:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L252) *style:* **Commented code should be removed.**
```r
  #   shortcohortdata[speciesLeading == 0, speciesLeading := 5] # 5 is mixed forests
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:253:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L253) *style:* **Commented code should be removed.**
```r
  #   attritable <- data.table(ID = sort(unique(shortcohortdata$speciesLeading)))
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:258:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L258) *style:* **Commented code should be removed.**
```r
  #   attritable[ID == 5, Factor := "Mixed"]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:259:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L259) *style:* **Commented code should be removed.**
```r
  #   vegTypeMap <- rasterizeReduced(shortcohortdata, pixelGroupMap, "speciesLeading", "pixelGroup")
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:260:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L260) *style:* **Commented code should be removed.**
```r
  #   vegTypeMap <- setValues(vegTypeMap, as.integer(getValues(vegTypeMap)))
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:261:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L261) *style:* **Commented code should be removed.**
```r
  #   levels(vegTypeMap) <- as.data.frame(attritable)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:262:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L262) *style:* **Commented code should be removed.**
```r
  #   projection(vegTypeMap) <- projection(pixelGroupMap)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:375:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L375) *style:* **Lines should not be more than 100 characters.**
```r
  ## select which archives/targetFiles to extract -- because there was "multi" above, need unique here
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:382:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L382) *style:* **Lines should not be more than 100 characters.**
```r
                    archive2 = file.path(dPath, paste0("NFI_MODIS250m_kNN_Species_", kNNnames, "_v0.zip")))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:385:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L385) *style:* **Lines should not be more than 100 characters.**
```r
  if (!all(reproducible::basename2(file_path_sans_ext(names(archives))) == file_path_sans_ext(targetFiles)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:392:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L392) *style:* **Lines should not be more than 100 characters.**
```r
    message("This looks like a lot of species; did you mean to pass only a subset of this to sppEquiv?",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:410:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L410) *style:* **Lines should not be more than 100 characters.**
```r
                         prepInputs, quick = TRUE) # don't need to digest all the "targetFile" and "archives"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:412:77:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L412) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
  noDataLayers <- sapply(speciesLayers, function(x) if (maxValue(x) < thresh ) FALSE else TRUE)
                                                                            ^
```
[R/maps.R:415:76:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L415) *style:* **Commas should always have a space after.**
```r
    message("removing ", sum(!noDataLayers), " species because they had <",thresh,
                                                                           ^
```
[R/maps.R:417:1:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L417) *style:* **Lines should not be more than 100 characters.**
```r
            "\n  These species are retained (and could be further culled manually, if desired):\n  ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:439:5:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L439) *style:* **Commented code should be removed.**
```r
  # layerData <- Cache(sapply, X = speciesLayers, function(x) sum(x[] > 0, na.rm = TRUE))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:441:5:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L441) *style:* **Commented code should be removed.**
```r
  # ## remove layers that had < thresh pixels with biomass
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:442:5:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L442) *style:* **Commented code should be removed.**
```r
  # belowThresh <- layerData < thresh
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/maps.R:444:7:](https://github.com/PredictiveEcology/LandR/blob/241ae8b4a7abb2d17577e4150cf4b7e04fac0039/R/maps.R#L444) *style:* **Commented code should be removed.**
```r
  #   message(names(belowThresh)[belowThresh], " was removed because it had no data")
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


The reason I asked is that existing comparable symbols had only the X_ prefix


Не соблюдаются вложенности.Эти блоки идут не друг за другом, а один вложен в другой => покажи это правильно табами


Thanks. I don't know that part very well so I was a bit struggling to find
the functions I needed. Given that you're looking at it, does the `filter`
I use later on make sense? Or does the fact that we call `resolveName'` with
`[FldName]` ensure all the answers are going to be `FieldName`s anyway?


I'm curious why GetEncoderCount() is now a double? Aren't the counts integers?


gledaj da ove href atribute uskladis i da koristis imenovane rute svuda... sve ovo navodim zbog konzistentnosti koda, a i kako sam vec objasnio mogucnosti da kasnije promenis recimo samu rutu, ali zahvaljujuci tome sto ces ime zadrzati neces morati na svim mestima da pravis promene.
```
href="{{ route('posts.create') }}"
```


Successfully aliased the URL <https://infinidraw-1oeguuhcj.now.sh> to the following aliases.

* https://infinidraw.live
* https://infinidraw.now.sh


@krystian3w Mam dla ciebie zadanie, sprawdź te domeny jeżeli możesz, bo np widzę, że `czas-na-fb.blogspot.com` istnieje i przekierowuje na podejrzaną stronę. Tak więc jeżeli jakieś istnieją w takiej formie, to dodaj je do sekcji hostsplus.


Это чистой воды придирка, но в конце нужно добавить "/" т.к. нет закрывающего тега


TeamCity Identity and Access Management / Identity - RoleManagementAPI [Build 193-r456C6D8](https://teamcity.nice.org.uk/viewLog.html?buildId=49940&buildTypeId=IdentityandAccessManagement_RoleManagementAPI) outcome was **SUCCESS**
Summary: Tests passed: 8 Build time: 00:01:34


TeamCity HearThis / HearThis pull requests [Build *.*.85.081f2c3b7384fe1ccf5272e39851e3ac74cf9192](http://build.palaso.org/viewLog.html?buildId=141207&buildTypeId=HearThis_HearThisPullRequests) outcome was **SUCCESS**
Summary: Running Build time: 00:00:59


Artefact - IR (Data)/data/artefact-api/functions/build/check.mcfunction

Doesn't check if a player has ran the command


Here's the ticket: https://github.com/aws-amplify/amplify-cli/issues/882. Thanks


Why?


Вешать стили на теги - это плохо. Связано это в основном со скоростью поиска браузером и трудностью отладки. Навесь класс или лучше id


@sxxgrc I don't understand why "2_2" is hardcoded?


there was 1px red bar at the bottom of screenshot


Please add an `ini` file as done for other extensions


```
return redirect()->route('posts.index');
```


Лучше отключение браузерных отступов сделать для всех элементов. Ибо они, возможно, часто будут мешать


isto kao i gore...


Alright, isso mesmo!


## Caching the Inverse of a Matrix:
## Matrix inversion is usually a costly computation and there may be some
## benefit to caching the inverse of a matrix rather than compute it repeatedly.
## Below are a pair of functions that are used to create a special object that
## stores a matrix and caches its inverse.

## This function creates a special "matrix" object that can cache its inverse.

makeCacheMatrix <- function(x = matrix()) {
        inv <- NULL
        set <- function(y) {
                x <<- y
                inv <<- NULL
        }
        get <- function() x
        setInverse <- function(inverse) inv <<- inverse
        getInverse <- function() inv
        list(set = set,
             get = get,
             setInverse = setInverse,
             getInverse = getInverse)
}

## This function computes the inverse of the special "matrix" created by
## makeCacheMatrix above. If the inverse has already been calculated (and the
## matrix has not changed), then it should retrieve the inverse from the cache.

cacheSolve <- function(x, ...) {
        ## Return a matrix that is the inverse of 'x'
        inv <- x$getInverse()
        if (!is.null(inv)) {
                message("getting cached data")
                return(inv)
        }
        mat <- x$get()
        inv <- solve(mat, ...)
        x$setInverse(inv)
        inv
}


фиксированное позиционирование необходимо, если мы хотим, чтобы что-то всегда было на экране, даже если мы прокручиваем страницу вниз (к примеру меню сверху)
В данном месте это плохое решение


Because `COPY --from=composer /usr/bin/composer /usr/local/bin/composer` will pull the image anyway, and we don't execute anything from inside the `composer` image.


Muy bien visto, @antoniovalle14 👍


Successfully aliased the URL <https://njzjzgithubio-qjfxvv6gu.now.sh> to the following aliases.

* https://cv.njzjz.win
* https://proxy.njzjz.win
* https://chemapp.njzjz.win
* https://tieba.njzjz.win
* https://group.njzjz.win
* https://github.njzjz.win
* https://internshipdiary.njzjz.win
* https://learning.njzjz.win
* https://hrrna.njzjz.win
* https://navi.njzjz.win


No yet correct:

2019/02/15 17:00:21 - CMDPHP ERROR: A DB Exec Failed!, Error: Unknown column 'id' in 'IN/ALL/ANY subquery'
--
2019/02/15 17:00:21 - CMDPHP PHP ERROR WARNING Backtrace:   (/plugins/monitor/poller_monitor.php[92]:monitor_uptime_checker(),  /plugins/monitor/poller_monitor.php[181]:sizeof(), CactiErrorHandler())
2019/02/15 17:00:21 - ERROR PHP WARNING in  Plugin 'monitor':  sizeof(): Parameter must be an array or an object that implements  Countable in file: /usr/share/cacti/plugins/monitor/poller_monitor.php   on line: 181

2019/02/15  17:00:21 - CMDPHP SQL Backtrace:   (/plugins/monitor/poller_monitor.php[92]:monitor_uptime_checker(),  /plugins/monitor/poller_monitor.php[182]:db_execute(),  /lib/database.php[188]:db_execute_prepared())
--
2019/02/15 17:00:21 - CMDPHP ERROR: A DB Exec Failed!, Error: Unknown column 'id' in 'IN/ALL/ANY subquery'
2019/02/15 17:00:21 - CMDPHP PHP ERROR WARNING Backtrace:   (/plugins/monitor/poller_monitor.php[92]:monitor_uptime_checker(),  /plugins/monitor/poller_monitor.php[181]:sizeof(), CactiErrorHandler())
2019/02/15 17:00:21 - ERROR PHP WARNING in  Plugin 'monitor':  sizeof(): Parameter must be an array or an object that implements  Countable in file: /usr/share/cacti/plugins/monitor/poller_monitor.php   on line: 181
2019/02/15 17:00:21 - CMDPHP SQL Backtrace:   (/plugins/monitor/poller_monitor.php[92]:monitor_uptime_checker(),  /plugins/monitor/poller_monitor.php[176]:db_fetch_assoc(),  /lib/database.php[449]:db_fetch_assoc_prepared(),  /lib/database.php[463]:db_execute_prepared())
2019/02/15 17:00:21 - CMDPHP ERROR: A DB Row Failed!, Error: Unknown column 'mu.id' in 'field list'

aND YOU WORK ONLY ON 1 TABLE, YOU MISSING THE plugin_monitor_reboot_history TABLE


It seems a lot of the issues in this list already have the `not-in-changelog` label (or some other label that implies it). I added some more to issues where it was missing, hopefully I caught all of them.


[R/are_clock_models.R:17:7:](https://github.com/ropensci/beautier/blob/7509ec32e10065ee7112c72bb623de34032496f1/R/are_clock_models.R#L17) *warning:* **no visible global function definition for ‘check_clock_models’**
```r
      check_clock_models(x)
      ^~~~~~~~~~~~~~~~~~
```
[R/are_mrca_taxa_non_intersecting.R:3:41:](https://github.com/ropensci/beautier/blob/7509ec32e10065ee7112c72bb623de34032496f1/R/are_mrca_taxa_non_intersecting.R#L3) *style:* **Trailing whitespace is superfluous.**
```r
#' is, there are no taxa that intersect.
                                        ^
```
[R/check_clock_model.R:38:5:](https://github.com/ropensci/beautier/blob/7509ec32e10065ee7112c72bb623de34032496f1/R/check_clock_model.R#L38) *warning:* **no visible global function definition for ‘check_strict_clock_model’**
```r
    check_strict_clock_model(clock_model)
    ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/check_clock_model.R:41:5:](https://github.com/ropensci/beautier/blob/7509ec32e10065ee7112c72bb623de34032496f1/R/check_clock_model.R#L41) *warning:* **no visible global function definition for ‘check_rln_clock_model’**
```r
    check_rln_clock_model(clock_model)
    ^~~~~~~~~~~~~~~~~~~~~
```
[R/create_beast2_input_file.R:17:12:](https://github.com/ropensci/beautier/blob/7509ec32e10065ee7112c72bb623de34032496f1/R/create_beast2_input_file.R#L17) *style:* **Trailing whitespace is superfluous.**
```r
#' @seealso
           ^
```
[R/create_beast2_input.R:4:12:](https://github.com/ropensci/beautier/blob/7509ec32e10065ee7112c72bb623de34032496f1/R/create_beast2_input.R#L4) *style:* **Trailing whitespace is superfluous.**
```r
#' @seealso
           ^
```
[R/has_xml_closing_tag.R:1:58:](https://github.com/ropensci/beautier/blob/7509ec32e10065ee7112c72bb623de34032496f1/R/has_xml_closing_tag.R#L1) *style:* **Trailing whitespace is superfluous.**
```r
#' Is an XML closing tag with the value of \code{section}
                                                         ^
```
[R/is_clock_model.R:39:7:](https://github.com/ropensci/beautier/blob/7509ec32e10065ee7112c72bb623de34032496f1/R/is_clock_model.R#L39) *warning:* **no visible global function definition for ‘check_rln_clock_model’**
```r
      check_rln_clock_model(x)
      ^~~~~~~~~~~~~~~~~~~~~
```
[R/is_clock_model.R:64:7:](https://github.com/ropensci/beautier/blob/7509ec32e10065ee7112c72bb623de34032496f1/R/is_clock_model.R#L64) *warning:* **no visible global function definition for ‘check_strict_clock_model’**
```r
      check_strict_clock_model(x)
      ^~~~~~~~~~~~~~~~~~~~~~~~
```


Fair enough, thanks for the prompt reply.


@antoniovalle14, todo lo que hay por debajo sobra


Yes, I made a mistake when adding the issues. I'm working in a general fix.


The same applies to the directus/api repository. Would be nice if it will be fixed there, too. Thanks!


>so they are actually 64bit Hashes of the entire possible sampler state.

you mean this is somwhere in out engine?

>So a vector of `SShaderResourceVariant` will need a vector of sampler structs

Do we already have this "sampler struct" somewhere? If not, what it should be then?


Dat kon zelfs nóg simpeler :)

https://markhneedham.com/blog/2009/05/24/tdd-making-the-test-green-quickly/


Please add the specification “`<use-retval/>`” for this function description.


Czyli niby dodać np. `https://rap-share.pl/5b0d6a72` bo go nie  blokujemy jak klika razy dam wpuść mnie dalej tymczasowo w uBO.


TeamCity Identity and Access Management / Identity - ManagementPortal [Build 195-IDAM-116-Https-confi](https://teamcity.nice.org.uk/viewLog.html?buildId=49941&buildTypeId=IdentityandAccessManagement_BuildRoleManagementPortal) outcome was **SUCCESS**
Summary: Tests passed: 1 Build time: 00:04:47


This looks good to me @wpscholar


Hi Dominik,

>The current upstream version of google-breakpad contains this file:
>https://github.com/google/breakpad/blob/79ba6a494fb2097b39f76fe6a4b4b4f407e32a02/src/third_party/libdisasm/README.breakpad
>
>Also the latest libdisasm release on sourceforge contains a `LICENSE`
>file containing the `Clarified Artistic License`,

hm, this is interesting, the licence indeed does not require reproducing
it. It’s still necessary for your *downstreams*, though.

>which is according to Wikipedia GPL compatible:
>https://en.wikipedia.org/wiki/Artistic_License

This is not about GPL compatibility. This is about whether people are
allowed to redistribute breakpad or anything containing it, such as
libcrashreporter-qt, *at all*.

>Instead of telling me what to do, maybe better send a PR fixing things.

I don’t even use this. I was just doing a licence review because
I saw someone wanted to add this to a project, because I, from
experience, do NOT assume upstreams did that right (and right I
am, often enough; I found 98 licence violations in one project
several weeks ago, but they were grateful for my help in discovering
them).

The correct thing to do is to add (cherry-pick) the commit
8ba59492ab1ffbcd7c2dfedbe9319b43aa360051 from the
https://github.com/google/breakpad repository, so that you’ll
end up distributing licencing metadata. There, no PR needed.


Will do 👍


TDD loop: red-green-refactor. Zou je tot een andere oplossing zijn gekomen als je test case per test case afwerkt ipv een paar testcases tegelijk beschouwt?

Mogelijke test volgorde:
1) "I" is een easy test case om de API mee te speccen
2) "II", "III" zijn goede volgende testcases maar zelfde equivalence class: http://xunitpatterns.com/equivalence%20class.html
3) "V" is een ander beest, maar kan je nog mee weg door het "te faken"
4) "IV" is weer een ander geval
5) "X", "IX" , hier zou je misschien al een patroon kunnen opmerken


Please add the specification “`<use-retval/>`” also for this function description.


I have cleaned the page addng comments to each section. I'v add the nav, logo and hero img. @Jheinz1999


lab


I'll have to work on this over the weekend.  Feel free to create a pull request if you have time to fix it 👍


Addresses #47
Also added password input to the local/global environment so that the script can log you back in without a password reprompt.


Successfully aliased the URL <https://njzjzgithubio-l8j61niwv.now.sh> to the following aliases.

* https://cv.njzjz.win
* https://proxy.njzjz.win
* https://chemapp.njzjz.win
* https://tieba.njzjz.win
* https://group.njzjz.win
* https://github.njzjz.win
* https://internshipdiary.njzjz.win
* https://learning.njzjz.win
* https://hrrna.njzjz.win
* https://navi.njzjz.win


TeamCity Identity and Access Management / Identity - ManagementPortal [Build 196-IDAM-116-Https-confi](https://teamcity.nice.org.uk/viewLog.html?buildId=49943&buildTypeId=IdentityandAccessManagement_BuildRoleManagementPortal) outcome was **SUCCESS**
Summary: Tests passed: 1 Build time: 00:04:46


@Khrin https://forums.lanik.us/viewtopic.php?f=64&t=42619


Alright, now we're getting somewhere. Ik ben benieuwd of je met kleinere stappen (i.e. test case per test case + nadenken over de volgorde van die testcases als comment in vorige commit) tot hetzelfde eindresultaat zou geraakt zijn.


I pushed my fix. I think you can still get `UnknownName`, so I left the check on `FldName` in.


Successfully aliased the URL <https://ofd-site-kzkwiwseni.now.sh> to the following alias.

* https://www.onefinaldoc.com


wrong comment.


[R/are_clock_models.R:17:7:](https://github.com/ropensci/beautier/blob/1375d7df39d68155521ca7d70016777fe3effb70/R/are_clock_models.R#L17) *warning:* **no visible global function definition for ‘check_clock_models’**
```r
      check_clock_models(x)
      ^~~~~~~~~~~~~~~~~~
```
[R/are_mrca_taxa_non_intersecting.R:3:41:](https://github.com/ropensci/beautier/blob/1375d7df39d68155521ca7d70016777fe3effb70/R/are_mrca_taxa_non_intersecting.R#L3) *style:* **Trailing whitespace is superfluous.**
```r
#' is, there are no taxa that intersect.
                                        ^
```
[R/check_clock_model.R:38:5:](https://github.com/ropensci/beautier/blob/1375d7df39d68155521ca7d70016777fe3effb70/R/check_clock_model.R#L38) *warning:* **no visible global function definition for ‘check_strict_clock_model’**
```r
    check_strict_clock_model(clock_model)
    ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/check_clock_model.R:41:5:](https://github.com/ropensci/beautier/blob/1375d7df39d68155521ca7d70016777fe3effb70/R/check_clock_model.R#L41) *warning:* **no visible global function definition for ‘check_rln_clock_model’**
```r
    check_rln_clock_model(clock_model)
    ^~~~~~~~~~~~~~~~~~~~~
```
[R/create_beast2_input_file.R:17:12:](https://github.com/ropensci/beautier/blob/1375d7df39d68155521ca7d70016777fe3effb70/R/create_beast2_input_file.R#L17) *style:* **Trailing whitespace is superfluous.**
```r
#' @seealso
           ^
```
[R/create_beast2_input.R:4:12:](https://github.com/ropensci/beautier/blob/1375d7df39d68155521ca7d70016777fe3effb70/R/create_beast2_input.R#L4) *style:* **Trailing whitespace is superfluous.**
```r
#' @seealso
           ^
```
[R/has_xml_closing_tag.R:1:58:](https://github.com/ropensci/beautier/blob/1375d7df39d68155521ca7d70016777fe3effb70/R/has_xml_closing_tag.R#L1) *style:* **Trailing whitespace is superfluous.**
```r
#' Is an XML closing tag with the value of \code{section}
                                                         ^
```
[R/is_clock_model.R:39:7:](https://github.com/ropensci/beautier/blob/1375d7df39d68155521ca7d70016777fe3effb70/R/is_clock_model.R#L39) *warning:* **no visible global function definition for ‘check_rln_clock_model’**
```r
      check_rln_clock_model(x)
      ^~~~~~~~~~~~~~~~~~~~~
```
[R/is_clock_model.R:64:7:](https://github.com/ropensci/beautier/blob/1375d7df39d68155521ca7d70016777fe3effb70/R/is_clock_model.R#L64) *warning:* **no visible global function definition for ‘check_strict_clock_model’**
```r
      check_strict_clock_model(x)
      ^~~~~~~~~~~~~~~~~~~~~~~~
```


This looks great to me.


# Specs execution successful
:scroll: [View logs](http://bamboo.comnull)
### Plans updated

Bamboo specs have been successfully imported and the following plans have been updated.

Project | Plan | Build
---|---|---
[Test](http://bamboo.com/browse/TEST) | [Comment test](http://bamboo.com/browse/TEST-CTEST)  | :white_check_mark: [\#1](http://bamboo.com/browse/TEST-CTEST-1)
[New project](http://bamboo.com/browse/NEW) | [Disabled plan](http://bamboo.com/browse/NEW-DISABLED) **disabled** | :white_check_mark: [\#1](http://bamboo.com/browse/NEW-DISABLED-1)

### Deployments updated

Bamboo specs have been successfully imported and the following deployment projects have been updated.

|Deployment project |
----|
[Deployment test](http://bamboo.com/deploy/viewDeploymentProjectVersions.action?id=2162689)|


Die test ziet rood nu, hoe zou je op dit moment de productiecode kunnen tweaken om 0 en 1 cases te ondersteunen?


Hi @albinscode, also nice to meet you again!  Nothing abandoned only forgotten and shifted the focus on different topics in crawler development.  After a quick look: there are still a couple of TODOs, also the unit tests fail partially. I'll rebase this branch to the recent master and also open a pull-request. But cannot guarantee that I find time to do the final work soon. Help is welcome of course, e.g., run the unit test (via `ant test-plugin -Dplugin=parse-xsl`) and look what's wrong with the DOM built by the tagsoup parser. A README would be also great so that users have some guidance how to configure the plugin. Thanks!


@Yomguithereal if it avoids hardcoding permalinks, I'm all for passing this information to the `pageContext` 👍


Successfully aliased the URL <https://simon-kjellberg-rzpbrdkmvl.now.sh> to the following aliases.

* https://simonkjellberg.com
* https://www.simonkjellberg.com
* https://simonkjellberg.se
* https://www.simonkjellberg.se


👍

Zou je het ook kunnen oplossen zonder for loop (hint: stream API)?


The old GAME.py file is now separated to 5 different files for better readability.


Sorry for the typo in commit's name: The number should be the date: 20190213


Hi. You can test it by changing the branch from master to deadlocked, then downloading the zip file from the clone to download button.

That old version that I forked from is hardcoded for 4 channels, so it won't recognise the 6 channel audio.

Still some issues to work out if the new branch, it duplicates the audio metadata t the moment, hopefully will sort that out shortly. Then I've got a find a way to create the ambisonic 4 + 2 data for test with


Did not know this '|' was a thing, nice!


Created multidev environment [ecrac#ci-272](https://dashboard.pantheon.io/sites/1291b6c7-9029-4c6d-867f-caf641f6fade#ci-272).

[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://ci-272-ecrac.pantheonsite.io/)


inverse-model (mjwitte) - x86_64-Linux-Ubuntu-18.04-gcc-7.3: OK (3148 of 3149 tests passed, 1 test warnings)

Messages:

 * 1 test had: AUD diffs.
 * 1 test had: ERR diffs.
 * 1 test had: MTD diffs.

Failures:

EnergyPlusFixture Test Summary
 * Passed: 727
 * Failed: 1

![Build Badge](http://img.shields.io/badge/build%20status-warnings-yellow.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.97%25-yellow.png)


Added Progen:  https://discordbots.org/bot/495293590503817237


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

Client ID project/taskcluster/tc-github/production does not have sufficient scopes and are missing the following scopes:

```
{
  "AllOf": [
    "assume:hook-id:project-releng/services-master-*",
    "hooks:modify-hook:project-releng/services-master-*",
    "queue:create-task:highest:aws-provisioner-v1/releng-*",
    "queue:route:index.project.releng.services.requests.master.*",
    "secrets:get:repo:github.com/mozilla-releng/services:branch:master",
    "docker-worker:capability:privileged",
    "queue:route:index.project.releng.services.requests.master.by-timestamp.1550247823156",
    "queue:route:index.project.releng.services.requests.master.by-revision.a3b340b72518f0c0c3c6044450ebdf71ce415a1c",
    {
      "AnyOf": [
        "queue:create-task:highest:aws-provisioner-v1/releng-svc",
        "queue:create-task:very-high:aws-provisioner-v1/releng-svc",
        "queue:create-task:high:aws-provisioner-v1/releng-svc"
      ]
    }
  ]
}
```

You have the scopes:

```
[
  "assume:repo:github.com/marco-c/release-services:branch:master",
  "queue:create-task:aws-provisioner-v1/github-worker",
  "queue:create-task:aws-provisioner-v1/win2012r2",
  "queue:route:index.garbage.*",
  "queue:route:statuses",
  "queue:scheduler-id:taskcluster-github",
  "secrets:get:garbage/*",
  "secrets:set:garbage/*"
]
```

This request requires you to satisfy this scope expression:

```
{
  "AllOf": [
    "assume:hook-id:project-releng/services-master-*",
    "hooks:modify-hook:project-releng/services-master-*",
    "queue:create-task:highest:aws-provisioner-v1/releng-*",
    "queue:scheduler-id:taskcluster-github",
    "queue:route:index.project.releng.services.requests.master.*",
    "secrets:get:repo:github.com/mozilla-releng/services:branch:master",
    "docker-worker:capability:privileged",
    "queue:route:index.project.releng.services.requests.master.by-timestamp.1550247823156",
    "queue:route:index.project.releng.services.requests.master.by-revision.a3b340b72518f0c0c3c6044450ebdf71ce415a1c",
    "queue:route:statuses",
    {
      "AnyOf": [
        {
          "AllOf": [
            "queue:scheduler-id:taskcluster-github",
            {
              "AnyOf": [
                "queue:create-task:highest:aws-provisioner-v1/releng-svc",
                "queue:create-task:very-high:aws-provisioner-v1/releng-svc",
                "queue:create-task:high:aws-provisioner-v1/releng-svc"
              ]
            }
          ]
        }
      ]
    }
  ]
}
```

---

* method:     createTask
* errorCode:  InsufficientScopes
* statusCode: 403
* time:       2019-02-15T16:23:43.631Z

</details>


HOLA, did not see that Optional coming 😄


Probably it is not needed at all. I was investigating a segfault but figured the problem was with A6519 overflowing an integer; changed to long and it worked.


I'll try to do that when my linux boots again :)


Yes - the implementation assumes that throughout.


Checken voor de "some" case van een Optional is considered an antipattern. What happens in the monad stays in the monad!

Further reading: http://blog.ploeh.dk/2019/02/04/how-to-get-the-value-out-of-the-monad/


inverse-model (mjwitte) - x86_64-MacOS-10.13-clang: OK (3108 of 3109 tests passed, 1 test warnings)

Messages:

 * 1 test had: AUD diffs.
 * 1 test had: ERR diffs.
 * 1 test had: MTD diffs.

Failures:

EnergyPlusFixture Test Summary
 * Passed: 727
 * Failed: 1

![Build Badge](http://img.shields.io/badge/build%20status-warnings-yellow.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.97%25-yellow.png)


IBM Cloud [toolchain](https://console.bluemix.net/devops/toolchains/7ddb5d18-3045-45e8-ac78-fd436676255b?env_id=ibm%3Ayp%3Aeu-de "Toolchain SanPa"): [Delivery Pipeline](https://console.bluemix.net/devops/pipelines/662e73fe-4bb5-4775-b8aa-bfaffbc1d68c?env_id=ibm%3Ayp%3Aeu-de "IBM SanPa Pipeline") deployed [SanPatrignanoChatbot](https://github.com/ibm-sanpa/SanPatrignanoChatbot/releases/tag/deploy-ibm-yp-eu-de-rboccia-it.ibm.com-SanPa-20190215-162734 "deploy-ibm-yp-eu-de-rboccia-it.ibm.com-SanPa-20190215-162734") to [SanPa](https://console.bluemix.net/apps/55b1aa1d-7b3e-4f3e-9fc3-746ea9f398ab?env_id=ibm:yp:eu-de "ibm:yp:eu-de:rboccia@it.ibm.com:SanPa"), including this commit


I did a bunch of tests yesterday and managed to inject the correct metadata for 6 channels using the Google injector, then VR180 Creator to change it for VR180.  However, it appears that YouTube doesn't support any form of ambisonic audio for VR180 at all, only seems to work with 360 video.  All VR180 videos just use a stereo downmix.


inverse-model (mjwitte) - x86_64-Linux-Ubuntu-18.04-cppcheck-1.82: OK (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png)


To tak, sprawdzone, jedno :hankey:  zablokowane, klika nazw blogów "wrogo" przejęte na moje konto GMail.


This commit looks good to me @wpscholar


java stream API heeft hier ook een shorthand voor:  google java stream partition


@roschaefer but it complains about `style-resources`, is it missing?


cool! Yes, these powers of 2 tend to quickly overflow :)


Created multidev environment [ecrac#ci-274](https://dashboard.pantheon.io/sites/1291b6c7-9029-4c6d-867f-caf641f6fade#ci-274).

[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://ci-274-ecrac.pantheonsite.io/)


perfect.


Это не таблица. Ищи как это сделать через css


Thumbs up on this one @wpscholar


Approved @wpscholar


Successfully aliased the URL <https://design-docs-gqtlyb10g.now.sh> to the following alias.

* https://aaptiv.design


Successfully aliased the URL <https://justool-q6p2smsqg.now.sh> to the following alias.

* https://justool.now.sh


IBM Cloud [toolchain](https://console.bluemix.net/devops/toolchains/7ddb5d18-3045-45e8-ac78-fd436676255b?env_id=ibm%3Ayp%3Aeu-de "Toolchain SanPa"): [Delivery Pipeline](https://console.bluemix.net/devops/pipelines/662e73fe-4bb5-4775-b8aa-bfaffbc1d68c?env_id=ibm%3Ayp%3Aeu-de "IBM SanPa Pipeline") deployed [SanPatrignanoChatbot](https://github.com/ibm-sanpa/SanPatrignanoChatbot/releases/tag/deploy-ibm-yp-eu-de-rboccia-it.ibm.com-SanPa-20190215-163130 "deploy-ibm-yp-eu-de-rboccia-it.ibm.com-SanPa-20190215-163130") to [SanPa](https://console.bluemix.net/apps/55b1aa1d-7b3e-4f3e-9fc3-746ea9f398ab?env_id=ibm:yp:eu-de "ibm:yp:eu-de:rboccia@it.ibm.com:SanPa"), including this commit


Please add the specification “`<use-retval/>`” for this function description.


Not yet fully translated


ok