Inserting wavelengths values immediately before and after a discontinuity in the SWF, greatly reduces the errors caused by interpolating the weighted irradiance during integration of the effective spectral irradiance. This is specially true when data have a large wavelength step size.
Value
a data.frame with variables x
and y
. Unless the hinge
values were already present in y
, each inserted hinge, expands the
vectors returned in the data frame by one value.
Note
Insertion is a costly operation but I have tried to optimize this function as much as possible by avoiding loops. Earlier this function was implemented in C++, but a bug was discovered and I have now rewritten it using R.
See also
Other low-level functions operating on numeric vectors.:
as_energy()
,
as_quantum_mol()
,
calc_multipliers()
,
div_spectra()
,
energy_irradiance()
,
energy_ratio()
,
integrate_xy()
,
interpolate_spectrum()
,
irradiance()
,
l_insert_hinges()
,
oper_spectra()
,
photon_irradiance()
,
photon_ratio()
,
photons_energy_ratio()
,
prod_spectra()
,
s_e_irrad2rgb()
,
split_energy_irradiance()
,
split_photon_irradiance()
,
subt_spectra()
,
sum_spectra()
,
trim_tails()
,
v_insert_hinges()
,
v_replace_hinges()
Examples
with(sun.data,
insert_hinges(w.length, s.e.irrad,
c(399.99, 400.00, 699.99, 700.00)))
#> x y
#> 1 293.00 2.609665e-06
#> 2 294.00 6.142401e-06
#> 3 295.00 2.176175e-05
#> 4 296.00 6.780119e-05
#> 5 297.00 1.533491e-04
#> 6 298.00 3.669677e-04
#> 7 299.00 7.845430e-04
#> 8 300.00 1.264554e-03
#> 9 301.00 2.623718e-03
#> 10 302.00 3.922583e-03
#> 11 303.00 8.974134e-03
#> 12 304.00 1.165567e-02
#> 13 305.00 1.799127e-02
#> 14 306.00 2.076166e-02
#> 15 307.00 3.059158e-02
#> 16 308.00 3.997854e-02
#> 17 309.00 4.163908e-02
#> 18 310.00 4.871239e-02
#> 19 311.00 7.852756e-02
#> 20 312.00 8.036738e-02
#> 21 313.00 9.428946e-02
#> 22 314.00 1.054126e-01
#> 23 315.00 1.127901e-01
#> 24 316.00 1.020587e-01
#> 25 317.00 1.487690e-01
#> 26 318.00 1.413919e-01
#> 27 319.00 1.569692e-01
#> 28 320.00 1.741691e-01
#> 29 321.00 1.822031e-01
#> 30 322.00 1.787215e-01
#> 31 323.00 1.680533e-01
#> 32 324.00 2.075508e-01
#> 33 325.00 2.168055e-01
#> 34 326.00 2.774416e-01
#> 35 327.00 2.851096e-01
#> 36 328.00 2.648573e-01
#> 37 329.00 2.998745e-01
#> 38 330.00 3.295190e-01
#> 39 331.00 2.895510e-01
#> 40 332.00 3.000718e-01
#> 41 333.00 2.951501e-01
#> 42 334.00 2.936962e-01
#> 43 335.00 3.129253e-01
#> 44 336.00 2.712433e-01
#> 45 337.00 2.609770e-01
#> 46 338.00 2.904669e-01
#> 47 339.00 3.108404e-01
#> 48 340.00 3.352353e-01
#> 49 341.00 3.053287e-01
#> 50 342.00 3.221950e-01
#> 51 343.00 3.380052e-01
#> 52 344.00 2.675878e-01
#> 53 345.00 3.060279e-01
#> 54 346.00 3.051305e-01
#> 55 347.00 3.207918e-01
#> 56 348.00 3.056038e-01
#> 57 349.00 2.981687e-01
#> 58 350.00 3.453572e-01
#> 59 351.00 3.415567e-01
#> 60 352.00 3.234148e-01
#> 61 353.00 3.305047e-01
#> 62 354.00 3.758625e-01
#> 63 355.00 3.737639e-01
#> 64 356.00 3.441658e-01
#> 65 357.00 2.822228e-01
#> 66 358.00 2.544907e-01
#> 67 359.00 2.916945e-01
#> 68 360.00 3.707068e-01
#> 69 361.00 3.071709e-01
#> 70 362.00 3.245170e-01
#> 71 363.00 3.608416e-01
#> 72 364.00 3.681253e-01
#> 73 365.00 3.661791e-01
#> 74 366.00 4.491898e-01
#> 75 367.00 4.294680e-01
#> 76 368.00 3.980621e-01
#> 77 369.00 4.167994e-01
#> 78 370.00 4.393233e-01
#> 79 371.00 4.092854e-01
#> 80 372.00 3.788335e-01
#> 81 373.00 3.576838e-01
#> 82 374.00 3.260057e-01
#> 83 375.00 3.387414e-01
#> 84 376.00 3.946242e-01
#> 85 377.00 4.189703e-01
#> 86 378.00 4.969714e-01
#> 87 379.00 4.131498e-01
#> 88 380.00 3.976749e-01
#> 89 381.00 4.362110e-01
#> 90 382.00 3.229944e-01
#> 91 383.00 2.614310e-01
#> 92 384.00 3.001535e-01
#> 93 385.00 3.915446e-01
#> 94 386.00 3.546813e-01
#> 95 387.00 3.748415e-01
#> 96 388.00 3.655553e-01
#> 97 389.00 3.963621e-01
#> 98 390.00 4.535396e-01
#> 99 391.00 4.822105e-01
#> 100 392.00 4.372341e-01
#> 101 393.00 2.422023e-01
#> 102 394.00 2.976442e-01
#> 103 395.00 4.699886e-01
#> 104 396.00 4.054503e-01
#> 105 397.00 2.541827e-01
#> 106 398.00 5.035644e-01
#> 107 399.00 5.861190e-01
#> 108 399.99 6.078850e-01
#> 109 400.00 6.081049e-01
#> 110 401.00 6.261742e-01
#> 111 402.00 6.497388e-01
#> 112 403.00 6.207287e-01
#> 113 404.00 6.370489e-01
#> 114 405.00 6.263786e-01
#> 115 406.00 5.996440e-01
#> 116 407.00 5.951226e-01
#> 117 408.00 6.256209e-01
#> 118 409.00 6.615421e-01
#> 119 410.00 5.605505e-01
#> 120 411.00 6.507135e-01
#> 121 412.00 6.742498e-01
#> 122 413.00 6.456365e-01
#> 123 414.00 6.632528e-01
#> 124 415.00 6.474609e-01
#> 125 416.00 6.761818e-01
#> 126 417.00 6.446503e-01
#> 127 418.00 6.334743e-01
#> 128 419.00 6.446047e-01
#> 129 420.00 5.988416e-01
#> 130 421.00 6.701269e-01
#> 131 422.00 6.668377e-01
#> 132 423.00 6.118191e-01
#> 133 424.00 6.026922e-01
#> 134 425.00 6.061918e-01
#> 135 426.00 6.388873e-01
#> 136 427.00 5.954636e-01
#> 137 428.00 5.927697e-01
#> 138 429.00 5.479922e-01
#> 139 430.00 4.570371e-01
#> 140 431.00 4.136900e-01
#> 141 432.00 6.464532e-01
#> 142 433.00 6.527846e-01
#> 143 434.00 6.298332e-01
#> 144 435.00 6.626874e-01
#> 145 436.00 7.336607e-01
#> 146 437.00 7.266697e-01
#> 147 438.00 6.453212e-01
#> 148 439.00 6.028502e-01
#> 149 440.00 6.436476e-01
#> 150 441.00 6.734260e-01
#> 151 442.00 7.188581e-01
#> 152 443.00 7.055629e-01
#> 153 444.00 7.067347e-01
#> 154 445.00 6.966893e-01
#> 155 446.00 6.652017e-01
#> 156 447.00 7.371810e-01
#> 157 448.00 7.696090e-01
#> 158 449.00 7.444307e-01
#> 159 450.00 7.751536e-01
#> 160 451.00 8.204633e-01
#> 161 452.00 7.699637e-01
#> 162 453.00 6.972674e-01
#> 163 454.00 7.323634e-01
#> 164 455.00 7.653814e-01
#> 165 456.00 7.741257e-01
#> 166 457.00 7.984935e-01
#> 167 458.00 7.618389e-01
#> 168 459.00 7.694246e-01
#> 169 460.00 7.695513e-01
#> 170 461.00 7.711277e-01
#> 171 462.00 7.612294e-01
#> 172 463.00 7.608667e-01
#> 173 464.00 7.609672e-01
#> 174 465.00 7.453590e-01
#> 175 466.00 7.581146e-01
#> 176 467.00 7.429891e-01
#> 177 468.00 7.665312e-01
#> 178 469.00 7.663832e-01
#> 179 470.00 7.480455e-01
#> 180 471.00 7.424066e-01
#> 181 472.00 7.693357e-01
#> 182 473.00 7.514944e-01
#> 183 474.00 7.454852e-01
#> 184 475.00 7.724634e-01
#> 185 476.00 7.683690e-01
#> 186 477.00 7.640614e-01
#> 187 478.00 7.869773e-01
#> 188 479.00 7.536975e-01
#> 189 480.00 7.714873e-01
#> 190 481.00 7.639967e-01
#> 191 482.00 7.832759e-01
#> 192 483.00 7.730398e-01
#> 193 484.00 7.492634e-01
#> 194 485.00 7.331956e-01
#> 195 486.00 6.529021e-01
#> 196 487.00 6.511654e-01
#> 197 488.00 7.163985e-01
#> 198 489.00 7.026884e-01
#> 199 490.00 7.728111e-01
#> 200 491.00 7.356047e-01
#> 201 492.00 6.896611e-01
#> 202 493.00 7.382081e-01
#> 203 494.00 7.333010e-01
#> 204 495.00 7.899872e-01
#> 205 496.00 7.600248e-01
#> 206 497.00 7.533780e-01
#> 207 498.00 7.122628e-01
#> 208 499.00 7.250173e-01
#> 209 500.00 7.240982e-01
#> 210 501.00 7.090017e-01
#> 211 502.00 6.916296e-01
#> 212 503.00 7.301274e-01
#> 213 504.00 7.256689e-01
#> 214 505.00 7.371846e-01
#> 215 506.00 7.701737e-01
#> 216 507.00 7.363612e-01
#> 217 508.00 7.013302e-01
#> 218 509.00 7.466557e-01
#> 219 510.00 7.427322e-01
#> 220 511.00 7.384934e-01
#> 221 512.00 7.510876e-01
#> 222 513.00 7.126073e-01
#> 223 514.00 7.004027e-01
#> 224 515.00 6.933100e-01
#> 225 516.00 7.302733e-01
#> 226 517.00 6.176652e-01
#> 227 518.00 6.449637e-01
#> 228 519.00 6.374949e-01
#> 229 520.00 6.983238e-01
#> 230 521.00 7.150799e-01
#> 231 522.00 7.302633e-01
#> 232 523.00 6.957057e-01
#> 233 524.00 7.362903e-01
#> 234 525.00 7.376088e-01
#> 235 526.00 6.925623e-01
#> 236 527.00 6.492072e-01
#> 237 528.00 7.213736e-01
#> 238 529.00 7.315043e-01
#> 239 530.00 7.305629e-01
#> 240 531.00 7.603297e-01
#> 241 532.00 7.246324e-01
#> 242 533.00 6.460471e-01
#> 243 534.00 6.727279e-01
#> 244 535.00 7.084755e-01
#> 245 536.00 7.429248e-01
#> 246 537.00 7.157770e-01
#> 247 538.00 7.362092e-01
#> 248 539.00 7.221751e-01
#> 249 540.00 6.756299e-01
#> 250 541.00 6.684246e-01
#> 251 542.00 7.097324e-01
#> 252 543.00 7.173849e-01
#> 253 544.00 7.247958e-01
#> 254 545.00 7.272464e-01
#> 255 546.00 6.993041e-01
#> 256 547.00 7.119013e-01
#> 257 548.00 6.936565e-01
#> 258 549.00 7.020853e-01
#> 259 550.00 7.046551e-01
#> 260 551.00 7.031409e-01
#> 261 552.00 7.178863e-01
#> 262 553.00 6.920716e-01
#> 263 554.00 7.072154e-01
#> 264 555.00 7.117599e-01
#> 265 556.00 6.997762e-01
#> 266 557.00 6.875006e-01
#> 267 558.00 6.916909e-01
#> 268 559.00 6.765463e-01
#> 269 560.00 6.829971e-01
#> 270 561.00 6.972827e-01
#> 271 562.00 6.676445e-01
#> 272 563.00 6.991590e-01
#> 273 564.00 6.897606e-01
#> 274 565.00 6.910300e-01
#> 275 566.00 6.501603e-01
#> 276 567.00 6.694088e-01
#> 277 568.00 6.750915e-01
#> 278 569.00 6.508026e-01
#> 279 570.00 6.517397e-01
#> 280 571.00 6.443685e-01
#> 281 572.00 6.575138e-01
#> 282 573.00 6.713390e-01
#> 283 574.00 6.652659e-01
#> 284 575.00 6.539001e-01
#> 285 576.00 6.591796e-01
#> 286 577.00 6.644287e-01
#> 287 578.00 6.573545e-01
#> 288 579.00 6.474340e-01
#> 289 580.00 6.641212e-01
#> 290 581.00 6.701280e-01
#> 291 582.00 6.853736e-01
#> 292 583.00 6.839982e-01
#> 293 584.00 6.793814e-01
#> 294 585.00 6.727982e-01
#> 295 586.00 6.520577e-01
#> 296 587.00 6.553529e-01
#> 297 588.00 6.304643e-01
#> 298 589.00 5.658760e-01
#> 299 590.00 5.704249e-01
#> 300 591.00 6.061605e-01
#> 301 592.00 5.986292e-01
#> 302 593.00 6.106598e-01
#> 303 594.00 6.161507e-01
#> 304 595.00 6.028277e-01
#> 305 596.00 6.170060e-01
#> 306 597.00 6.256272e-01
#> 307 598.00 6.238272e-01
#> 308 599.00 6.247415e-01
#> 309 600.00 6.372767e-01
#> 310 601.00 6.295837e-01
#> 311 602.00 6.305890e-01
#> 312 603.00 6.360329e-01
#> 313 604.00 6.578140e-01
#> 314 605.00 6.614323e-01
#> 315 606.00 6.557035e-01
#> 316 607.00 6.499126e-01
#> 317 608.00 6.544869e-01
#> 318 609.00 6.494403e-01
#> 319 610.00 6.390005e-01
#> 320 611.00 6.391328e-01
#> 321 612.00 6.468436e-01
#> 322 613.00 6.351692e-01
#> 323 614.00 6.286223e-01
#> 324 615.00 6.304454e-01
#> 325 616.00 6.103748e-01
#> 326 617.00 6.007438e-01
#> 327 618.00 6.363974e-01
#> 328 619.00 6.428544e-01
#> 329 620.00 6.373555e-01
#> 330 621.00 6.464099e-01
#> 331 622.00 6.349725e-01
#> 332 623.00 6.271266e-01
#> 333 624.00 6.115983e-01
#> 334 625.00 6.094250e-01
#> 335 626.00 6.008364e-01
#> 336 627.00 6.069182e-01
#> 337 628.00 5.896789e-01
#> 338 629.00 6.033129e-01
#> 339 630.00 5.999715e-01
#> 340 631.00 5.983543e-01
#> 341 632.00 5.841746e-01
#> 342 633.00 6.041071e-01
#> 343 634.00 5.994137e-01
#> 344 635.00 6.089211e-01
#> 345 636.00 6.005073e-01
#> 346 637.00 6.113881e-01
#> 347 638.00 6.233510e-01
#> 348 639.00 6.136818e-01
#> 349 640.00 5.997701e-01
#> 350 641.00 6.040888e-01
#> 351 642.00 6.138918e-01
#> 352 643.00 6.122839e-01
#> 353 644.00 6.006034e-01
#> 354 645.00 5.925752e-01
#> 355 646.00 5.777359e-01
#> 356 647.00 5.610866e-01
#> 357 648.00 5.547404e-01
#> 358 649.00 5.569875e-01
#> 359 650.00 5.663592e-01
#> 360 651.00 5.799135e-01
#> 361 652.00 5.686157e-01
#> 362 653.00 5.819163e-01
#> 363 654.00 5.787141e-01
#> 364 655.00 5.617706e-01
#> 365 656.00 4.982959e-01
#> 366 657.00 5.160054e-01
#> 367 658.00 5.681612e-01
#> 368 659.00 5.760240e-01
#> 369 660.00 5.780006e-01
#> 370 661.00 5.960817e-01
#> 371 662.00 5.995383e-01
#> 372 663.00 5.968024e-01
#> 373 664.00 5.913568e-01
#> 374 665.00 5.908864e-01
#> 375 666.00 5.893670e-01
#> 376 667.00 5.856558e-01
#> 377 668.00 5.977089e-01
#> 378 669.00 5.967282e-01
#> 379 670.00 5.925505e-01
#> 380 671.00 5.890762e-01
#> 381 672.00 5.817669e-01
#> 382 673.00 5.844075e-01
#> 383 674.00 5.879885e-01
#> 384 675.00 5.857664e-01
#> 385 676.00 5.850400e-01
#> 386 677.00 5.832098e-01
#> 387 678.00 5.809275e-01
#> 388 679.00 5.798542e-01
#> 389 680.00 5.769145e-01
#> 390 681.00 5.726162e-01
#> 391 682.00 5.720641e-01
#> 392 683.00 5.694090e-01
#> 393 684.00 5.685922e-01
#> 394 685.00 5.650287e-01
#> 395 686.00 5.327760e-01
#> 396 687.00 4.746127e-01
#> 397 688.00 4.755848e-01
#> 398 689.00 4.739026e-01
#> 399 690.00 4.899139e-01
#> 400 691.00 5.021972e-01
#> 401 692.00 5.029201e-01
#> 402 693.00 4.870913e-01
#> 403 694.00 4.725514e-01
#> 404 695.00 4.778166e-01
#> 405 696.00 4.905394e-01
#> 406 697.00 5.164799e-01
#> 407 698.00 5.050733e-01
#> 408 699.00 4.833817e-01
#> 409 699.99 4.758774e-01
#> 410 700.00 4.758016e-01
#> 411 701.00 4.684248e-01
#> 412 702.00 4.738352e-01
#> 413 703.00 4.959724e-01
#> 414 704.00 5.013394e-01
#> 415 705.00 4.970284e-01
#> 416 706.00 4.931499e-01
#> 417 707.00 4.879018e-01
#> 418 708.00 5.005950e-01
#> 419 709.00 5.036519e-01
#> 420 710.00 5.015629e-01
#> 421 711.00 5.054329e-01
#> 422 712.00 5.070675e-01
#> 423 713.00 4.980342e-01
#> 424 714.00 4.976633e-01
#> 425 715.00 4.798256e-01
#> 426 716.00 4.570035e-01
#> 427 717.00 4.109367e-01
#> 428 718.00 3.641044e-01
#> 429 719.00 3.366514e-01
#> 430 720.00 3.404651e-01
#> 431 721.00 4.076534e-01
#> 432 722.00 4.345295e-01
#> 433 723.00 4.199928e-01
#> 434 724.00 3.896937e-01
#> 435 725.00 3.832661e-01
#> 436 726.00 3.837550e-01
#> 437 727.00 3.855997e-01
#> 438 728.00 3.791977e-01
#> 439 729.00 3.835852e-01
#> 440 730.00 3.892879e-01
#> 441 731.00 3.882856e-01
#> 442 732.00 4.185835e-01
#> 443 733.00 4.466389e-01
#> 444 734.00 4.676589e-01
#> 445 735.00 4.629069e-01
#> 446 736.00 4.502648e-01
#> 447 737.00 4.577747e-01
#> 448 738.00 4.647241e-01
#> 449 739.00 4.661957e-01
#> 450 740.00 4.766062e-01
#> 451 741.00 4.785612e-01
#> 452 742.00 4.779915e-01
#> 453 743.00 4.939466e-01
#> 454 744.00 5.006212e-01
#> 455 745.00 4.963788e-01
#> 456 746.00 4.988611e-01
#> 457 747.00 5.025733e-01
#> 458 748.00 5.023168e-01
#> 459 749.00 4.945203e-01
#> 460 750.00 4.922409e-01
#> 461 751.00 5.000141e-01
#> 462 752.00 4.985939e-01
#> 463 753.00 4.957415e-01
#> 464 754.00 5.007593e-01
#> 465 755.00 4.997951e-01
#> 466 756.00 4.944025e-01
#> 467 757.00 4.916928e-01
#> 468 758.00 4.776632e-01
#> 469 759.00 3.896317e-01
#> 470 760.00 1.786510e-01
#> 471 761.00 1.373212e-01
#> 472 762.00 2.197768e-01
#> 473 763.00 2.175218e-01
#> 474 764.00 2.396693e-01
#> 475 765.00 2.956160e-01
#> 476 766.00 3.567039e-01
#> 477 767.00 3.981980e-01
#> 478 768.00 4.388254e-01
#> 479 769.00 4.598649e-01
#> 480 770.00 4.686605e-01
#> 481 771.00 4.698684e-01
#> 482 772.00 4.666001e-01
#> 483 773.00 4.699469e-01
#> 484 774.00 4.746771e-01
#> 485 775.00 4.618263e-01
#> 486 776.00 4.685451e-01
#> 487 777.00 4.716414e-01
#> 488 778.00 4.687204e-01
#> 489 779.00 4.713172e-01
#> 490 780.00 4.660367e-01
#> 491 781.00 4.647949e-01
#> 492 782.00 4.680026e-01
#> 493 783.00 4.634599e-01
#> 494 784.00 4.583301e-01
#> 495 785.00 4.603859e-01
#> 496 786.00 4.521272e-01
#> 497 787.00 4.450606e-01
#> 498 788.00 4.385155e-01
#> 499 789.00 4.254126e-01
#> 500 790.00 4.207327e-01
#> 501 791.00 4.198022e-01
#> 502 792.00 4.202174e-01
#> 503 793.00 4.201554e-01
#> 504 794.00 4.213304e-01
#> 505 795.00 4.146957e-01
#> 506 796.00 4.080616e-01
#> 507 797.00 4.141204e-01
#> 508 798.00 4.236281e-01
#> 509 799.00 4.185850e-01
#> 510 800.00 4.069055e-01