0

I am a complete beginner in javascript.

I want to create a custom evalscript on sentinelhub that allows me to retrieve via a WMS request with the python API the Sentinel 2 L2A raw bands as well as the CAB, LAI, FAPAR, FCOVER and CCC products. Added to that I try to optimize the processing units.

For that I started from the following links:

  • raw bands : "https://github.com/sentinel-hub/custom-scripts/tree/master/sentinel-2/bands"
  • CAB : "https://github.com/sentinel-hub/custom-scripts/blob/master/sentinel-2/cab/script.js"
  • FAPAR : "https://github.com/sentinel-hub/custom-scripts/blob/master/sentinel-2/fapar/script.js"
  • FCOVER : "https://github.com/sentinel-hub/custom-scripts/blob/master/sentinel-2/fcover/script.js"
  • LAI : "https://github.com/sentinel-hub/custom-scripts/blob/master/sentinel-2/lai/script.js"
  • CCC : "https://github.com/sentinel-hub/custom-scripts/tree/master/sentinel-2/ccc"
  • optimization of processing units via sample type : "https://medium.com/sentinel-hub/sampletype-whats-all-the-fuss-about-d7348b4de647"

I have currently used up all my credits/processing units because of the different tests I have done. Also, I haven't found anywhere a way to test the evalscript before testing it in real life.

In addition to that I would like to resample all bands to 10m resolution when this is not the case. I have not yet integrated this into the code below.

Could you tell me if what I did is correct? Thanks in advance.

Here is the code I have written so far

//VERSION=3

var degToRad = Math.PI / 180;

//Main

function evaluatePixelOrig(samples) {
  var sample = samples[0];
  var b03_norm = normalize(sample.B03, 0, 0.253061520471542);
  var b04_norm = normalize(sample.B04, 0, 0.290393577911328);
  var b05_norm = normalize(sample.B05, 0, 0.305398915248555);
  var b06_norm = normalize(sample.B06, 0.006637972542253, 0.608900395797889);
  var b07_norm = normalize(sample.B07, 0.013972727018939, 0.753827384322927);
  var b8a_norm = normalize(sample.B8A, 0.026690138082061, 0.782011770669178);
  var b11_norm = normalize(sample.B11, 0.016388074192258, 0.493761397883092);
  var b12_norm = normalize(sample.B12, 0, 0.493025984460231);
  var viewZen_norm = normalize(Math.cos(sample.viewZenithMean * degToRad), 0.918595400582046, 1);
  var sunZen_norm  = normalize(Math.cos(sample.sunZenithAngles * degToRad), 0.342022871159208, 0.936206429175402);
  var relAzim_norm = Math.cos((sample.sunAzimuthAngles - sample.viewAzimuthMean) * degToRad)
  
  var n1_cab = neuron1_cab(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n2_cab = neuron2_cab(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n3_cab = neuron3_cab(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n4_cab = neuron4_cab(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n5_cab = neuron5_cab(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var l2_cab = layer2_cab(n1_cab, n2_cab, n3_cab, n4_cab, n5_cab);
  var cab = denormalize(l2_cab, 0.007426692959872, 873.908222110306);
  
  var n1_fapar = neuron1_fapar(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n2_fapar = neuron2_fapar(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n3_fapar = neuron3_fapar(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n4_fapar = neuron4_fapar(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n5_fapar = neuron5_fapar(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var l2_fapar = layer2_fapar(n1_fapar, n2_fapar, n3_fapar, n4_fapar, n5_fapar);
  var fapar = denormalize(l2_fapar, 0.000153013463222, 0.977135096979553);
  
  var n1_fcover = neuron1_fcover(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n2_fcover = neuron2_fcover(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n3_fcover = neuron3_fcover(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n4_fcover = neuron4_fcover(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n5_fcover = neuron5_fcover(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var l2_fcover = layer2_fcover(n1_fcover, n2_fcover, n3_fcover, n4_fcover, n5_fcover);
  var fcover = denormalize(l2_fcover, 0.000181230723879, 0.999638214715);
  
  var n1_lai = neuron1_lai(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n2_lai = neuron2_lai(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n3_lai = neuron3_lai(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n4_lai = neuron4_lai(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var n5_lai = neuron5_lai(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm);
  var l2_lai = layer2_lai(n1_lai, n2_lai, n3_lai, n4_lai, n5_lai);
  var lai = denormalize(l2_lai, 0.000319182538301, 14.4675094548151);
  
  var ccc = lai * cab
  
  return {
      default: [
      cab / 300,
      fapar,
      fcover,
      lai / 3,
      ccc
      ]
  }
  
}

//CAB

function neuron1_cab(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
      4.242299670155190
    + 0.400396555256580 * b03_norm
    + 0.607936279259404 * b04_norm
    + 0.137468650780226 * b05_norm
    - 2.955866573461640 * b06_norm
    - 3.186746687729570 * b07_norm
    + 2.206800751246430 * b8a_norm
    - 0.313784336139636 * b11_norm
    + 0.256063547510639 * b12_norm
    - 0.071613219805105 * viewZen_norm
    + 0.510113504210111 * sunZen_norm
    + 0.142813982138661 * relAzim_norm;

  return tansig(sum);
}

function neuron2_cab(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    - 0.259569088225796
    - 0.250781102414872 * b03_norm
    + 0.439086302920381 * b04_norm
    - 1.160590937522300 * b05_norm
    - 1.861935250269610 * b06_norm
    + 0.981359868451638 * b07_norm
    + 1.634230834254840 * b8a_norm
    - 0.872527934645577 * b11_norm
    + 0.448240475035072 * b12_norm
    + 0.037078083501217 * viewZen_norm
    + 0.030044189670404 * sunZen_norm
    + 0.005956686619403 * relAzim_norm;

  return tansig(sum);
}

function neuron3_cab(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    + 3.130392627338360
    + 0.552080132568747 * b03_norm
    - 0.502919673166901 * b04_norm
    + 6.105041924966230 * b05_norm
    - 1.294386119140800 * b06_norm
    - 1.059956388352800 * b07_norm
    - 1.394092902418820 * b8a_norm
    + 0.324752732710706 * b11_norm
    - 1.758871822827680 * b12_norm
    - 0.036663679860328 * viewZen_norm
    - 0.183105291400739 * sunZen_norm
    - 0.038145312117381 * relAzim_norm;

  return tansig(sum);
}

function neuron4_cab(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    + 0.774423577181620
    + 0.211591184882422 * b03_norm
    - 0.248788896074327 * b04_norm
    + 0.887151598039092 * b05_norm
    + 1.143675895571410 * b06_norm
    - 0.753968830338323 * b07_norm
    - 1.185456953076760 * b8a_norm
    + 0.541897860471577 * b11_norm
    - 0.252685834607768 * b12_norm
    - 0.023414901078143 * viewZen_norm
    - 0.046022503549557 * sunZen_norm
    - 0.006570284080657 * relAzim_norm;

  return tansig(sum);
}

function neuron5_cab(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    + 2.584276648534610
    + 0.254790234231378 * b03_norm
    - 0.724968611431065 * b04_norm
    + 0.731872806026834 * b05_norm
    + 2.303453821021270 * b06_norm
    - 0.849907966921912 * b07_norm
    - 6.425315500537270 * b8a_norm
    + 2.238844558459030 * b11_norm
    - 0.199937574297990 * b12_norm
    + 0.097303331714567 * viewZen_norm
    + 0.334528254938326 * sunZen_norm
    + 0.113075306591838 * relAzim_norm;

  return tansig(sum);
}

function layer2_cab(neuron1_cab, neuron2_cab, neuron3_cab, neuron4_cab, neuron5_cab) {
  var sum =
    + 0.463426463933822
    - 0.352760040599190 * neuron1_cab
    - 0.603407399151276 * neuron2_cab
    + 0.135099379384275 * neuron3_cab
    - 1.735673123851930 * neuron4_cab
    - 0.147546813318256 * neuron5_cab;

  return sum;
}

//FAPAR

function neuron1_fapar(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    - 0.887068364040280
    + 0.268714454733421 * b03_norm
    - 0.205473108029835 * b04_norm
    + 0.281765694196018 * b05_norm
    + 1.337443412255980 * b06_norm
    + 0.390319212938497 * b07_norm
    - 3.612714342203350 * b8a_norm
    + 0.222530960987244 * b11_norm
    + 0.821790549667255 * b12_norm
    - 0.093664567310731 * viewZen_norm
    + 0.019290146147447 * sunZen_norm
    + 0.037364446377188 * relAzim_norm;

  return tansig(sum);
}

function neuron2_fapar(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    + 0.320126471197199
    - 0.248998054599707 * b03_norm
    - 0.571461305473124 * b04_norm
    - 0.369957603466673 * b05_norm
    + 0.246031694650909 * b06_norm
    + 0.332536215252841 * b07_norm
    + 0.438269896208887 * b8a_norm
    + 0.819000551890450 * b11_norm
    - 0.934931499059310 * b12_norm
    + 0.082716247651866 * viewZen_norm
    - 0.286978634108328 * sunZen_norm
    - 0.035890968351662 * relAzim_norm;

  return tansig(sum);
}

function neuron3_fapar(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    + 0.610523702500117
    - 0.164063575315880 * b03_norm
    - 0.126303285737763 * b04_norm
    - 0.253670784366822 * b05_norm
    - 0.321162835049381 * b06_norm
    + 0.067082287973580 * b07_norm
    + 2.029832288655260 * b8a_norm
    - 0.023141228827722 * b11_norm
    - 0.553176625657559 * b12_norm
    + 0.059285451897783 * viewZen_norm
    - 0.034334454541432 * sunZen_norm
    - 0.031776704097009 * relAzim_norm;

  return tansig(sum);
}

function neuron4_fapar(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    - 0.379156190833946
    + 0.130240753003835 * b03_norm
    + 0.236781035723321 * b04_norm
    + 0.131811664093253 * b05_norm
    - 0.250181799267664 * b06_norm
    - 0.011364149953286 * b07_norm
    - 1.857573214633520 * b8a_norm
    - 0.146860751013916 * b11_norm
    + 0.528008831372352 * b12_norm
    - 0.046230769098303 * viewZen_norm
    - 0.034509608392235 * sunZen_norm
    + 0.031884395036004 * relAzim_norm;

  return tansig(sum);
}

function neuron5_fapar(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    + 1.353023396690570
    - 0.029929946166941 * b03_norm
    + 0.795804414040809 * b04_norm
    + 0.348025317624568 * b05_norm
    + 0.943567007518504 * b06_norm
    - 0.276341670431501 * b07_norm
    - 2.946594180142590 * b8a_norm
    + 0.289483073507500 * b11_norm
    + 1.044006950440180 * b12_norm
    - 0.000413031960419 * viewZen_norm
    + 0.403331114840215 * sunZen_norm
    + 0.068427130526696 * relAzim_norm;

  return tansig(sum);
}

function layer2_fapar(neuron1_fapar, neuron2_fapar, neuron3_fapar, neuron4_fapar, neuron5_fapar) {
  var sum =
    - 0.336431283973339
    + 2.126038811064490 * neuron1_fapar
    - 0.632044932794919 * neuron2_fapar
    + 5.598995787206250 * neuron3_fapar
    + 1.770444140578970 * neuron4_fapar
    - 0.267879583604849 * neuron5_fapar;

  return sum;
}

//FCOVER

function neuron1_fcover(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    - 1.45261652206
    - 0.156854264841 * b03_norm
    + 0.124234528462 * b04_norm
    + 0.235625516229 * b05_norm
    - 1.8323910258 * b06_norm
    - 0.217188969888 * b07_norm
    + 5.06933958064 * b8a_norm
    - 0.887578008155 * b11_norm
    - 1.0808468167 * b12_norm
    - 0.0323167041864 * viewZen_norm
    - 0.224476137359 * sunZen_norm
    - 0.195523962947 * relAzim_norm;

  return tansig(sum);
}

function neuron2_fcover(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    - 1.70417477557
    - 0.220824927842 * b03_norm
    + 1.28595395487 * b04_norm
    + 0.703139486363 * b05_norm
    - 1.34481216665 * b06_norm
    - 1.96881267559 * b07_norm
    - 1.45444681639 * b8a_norm
    + 1.02737560043 * b11_norm
    - 0.12494641532 * b12_norm
    + 0.0802762437265 * viewZen_norm
    - 0.198705918577 * sunZen_norm
    + 0.108527100527 * relAzim_norm;

  return tansig(sum);
}

function neuron3_fcover(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    + 1.02168965849
    - 0.409688743281 * b03_norm
    + 1.08858884766 * b04_norm
    + 0.36284522554 * b05_norm
    + 0.0369390509705 * b06_norm
    - 0.348012590003 * b07_norm
    - 2.0035261881 * b8a_norm
    + 0.0410357601757 * b11_norm
    + 1.22373853174 * b12_norm
    + -0.0124082778287 * viewZen_norm
    - 0.282223364524 * sunZen_norm
    + 0.0994993117557 * relAzim_norm;

  return tansig(sum);
}

function neuron4_fcover(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    - 0.498002810205
    - 0.188970957866 * b03_norm
    - 0.0358621840833 * b04_norm
    + 0.00551248528107 * b05_norm
    + 1.35391570802 * b06_norm
    - 0.739689896116 * b07_norm
    - 2.21719530107 * b8a_norm
    + 0.313216124198 * b11_norm
    + 1.5020168915 * b12_norm
    + 1.21530490195 * viewZen_norm
    - 0.421938358618 * sunZen_norm
    + 1.48852484547 * relAzim_norm;

  return tansig(sum);
}

function neuron5_fcover(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    - 3.88922154789
    + 2.49293993709 * b03_norm
    - 4.40511331388 * b04_norm
    - 1.91062012624 * b05_norm
    - 0.703174115575 * b06_norm
    - 0.215104721138 * b07_norm
    - 0.972151494818 * b8a_norm
    - 0.930752241278 * b11_norm
    + 1.2143441876 * b12_norm
    - 0.521665460192 * viewZen_norm
    - 0.445755955598 * sunZen_norm
    + 0.344111873777 * relAzim_norm;

  return tansig(sum);
}

function layer2_fcover(neuron1_fcover, neuron2_fcover, neuron3_fcover, neuron4_fcover, neuron5_fcover) {
  var sum =
    - 0.0967998147811
    + 0.23080586765 * neuron1_fcover
    - 0.333655484884 * neuron2_fcover
    - 0.499418292325 * neuron3_fcover
    + 0.0472484396749 * neuron4_fcover
    - 0.0798516540739 * neuron5_fcover;

  return sum;
}

//LAI

function neuron1_lai(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    + 4.96238030555279
    - 0.023406878966470 * b03_norm
    + 0.921655164636366 * b04_norm
    + 0.135576544080099 * b05_norm
    - 1.938331472397950 * b06_norm
    - 3.342495816122680 * b07_norm
    + 0.902277648009576 * b8a_norm
    + 0.205363538258614 * b11_norm
    - 0.040607844721716 * b12_norm
    - 0.083196409727092 * viewZen_norm
    + 0.260029270773809 * sunZen_norm
    + 0.284761567218845 * relAzim_norm;

  return tansig(sum);
}

function neuron2_lai(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    + 1.416008443981500
    - 0.132555480856684 * b03_norm
    - 0.139574837333540 * b04_norm
    - 1.014606016898920 * b05_norm
    - 1.330890038649270 * b06_norm
    + 0.031730624503341 * b07_norm
    - 1.433583541317050 * b8a_norm
    - 0.959637898574699 * b11_norm
    + 1.133115706551000 * b12_norm
    + 0.216603876541632 * viewZen_norm
    + 0.410652303762839 * sunZen_norm
    + 0.064760155543506 * relAzim_norm;

  return tansig(sum);
}

function neuron3_lai(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    + 1.075897047213310
    + 0.086015977724868 * b03_norm
    + 0.616648776881434 * b04_norm
    + 0.678003876446556 * b05_norm
    + 0.141102398644968 * b06_norm
    - 0.096682206883546 * b07_norm
    - 1.128832638862200 * b8a_norm
    + 0.302189102741375 * b11_norm
    + 0.434494937299725 * b12_norm
    - 0.021903699490589 * viewZen_norm
    - 0.228492476802263 * sunZen_norm
    - 0.039460537589826 * relAzim_norm;

  return tansig(sum);
}

function neuron4_lai(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    + 1.533988264655420
    - 0.109366593670404 * b03_norm
    - 0.071046262972729 * b04_norm
    + 0.064582411478320 * b05_norm
    + 2.906325236823160 * b06_norm
    - 0.673873108979163 * b07_norm
    - 3.838051868280840 * b8a_norm
    + 1.695979344531530 * b11_norm
    + 0.046950296081713 * b12_norm
    - 0.049709652688365 * viewZen_norm
    + 0.021829545430994 * sunZen_norm
    + 0.057483827104091 * relAzim_norm;

  return tansig(sum);
}

function neuron5_lai(b03_norm,b04_norm,b05_norm,b06_norm,b07_norm,b8a_norm,b11_norm,b12_norm, viewZen_norm,sunZen_norm,relAzim_norm) {
  var sum =
    + 3.024115930757230
    - 0.089939416159969 * b03_norm
    + 0.175395483106147 * b04_norm
    - 0.081847329172620 * b05_norm
    + 2.219895367487790 * b06_norm
    + 1.713873975136850 * b07_norm
    + 0.713069186099534 * b8a_norm
    + 0.138970813499201 * b11_norm
    - 0.060771761518025 * b12_norm
    + 0.124263341255473 * viewZen_norm
    + 0.210086140404351 * sunZen_norm
    - 0.183878138700341 * relAzim_norm;

  return tansig(sum);
}

function layer2_lai(neuron1_lai, neuron2_lai, neuron3_lai, neuron4_lai, neuron5_lai) {
  var sum =
    + 1.096963107077220
    - 1.500135489728730 * neuron1_lai
    - 0.096283269121503 * neuron2_lai
    - 0.194935930577094 * neuron3_lai
    - 0.352305895755591 * neuron4_lai
    + 0.075107415847473 * neuron5_lai;

  return sum;
}

//Generic functions

function normalize(unnormalized, min, max) {
  return 2 * (unnormalized - min) / (max - min) - 1;
}
function denormalize(normalized, min, max) {
  return 0.5 * (normalized + 1) * (max - min) + min;
}
function tansig(input) {
  return 2 / (1 + Math.exp(-2 * input)) - 1; 
}

function setup() {
    return {
        input: [{
            bands: ["B02","B03","B04","B05","B06","B07","B08","B8A","B11","B12","CLM","dataMask"]
        }],
        output: [
          {
          id:"default",
          sampleType: "UINT16",
          bands: 17
          }
        ]
    };
}

const f = 10000;

function evaluatePixel(sample, scene, metadata, customData, outputMetadata) {
    const res1 = [f * sample.B02,f * sample.B03,f * sample.B04,f * sample.B05,f * sample.B06,f * sample.B07,f * sample.B08,f * sample.B8A,f * sample.B11,f * sample.B12,f * sample.CLM,f * sample.dataMask];
    const res2 = evaluatePixelOrig([f * sample], [scene], metadata, customData, outputMetadata);
    const res3 = res1.concat(res2[Object.keys(res2)[0]]);
    return ,
            res3;
}
  • Please trim your code to make it easier to find your problem. Follow these guidelines to create a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example). – Community Dec 27 '22 at 23:10

0 Answers0