All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.omscentral.modules.analysis.esp.ElNino Maven / Gradle / Ivy

There is a newer version: 0.8.1
Show newest version
package org.omscentral.modules.analysis.esp;


public class ElNino {

/*
**  Definition of categories:
**    LA_NINA - Water Year NINO3.4 SSTs < -0.5 C
**    EL_NINO - Water Year NINO3.4 SSTs > 0.5 C
**    NEUTRAL - Water Year NINO3.4 SSTs < 0.5 and > -0.5 C
**    NEG_PDO - PDO < -0.5
**    POS_PDO - PDO > 0.5
**    NEU_PDO - PDO Neutral
*/

   public static int UNKNOWN = 0;
   public static int LA_NINA = 1;
   public static int NEUTRAL = 2;
   public static int EL_NINO = 3;
   public static int NEG_PDO = 4;
   public static int POS_PDO = 5;
   public static int NEU_PDO = 6;

/*
**  Years start at 1872
*/
   private static int[] enso_year_codes= {
      LA_NINA,     // 1872
      LA_NINA,     // 1873
      LA_NINA,     // 1874
      LA_NINA,     // 1875
      LA_NINA,     // 1876
      EL_NINO,     // 1877
      EL_NINO,     // 1878
      NEUTRAL,     // 1879
      LA_NINA,     // 1880
      NEUTRAL,     // 1881
      NEUTRAL,     // 1882
      NEUTRAL,     // 1883
      NEUTRAL,     // 1884
      EL_NINO,     // 1885
      NEUTRAL,     // 1886
      LA_NINA,     // 1887
      EL_NINO,     // 1888
      EL_NINO,     // 1889
      LA_NINA,     // 1890
      NEUTRAL,     // 1891
      NEUTRAL,     // 1892
      LA_NINA,     // 1893
      LA_NINA,     // 1894
      NEUTRAL,     // 1895
      NEUTRAL,     // 1896
      EL_NINO,     // 1897
      NEUTRAL,     // 1898
      NEUTRAL,     // 1899
      EL_NINO,     // 1900
      NEUTRAL,     // 1901
      NEUTRAL,     // 1902
      EL_NINO,     // 1903
      NEUTRAL,     // 1904
      EL_NINO,     // 1905
      NEUTRAL,     // 1906
      NEUTRAL,     // 1907
      NEUTRAL,     // 1908
      LA_NINA,     // 1909
      LA_NINA,     // 1910
      LA_NINA,     // 1911
      EL_NINO,     // 1912
      NEUTRAL,     // 1913
      EL_NINO,     // 1914
      EL_NINO,     // 1915
      LA_NINA,     // 1916
      LA_NINA,     // 1917
      NEUTRAL,     // 1918
      EL_NINO,     // 1919
      NEUTRAL,     // 1920
      NEUTRAL,     // 1921
      NEUTRAL,     // 1922
      NEUTRAL,     // 1923
      NEUTRAL,     // 1924
      LA_NINA,     // 1925
      EL_NINO,     // 1926
      NEUTRAL,     // 1927
      NEUTRAL,     // 1928
      NEUTRAL,     // 1929
      EL_NINO,     // 1930
      EL_NINO,     // 1931
      NEUTRAL,     // 1932
      LA_NINA,     // 1933
      LA_NINA,     // 1934
      NEUTRAL,     // 1935
      NEUTRAL,     // 1936
      NEUTRAL,     // 1937
      LA_NINA,     // 1938
      NEUTRAL,     // 1939
      EL_NINO,     // 1940
      EL_NINO,     // 1941
      NEUTRAL,     // 1942
      LA_NINA,     // 1943
      NEUTRAL,     // 1944
      NEUTRAL,     // 1945
      NEUTRAL,     // 1946
      NEUTRAL,     // 1947
      NEUTRAL,     // 1948
      NEUTRAL,     // 1949
      LA_NINA,     // 1950
      NEUTRAL,     // 1951
      NEUTRAL,     // 1952
      NEUTRAL,     // 1953
      NEUTRAL,     // 1954
      NEUTRAL,     // 1955
      LA_NINA,     // 1956
      NEUTRAL,     // 1957
      EL_NINO,     // 1958
      NEUTRAL,     // 1959
      NEUTRAL,     // 1960
      NEUTRAL,     // 1961
      NEUTRAL,     // 1962
      NEUTRAL,     // 1963
      NEUTRAL,     // 1964
      NEUTRAL,     // 1965
      EL_NINO,     // 1966
      NEUTRAL,     // 1967
      NEUTRAL,     // 1968
      EL_NINO,     // 1969
      NEUTRAL,     // 1970
      LA_NINA,     // 1971
      NEUTRAL,     // 1972
      NEUTRAL,     // 1973
      LA_NINA,     // 1974
      LA_NINA,     // 1975
      LA_NINA,     // 1976
      EL_NINO,     // 1977
      NEUTRAL,     // 1978
      NEUTRAL,     // 1979
      NEUTRAL,     // 1980
      NEUTRAL,     // 1981
      EL_NINO,     // 1982
      EL_NINO,     // 1983
      NEUTRAL,     // 1984
      LA_NINA,     // 1985
      NEUTRAL,     // 1986
      EL_NINO,     // 1987
      NEUTRAL,     // 1988
      LA_NINA,     // 1989
      NEUTRAL,     // 1990
      EL_NINO,     // 1991
      EL_NINO,     // 1992
      EL_NINO,     // 1993
      EL_NINO,     // 1994
      EL_NINO,     // 1995
      NEUTRAL,     // 1996
      EL_NINO,     // 1997
      EL_NINO      // 1998
   };

/*
**  Years start at 1901
*/
   private static int[] pdo_year_codes= {
      NEU_PDO,     // 1901
      POS_PDO,     // 1902
      NEU_PDO,     // 1903
      NEU_PDO,     // 1904
      POS_PDO,     // 1905
      NEU_PDO,     // 1906
      NEU_PDO,     // 1907
      NEU_PDO,     // 1908
      NEU_PDO,     // 1909
      NEU_PDO,     // 1910
      NEU_PDO,     // 1911
      NEU_PDO,     // 1912
      POS_PDO,     // 1913
      NEU_PDO,     // 1914
      NEU_PDO,     // 1915
      NEU_PDO,     // 1916
      NEU_PDO,     // 1917
      NEG_PDO,     // 1918
      NEU_PDO,     // 1919
      NEG_PDO,     // 1920
      NEU_PDO,     // 1921
      NEU_PDO,     // 1922
      NEU_PDO,     // 1923
      NEU_PDO,     // 1924
      NEU_PDO,     // 1925
      POS_PDO,     // 1926
      POS_PDO,     // 1927
      NEU_PDO,     // 1928
      NEU_PDO,     // 1929
      NEU_PDO,     // 1930
      POS_PDO,     // 1931
      NEU_PDO,     // 1932
      NEG_PDO,     // 1933
      POS_PDO,     // 1934
      POS_PDO,     // 1935
      POS_PDO,     // 1936
      POS_PDO,     // 1937
      NEU_PDO,     // 1938
      NEU_PDO,     // 1939
      POS_PDO,     // 1940
      POS_PDO,     // 1941
      POS_PDO,     // 1942
      NEU_PDO,     // 1943
      NEU_PDO,     // 1944
      NEU_PDO,     // 1945
      NEG_PDO,     // 1946
      NEU_PDO,     // 1947
      NEU_PDO,     // 1948
      NEG_PDO,     // 1949
      NEG_PDO,     // 1950
      NEG_PDO,     // 1951
      NEG_PDO,     // 1952
      NEU_PDO,     // 1953
      NEU_PDO,     // 1954
      NEG_PDO,     // 1955
      NEG_PDO,     // 1956
      NEU_PDO,     // 1957
      POS_PDO,     // 1958
      NEU_PDO,     // 1959
      NEU_PDO,     // 1960
      NEU_PDO,     // 1961
      NEG_PDO,     // 1962
      NEG_PDO,     // 1963
      NEG_PDO,     // 1964
      NEU_PDO,     // 1965
      NEU_PDO,     // 1966
      NEG_PDO,     // 1967
      NEU_PDO,     // 1968
      NEU_PDO,     // 1969
      NEU_PDO,     // 1970
      NEG_PDO,     // 1971
      NEG_PDO,     // 1972
      NEU_PDO,     // 1973
      NEG_PDO,     // 1974
      NEG_PDO,     // 1975
      NEG_PDO,     // 1976
      POS_PDO,     // 1977
      NEU_PDO,     // 1978
      NEU_PDO,     // 1979
      POS_PDO,     // 1980
      POS_PDO,     // 1981
      NEU_PDO,     // 1982
      POS_PDO,     // 1983
      POS_PDO,     // 1984
      POS_PDO,     // 1985
      POS_PDO,     // 1986
      POS_PDO,     // 1987
      POS_PDO,     // 1988
      NEU_PDO,     // 1989
      NEU_PDO,     // 1990
      NEG_PDO,     // 1991
      POS_PDO,     // 1992
      POS_PDO,     // 1993
      POS_PDO,     // 1994
      NEU_PDO,     // 1995
      POS_PDO,     // 1996
      POS_PDO,     // 1997
      POS_PDO,     // 1998
      NEG_PDO      // 1999
   };

   public static boolean lookUp(int cat, EnsembleListLabel ell) {
       return lookUp(cat, ell.getTraceYear());
   }
   
   public static boolean lookUp (int cat, int year) {
       if ((cat == LA_NINA) || (cat == NEUTRAL) || (cat == EL_NINO)) {
           if ((year < 1872) || (year > 1998)) return false;
           if (enso_year_codes[(year - 1872)] == cat) return true;
       } else if ((cat == NEG_PDO) || (cat == POS_PDO) || (cat == NEU_PDO)) {
           if ((year < 1901) || (year > 1999)) return false;
           if (pdo_year_codes[(year - 1901)] == cat) return true;
       }
       return false;
   }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy