Created
June 7, 2024 17:40
-
-
Save pukpr/84d52ab15c54674360e7d8eb57c52852 to your computer and use it in GitHub Desktop.
Integral/Derivative adjustment
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if MLR_On or not (Forcing_Only or Is_Minimum_Entropy) then -- MLR_On | |
if Climate_Trend then | |
Secular_Trend := 1.0; | |
else | |
Secular_Trend := 0.0; | |
end if; | |
if Derivative then | |
DR(Data_Records'First).Value := Data_Records(Data_Records'First).Value; | |
for I in Data_Records'First+1 .. Data_Records'Last loop | |
DR(I).Value := DR(I-1).Value + Data_Records(I).Value; | |
end loop; | |
else | |
if Partial then | |
DR(Data_Records'First) := Data_Records(Data_Records'First); | |
for I in Data_Records'First+1 .. Data_Records'Last loop | |
DR(I).Value := Data_Records(I-1).Value + D.B.ShiftT*(Data_Records(I).Value - Data_Records(I-1).Value); | |
end loop; | |
else | |
DR := Data_Records; | |
end if; | |
end if; | |
DR := Annual_Add(DR, -1.0); | |
Regression_Factors (Data_Records => Excluded(DR), -- Time series | |
--First => First, | |
--Last => Last, -- Training Interval | |
Forcing => Excluded(Forcing), -- Value @ Time | |
NM => NM + NH, -- # modulations | |
DBLT => M, --D.B.LT, | |
DALTAP => MAP, --D.A.LTAP, | |
DALEVEL => D.A.LEVEL, | |
DAK0 => D.A.K0, | |
Secular_Trend => Secular_Trend, | |
Accel => Accel, | |
Singular => Singular | |
); | |
else | |
Singular := False; | |
end if; | |
CorrCoeff := 0.0; | |
Pareto_Scale := 1.0; | |
if Pareto then | |
Pareto_Start := 1; | |
else | |
Pareto_Start := NH+1; | |
end if; | |
for Pareto_Index in Pareto_Start .. NH+1 loop | |
if Forcing_Only or (Is_Minimum_Entropy and not MLR_On ) then | |
Model := Forcing; | |
else | |
Model := LTE(Forcing => Forcing, | |
Wave_Numbers => M(1 .. NM - 1 + Pareto_Index), --D.B.Lt(1..NM), | |
Amp_Phase => MAP(1 .. NM - 1 + Pareto_Index), --D.A.LTAP, | |
Offset => D.A.level, | |
K0 => D.A.K0, | |
Trend => Secular_Trend, | |
Accel => Accel, | |
NonLin => NonLin+D.B.IR); -- D.LT GEM.LTE.LT0 | |
if Derivative then | |
for I in reverse Model'First+1 .. Model'Last loop | |
Model(I).Value := Model(I).Value - Model(I-1).Value; | |
end loop; | |
Model(Model'First).Value := Model(Model'First+1).Value; | |
end if; | |
if Partial then | |
for I in Model'First+1 .. Model'Last loop | |
Impulses(I).Value := Model(I).Value - Model(I-1).Value; | |
end loop; | |
Impulses(Model'First).Value := 0.0; | |
for I in Model'Range loop | |
Model(I).Value := Model(I).Value + D.B.ShiftT* Impulses(I).Value; | |
end loop; | |
end if; | |
Model := Annual_Add(Model); | |
end if; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Extra high harmonic
.\nino34_knmi_start_blank.dat for Thread # 8 1
Catchup mode enabled:TRUE
DTW 0.6131801911 0.7817081388 8 1
PS C:\Users\pp\scratch\na\run> ..\restore mono_nino34_part_1920_1980_excl_asym3
excluded
![image](https://private-user-images.githubusercontent.com/2855758/339079366-beae545f-4f97-406c-a708-ad2912ec14fc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjExNDgwNjUsIm5iZiI6MTcyMTE0Nzc2NSwicGF0aCI6Ii8yODU1NzU4LzMzOTA3OTM2Ni1iZWFlNTQ1Zi00Zjk3LTQwNmMtYTcwOC1hZDI5MTJlYzE0ZmMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcxNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MTZUMTYzNjA1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NDc1Y2VhNjQ0ZGFiYjNjMGVmMWNjYmUzMzNmMjNiZTFjYmM0ODIzZDNiZWM5YmNkOWMyYmM0YzdiYzI3NmVjNyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.25GQ4DXK92SvRIc3IYqaAoD5OhQ_9-k6Jmq-uev60hk)
DTW 0.8003718688 0.6046423179 4 1
PS C:\Users\pp\scratch\na\run> ..\backup mono_nino34_part_1920_1980_excl_asym3_excl
DTW 0.7737300057 0.5512873675 7 1
PS C:\Users\pp\scratch\na\run> ..\backup mono_nino34_part_1920_1980_excl_asym3_exc2