tests/testthat/test-RotD_cal_PSA.R

test_that("test RotD_cal_PSA results with DB Fortan code results", {
  period <- c(0.010, 0.020, 0.022, 0.025, 0.029, 0.030, 0.032, 0.035, 0.036, 0.040, 0.042,
              0.044, 0.045, 0.046, 0.048, 0.050, 0.055, 0.060, 0.065, 0.067, 0.070, 0.075,
              0.080, 0.085, 0.090, 0.095, 0.100, 0.110, 0.120, 0.130, 0.133, 0.140, 0.150,
              0.160, 0.170, 0.180, 0.190, 0.200, 0.220, 0.240, 0.250, 0.260, 0.280, 0.290,
              0.300, 0.320, 0.340, 0.350, 0.360, 0.380, 0.400, 0.420, 0.440, 0.450, 0.460,
              0.480, 0.500, 0.550, 0.600, 0.650, 0.667, 0.700, 0.750, 0.800, 0.850, 0.900,
              0.950, 1.000, 1.100, 1.200, 1.300, 1.400, 1.500, 1.600, 1.700, 1.800, 1.900,
              2.000, 2.200, 2.400, 2.500, 2.600, 2.800, 3.000, 3.200, 3.400, 3.500, 3.600,
              3.800, 4.000, 4.200, 4.400, 4.600, 4.800, 5.000, 5.500, 6.000, 6.500, 7.000,
              7.500, 8.000, 8.500, 9.000, 9.500, 10.000, 11.000, 12.000, 13.000, 14.000,
              15.000, 20.000)
  res <- RotD_cal_PSA(data1 = h1$data, data2 = h2$data, period = period,
                      damping = 0.05, combine_index = 50, dt = h1$dt)
  expect_lt(max(abs((res$PSA_h1 -
                       c(0.221479535, 0.223386839, 0.225157872, 0.225788996, 0.235095948, 0.236699104, 0.236276895,
                         0.240343198, 0.236009613, 0.26805228, 0.282922149, 0.281847358, 0.266704649, 0.247425601,
                         0.25055486, 0.239916757, 0.264780819, 0.289128363, 0.273005664, 0.296247005, 0.348800927,
                         0.308806032, 0.372804463, 0.42420429, 0.386606634, 0.352726847, 0.310288966, 0.331898779,
                         0.492435068, 0.444415957, 0.448065668, 0.401297808, 0.343349159, 0.357035965, 0.424580932,
                         0.345558584, 0.363120198, 0.380428642, 0.434309989, 0.466758072, 0.426654816, 0.484777689,
                         0.443603098, 0.36496833, 0.362743378, 0.434303433, 0.424919844, 0.433024734, 0.477204829,
                         0.561268449, 0.540028453, 0.468557715, 0.379131049, 0.35644266, 0.343862385, 0.333962947,
                         0.348345309, 0.251973599, 0.213035539, 0.214960083, 0.241968676, 0.287846714, 0.276277721,
                         0.29003489, 0.277545452, 0.294540614, 0.33635214, 0.355478019, 0.226657033, 0.156319708,
                         0.149472684, 0.120636716, 0.103697278, 8.11E-02, 8.83E-02, 8.77E-02, 7.59E-02, 8.96E-02,
                         7.54E-02, 5.27E-02, 5.23E-02, 5.49E-02, 4.61E-02, 5.26E-02, 6.77E-02, 7.51E-02, 7.94E-02,
                         8.54E-02, 8.22E-02, 7.13E-02, 7.22E-02, 6.79E-02, 5.80E-02, 4.77E-02, 3.71E-02, 2.74E-02,
                         2.23E-02, 1.78E-02, 1.40E-02, 1.27E-02, 1.14E-02, 1.20E-02, 9.84E-03, 8.39E-03, 6.63E-03,
                         4.52E-03, 3.74E-03, 3.11E-03, 2.61E-03, 2.20E-03, 1.07E-03))/res$PSA_h1)), 0.005)

  expect_lt(max(abs((res$PSA_h2 -
                       c(0.234180346, 0.23717992, 0.238583833, 0.256248116,	0.272922903,	0.278081477,
                         0.268332511,	0.249292269, 0.269001007,	0.310230434, 0.340191573,	0.338602006,
                         0.322407067,	0.295059621, 0.252727896,	0.234057352, 0.318846643,	0.340126902,
                         0.385918111,	0.394483626, 0.363126487, 0.362340093, 0.331862748, 0.328539491,
                         0.346230686,	0.327481836, 0.352692246, 0.505363286, 0.492276847, 0.621696174,
                         0.603671134,	0.562675714, 0.394725323, 0.452877045, 0.35143739, 0.419567734,
                         0.400009364,	0.371203989, 0.313254952, 0.319845349, 0.353185683, 0.369062632,
                         0.311774045, 0.318867028, 0.327543229, 0.364719957, 0.423387319, 0.418442279,
                         0.385697901, 0.349315763, 0.294340789, 0.277171969, 0.268949002, 0.278953552,
                         0.287397981, 0.309793025, 0.355261177, 0.265517831, 0.220248207, 0.189447194,
                         0.176579237, 0.155622527, 0.147149637, 0.147868291, 0.156872258, 0.155513123,
                         0.173157156, 0.174530745, 0.220395908, 0.235840827, 0.219413623, 0.20533374,
                         0.164070725, 0.129279107, 0.114679798, 0.101602472, 9.11E-02, 9.00E-02, 9.89E-02,
                         0.129362628, 0.122418709, 0.104705185, 7.68E-02, 9.11E-02, 7.98E-02, 8.87E-02,
                         8.27E-02, 7.23E-02, 7.48E-02, 8.33E-02, 8.12E-02, 6.42E-02, 4.89E-02, 4.53E-02,
                         4.53E-02, 4.48E-02, 3.44E-02, 2.86E-02, 2.15E-02, 1.80E-02, 1.47E-02, 1.13E-02,
                         1.10E-02, 9.39E-03, 7.05E-03, 5.82E-03, 4.50E-03, 4.03E-03, 3.77E-03, 3.29E-03,
                         1.60E-03))/res$PSA_h2)), 0.005)

  # RotD50
  expect_lt(max(abs((res$PSA_RotDxx -
                       c(0.212233424,	0.214033484,	0.215822443,	0.222559452,	0.232103229,	0.234655693,
                         0.230962023,	0.22745961,	0.232497141,	0.262791365,	0.280790329,	0.289185017,
                         0.293088824,	0.284561902,	0.25107494,	0.234369129,	0.304779023,	0.312470704,
                         0.331404984,	0.349803776,	0.362556487,	0.334534436,	0.347386837,	0.384817898,
                         0.370220542,	0.335079849,	0.330251962,	0.390169621,	0.492355943,	0.479566514,
                         0.45489347,	0.40566957,	0.372403622,	0.394820869,	0.374666274,	0.343373328,
                         0.357758224,	0.369104326,	0.376119792,	0.394563675,	0.39310813,	0.40241003,
                         0.391620338,	0.373720378,	0.379932642,	0.382909328,	0.421592087,	0.417897195,
                         0.426953048,	0.469669312,	0.42945075,	0.406432331,	0.324056,	0.307419717,
                         0.29568553,	0.316337585,	0.352502495,	0.258355618,	0.212864339,	0.196358472,
                         0.21112214,	0.228724644,	0.210942358,	0.231508121,	0.222151831,	0.232462332,
                         0.264883548,	0.276760846,	0.222546384,	0.205153376,	0.180806011,	0.156370714,
                         0.149604514,	0.117211662,	0.10527955,	9.73E-02,	8.73E-02,	8.94E-02,	9.59E-02,
                         0.100714184,	9.50E-02,	8.37E-02,	6.62E-02,	7.05E-02,	6.82E-02,	7.55E-02,	7.80E-02,
                         7.41E-02,	8.15E-02,	8.55E-02,	8.32E-02,	6.47E-02,	4.99E-02,	4.42E-02,	3.87E-02,
                         3.46E-02,	2.71E-02,	2.25E-02,	1.66E-02,	1.39E-02,	1.25E-02,	1.16E-02,	1.02E-02,
                         8.42E-03,	6.66E-03,	5.47E-03,	4.03E-03,	3.72E-03,	3.35E-03,	2.95E-03,
                         1.42E-03))/res$PSA_RotDxx)), 0.005)

  # RotD00
  res <- RotD_cal_PSA(data1 = h1$data, data2 = h2$data, period = period,
                      damping = 0.05, combine_index = 0, dt = h1$dt)
  expect_lt(max(abs((res$PSA_RotDxx -
                       c(0.148979619,	0.150020987,	0.154582292,	0.160714716,	0.170781314,	0.18133533,
                         0.1905265,	0.191643149,	0.192573309,	0.194963038,	0.191797942,	0.198934466,
                         0.203225896,	0.201527655,	0.204086632,	0.206652418,	0.224646494,	0.235500753,
                         0.246493384,	0.281528145,	0.298605412,	0.276738435,	0.285951257,	0.274161786,
                         0.266539067,	0.268800288,	0.306813806,	0.301449507,	0.346605927,	0.379472673,
                         0.381529897,	0.349288374,	0.309017867,	0.334011495,	0.325802624,	0.296984702,
                         0.29302606,	0.282333761,	0.256244898,	0.306707442,	0.325868398,	0.306974083,
                         0.295467585,	0.300010175,	0.323845625,	0.338680148,	0.365947932,	0.323405713,
                         0.297308087,	0.296058416,	0.25899744,	0.246146634,	0.268740952,	0.277740151,
                         0.25422284,	0.218188778,	0.235637262,	0.121579237,	0.145461738,	0.139028504,
                         0.141653374,	0.149731621,	0.141582996,	0.126266882,	0.111768901,	0.106850214,
                         0.115754463,	0.138073578,	0.160023317,	0.117740288,	0.108784929,	0.109841861,
                         9.49E-02,	7.98E-02,	8.33E-02,	8.17E-02,	7.49E-02,	8.36E-02,	7.11E-02,
                         5.24E-02,	5.03E-02,	5.04E-02,	4.45E-02,	5.08E-02,	5.77E-02,	6.57E-02,
                         6.54E-02,	6.33E-02,	7.20E-02,	5.97E-02,	5.63E-02,	5.03E-02,	4.30E-02,	3.91E-02,
                         3.58E-02,	2.59E-02,	1.86E-02,	1.48E-02,	1.30E-02,	1.04E-02,	7.79E-03,	6.34E-03,
                         4.95E-03,	5.59E-03,	5.45E-03,	3.93E-03,	3.08E-03,	2.45E-03,	2.05E-03,	1.73E-03,
                         8.85E-04))/res$PSA_RotDxx)), 0.005)

  # RotD100
  res <- RotD_cal_PSA(data1 = h1$data, data2 = h2$data, period = period,
                      damping = 0.05, combine_index = 100, dt = h1$dt)
  expect_lt(max(abs((res$PSA_RotDxx -
                       c(0.235257104,	0.238404855,	0.239855289,	0.25733003,	0.273072571,	0.278081477,
                         0.268332511,	0.24966526,	0.269001007,	0.311900914,	0.344053924,	0.340877086,
                         0.323310405,	0.323056251,	0.306570619,	0.262542427,	0.335650057,	0.348230332,
                         0.391416311,	0.396384835,	0.434525311,	0.426214337,	0.374551296,	0.426281601,
                         0.464761287,	0.419062644,	0.352976471,	0.527027488,	0.580079973,	0.626535475,
                         0.604438841,	0.562688291,	0.402998209,	0.453173876,	0.439298302,	0.420198262,
                         0.402030319,	0.401522338,	0.45408684,	0.48587957,	0.436201066,	0.48685506,
                         0.458433539,	0.418104738,	0.429188192,	0.499577463,	0.478176147,	0.461097032,
                         0.500380874,	0.562682092,	0.540535569,	0.468557715,	0.421047539,	0.39837271,
                         0.387284458,	0.390537411,	0.430995017,	0.315125734,	0.239979476,	0.234400123,
                         0.245825455,	0.28867811,	0.281631619,	0.306931585,	0.302686185,	0.32305339,
                         0.367559224,	0.385624915,	0.302257776,	0.245505095,	0.230006367,	0.217885762,
                         0.177824959,	0.143146262,	0.125116915,	0.110119082,	9.96E-02,	9.52E-02,
                         0.10663645,	0.131755173,	0.124115191,	0.105410576,	8.18E-02,	9.25E-02,	8.52E-02,
                         8.88E-02,	8.40E-02,	8.78E-02,	8.78E-02,	0.100818314,	9.59E-02,	7.70E-02,	6.22E-02,
                         4.91E-02,	4.59E-02,	4.52E-02,	3.47E-02,	3.07E-02,	2.18E-02,	1.85E-02,	1.62E-02,
                         1.38E-02,	1.27E-02,	1.12E-02,	8.79E-03,	6.06E-03,	4.59E-03,	4.14E-03,	3.84E-03,
                         3.35E-03,	1.72E-03))/res$PSA_RotDxx)), 0.005)
})
wltcwpf/RCTC documentation built on March 5, 2023, 11:01 p.m.