<filename>src/indices.py
from src.SpectralIndex import SpectralIndex
from typing import Dict
from pydantic import BaseModel


class SpectralIndices(BaseModel):
    SpectralIndices: Dict[str, SpectralIndex]


spindex = SpectralIndices(
    SpectralIndices=dict(
        BNDVI=SpectralIndex(
            short_name='BNDVI',
            long_name='Blue Normalized Difference Vegetation Index',
            formula='(N - B)/(N + B)',            
            reference='https://doi.org/10.1016/S1672-6308(07)60027-4',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/MATRIX4284"
        ),
        CIG=SpectralIndex(
            short_name='CIG',
            long_name='Chlorophyll Index Green',
            formula='(N / G) - 1.0',            
            reference='https://doi.org/10.1078/0176-1617-00887',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        CVI=SpectralIndex(
            short_name='CVI',
            long_name='Chlorophyll Vegetation Index',
            formula='(N * R) / (G ** 2.0)',            
            reference='https://doi.org/10.1007/s11119-010-9204-3',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        EVI=SpectralIndex(
            short_name='EVI',
            long_name='Enhanced Vegetation Index',
            formula='g * (N - R) / (N + C1 * R - C2 * B + L)',            
            reference='https://doi.org/10.1016/S0034-4257(96)00112-5',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        EVI2=SpectralIndex(
            short_name='EVI2',
            long_name='Two-Band Enhanced Vegetation Index',
            formula='g * (N - R) / (N + 2.4 * R + L)',
            reference='https://doi.org/10.1016/j.rse.2008.06.006',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GARI=SpectralIndex(
            short_name='GARI',
            long_name='Green Atmospherically Resistant Vegetation Index',
            formula='(N - (G - (B - R))) / (N - (G + (B - R)))',
            reference='https://doi.org/10.1016/S0034-4257(96)00072-7',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GBNDVI=SpectralIndex(
            short_name='GBNDVI',
            long_name='Green-Blue Normalized Difference Vegetation Index',
            formula='(N - (G + B))/(N + (G + B))',
            reference='https://doi.org/10.1016/S1672-6308(07)60027-4',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GEMI=SpectralIndex(
            short_name='GEMI',
            long_name='Global Environment Monitoring Index',
            formula='((2.0*((N ** 2.0)-(R ** 2.0)) + 1.5*N + 0.5*R)/(N + R + 0.5))*(1.0 - 0.25*((2.0 * ((N ** 2.0) - (R ** 2)) + 1.5 * N + 0.5 * R)/(N + R + 0.5)))-((R - 0.125)/(1 - R))',
            reference='http://dx.doi.org/10.1007/bf00031911',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GLI=SpectralIndex(
            short_name='GLI',
            long_name='Green Leaf Index',
            formula='(2.0 * G - R - B) / (2.0 * G + R + B)',
            reference='http://dx.doi.org/10.1080/10106040108542184',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GNDVI=SpectralIndex(
            short_name='GNDVI',
            long_name='Green Normalized Difference Vegetation Index',
            formula='(N - G)/(N + G)',
            reference='https://doi.org/10.1016/S0034-4257(96)00072-7',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GRNDVI=SpectralIndex(
            short_name='GRNDVI',
            long_name='Green-Red Normalized Difference Vegetation Index',
            formula='(N - (G + R))/(N + (G + R))',
            reference='https://doi.org/10.1016/S1672-6308(07)60027-4',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GVMI=SpectralIndex(
            short_name='GVMI',
            long_name='Global Vegetation Moisture Index',
            formula='((N + 0.1) - (S2 + 0.02)) / ((N + 0.1) + (S2 + 0.02))',
            reference='https://doi.org/10.1016/S0034-4257(02)00037-8',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        MNDVI=SpectralIndex(
            short_name='MNDVI',
            long_name='Modified Normalized Difference Vegetation Index',
            formula='(N - S2)/(N + S2)',
            reference='https://doi.org/10.1080/014311697216810',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NDVI=SpectralIndex(
            short_name='NDVI',
            long_name='Normalized Difference Vegetation Index',
            formula='(N - R)/(N + R)',
            reference='https://ntrs.nasa.gov/citations/19740022614',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NGRDI=SpectralIndex(
            short_name='NGRDI',
            long_name='Normalized Green Red Difference Index',
            formula='(G - R) / (G + R)',
            reference='https://doi.org/10.1016/0034-4257(79)90013-0',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        RVI=SpectralIndex(
            short_name='RVI',
            long_name='Ratio Vegetation Index',
            formula='RE2 / R',
            reference='https://doi.org/10.2134/agronj1968.00021962006000060016x',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        SAVI=SpectralIndex(
            short_name='SAVI',
            long_name='Soil-Adjusted Vegetation Index',
            formula='(1.0 + L) * (N - R) / (N + R + L)',
            reference='https://doi.org/10.1016/0034-4257(88)90106-X',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        VARI=SpectralIndex(
            short_name='VARI',
            long_name='Visible Atmospherically Resistant Index',
            formula='(G - R) / (G + R - B)',
            reference='https://doi.org/10.1016/S0034-4257(01)00289-9',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        BAI=SpectralIndex(
            short_name='BAI',
            long_name='Burned Area Index',
            formula='1.0 / ((0.1 - R) ** 2.0 + (0.06 - N) ** 2.0)',
            reference='https://digital.csic.es/bitstream/10261/6426/1/Martin_Isabel_Serie_Geografica.pdf',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        BAIS2=SpectralIndex(
            short_name='BAIS2',
            long_name='Burned Area Index for Sentinel 2',
            formula='(1.0 - ((RE2 * RE3 * N2) / R) ** 0.5) * (((S2 - N2)/(S2 + N2) ** 0.5) + 1.0)',
            reference='https://doi.org/10.3390/ecrs-2-05177',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        CSIT=SpectralIndex(
            short_name='CSIT',
            long_name='Char Soil Index Thermal',
            formula='N / (S2 * T1 / 10000.0)',
            reference='https://doi.org/10.1080/01431160600954704',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NBR=SpectralIndex(
            short_name='NBR',
            long_name='Normalized Burn Ratio',
            formula='(N - S2) / (N + S2)',
            reference='https://doi.org/10.3133/ofr0211',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NBRT1=SpectralIndex(
            short_name='NBRT1',
            long_name='Normalized Burn Ratio Thermal 1',
            formula='(N - (S2 * T1 / 10000.0)) / (N + (S2 * T1 / 10000.0))',
            reference='https://doi.org/10.1080/01431160500239008',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NDVIT=SpectralIndex(
            short_name='NDVIT',
            long_name='Normalized Difference Vegetation Index Thermal',
            formula='(N - (R * T1 / 10000.0))/(N + (R * T1 / 10000.0))',
            reference='https://doi.org/10.1080/01431160600954704',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        SAVIT=SpectralIndex(
            short_name='SAVIT',
            long_name='Soil-Adjusted Vegetation Index Thermal',
            formula='(1.0 + L) * (N - (R * T1 / 10000.0)) / (N + (R * T1 / 10000.0) + L)',
            reference='https://doi.org/10.1080/01431160600954704',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        MNDWI=SpectralIndex(
            short_name='MNDWI',
            long_name='Modified Normalized Difference Water Index',
            formula='(G - S1) / (G + S1)',
            reference='https://doi.org/10.1080/01431160600589179',
            application_domain='water',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NDWI=SpectralIndex(
            short_name='NDWI',
            long_name='Normalized Difference Water Index',
            formula='(G - N) / (G + N)',
            reference='https://doi.org/10.1080/01431169608948714',
            application_domain='water',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NDSI=SpectralIndex(
            short_name='NDSI',
            long_name='Normalized Difference Snow Index',
            formula='(G - S1) / (G + S1)',
            reference='https://doi.org/10.1109/IGARSS.1994.399618',
            application_domain='snow',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NDDI=SpectralIndex(
            short_name='NDDI',
            long_name='Normalized Difference Drought Index',
            formula='(((N - R)/(N + R)) - ((G - N)/(G + N)))/(((N - R)/(N + R)) + ((G - N)/(G + N)))',
            reference='https://doi.org/10.1029/2006GL029127',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        kEVI=SpectralIndex(
            short_name='kEVI',
            long_name='Kernel Enhanced Vegetation Index',
            formula='g * (kNN - kNR) / (kNN + C1 * kNR - C2 * kNB + kNL)',
            reference='https://doi.org/10.1126/sciadv.abc7447',
            application_domain='kernel',
            date_of_addition='2021-05-10',
            contributor="https://github.com/davemlz"
        ),
        kNDVI=SpectralIndex(
            short_name='kNDVI',
            long_name='Kernel Normalized Difference Vegetation Index',
            formula='(kNN - kNR)/(kNN + kNR)',
            reference='https://doi.org/10.1126/sciadv.abc7447',
            application_domain='kernel',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        kRVI=SpectralIndex(
            short_name='kRVI',
            long_name='Kernel Ratio Vegetation Index',
            formula='kNN / kNR',
            reference='https://doi.org/10.1126/sciadv.abc7447',
            application_domain='kernel',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        kVARI=SpectralIndex(
            short_name='kVARI',
            long_name='Kernel Visible Atmospherically Resistant Index',
            formula='(kGG - kGR) / (kGG + kGR - kGB)',
            reference='https://doi.org/10.1126/sciadv.abc7447',
            application_domain='kernel',
            date_of_addition='2021-05-10',
            contributor="https://github.com/davemlz"
        ),
        SeLI=SpectralIndex(
            short_name='SeLI',
            long_name='Sentinel-2 LAI Green Index',
            formula='(N2 - RE1) / (N2 + RE1)',
            reference='https://doi.org/10.3390/s19040904',
            application_domain='vegetation',
            date_of_addition='2021-04-08',
            contributor="https://github.com/davemlz"
        ),
        OSAVI=SpectralIndex(
            short_name='OSAVI',
            long_name='Optimized Soil-Adjusted Vegetation Index',
            formula='(N - R) / (N + R + 0.16)',
            reference='https://doi.org/10.1016/0034-4257(95)00186-7',
            application_domain='vegetation',
            date_of_addition='2021-05-11',
            contributor="https://github.com/davemlz"
        ),
        ARVI=SpectralIndex(
            short_name='ARVI',
            long_name='Atmospherically Resistant Vegetation Index',
            formula='(N - (R - gamma * (R - B))) / (N + (R - gamma * (R - B)))',
            reference='https://doi.org/10.1109/36.134076',
            application_domain='vegetation',
            date_of_addition='2021-05-11',
            contributor="https://github.com/davemlz"
        ),
        SARVI=SpectralIndex(
            short_name='SARVI',
            long_name='Soil Adjusted and Atmospherically Resistant Vegetation Index',
            formula='(1 + L)*(N - (R - (R - B))) / (N + (R - (R - B)) + L)',
            reference='https://doi.org/10.1109/36.134076',
            application_domain='vegetation',
            date_of_addition='2021-05-11',
            contributor="https://github.com/davemlz"
        ),
        NLI=SpectralIndex(
            short_name='NLI',
            long_name='Non-Linear Vegetation Index',
            formula='((N ** 2) - R)/((N ** 2) + R)',
            reference='https://doi.org/10.1080/02757259409532252',
            application_domain='vegetation',
            date_of_addition='2021-05-11',
            contributor="https://github.com/davemlz"
        ),
        MNLI=SpectralIndex(
            short_name='MNLI',
            long_name='Modified Non-Linear Vegetation Index',
            formula='(1 + L)*((N ** 2) - R)/((N ** 2) + R + L)',
            reference='https://doi.org/10.1109/TGRS.2003.812910',
            application_domain='vegetation',
            date_of_addition='2021-05-11',
            contributor="https://github.com/davemlz"
        ),
        NMDI=SpectralIndex(
            short_name='NMDI',
            long_name='Normalized Multi-band Drought Index',
            formula='(N - (S1 - S2))/(N + (S1 - S2))',
            reference='https://doi.org/10.1029/2007GL031021',
            application_domain='vegetation',
            date_of_addition='2021-05-11',
            contributor="https://github.com/davemlz"
        ),
        MSAVI=SpectralIndex(
            short_name='MSAVI',
            long_name='Modified Soil-Adjusted Vegetation Index',
            formula='0.5 * (2.0 * N + 1 - (((2 * N + 1) ** 2) - 8 * (N - R)) ** 0.5)',
            reference='https://doi.org/10.1016/0034-4257(94)90134-1',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        MCARI=SpectralIndex(
            short_name='MCARI',
            long_name='Modified Chlorophyll Absorption in Reflectance Index',
            formula='((RE1 - R) - 0.2 * (RE1 - G)) * (RE1 / R)',
            reference='http://dx.doi.org/10.1016/S0034-4257(00)00113-9',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        OCVI=SpectralIndex(
            short_name='OCVI',
            long_name='Optimized Chlorophyll Vegetation Index',
            formula='(N / G) * (R / G) ** cexp',            
            reference='http://dx.doi.org/10.1007/s11119-008-9075-z',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        NDREI=SpectralIndex(
            short_name='NDREI',
            long_name='Normalized Difference Red Edge Index',
            formula='(N - RE1) / (N + RE1)',            
            reference='https://doi.org/10.1016/1011-1344(93)06963-4',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        CIRE=SpectralIndex(
            short_name='CIRE',
            long_name='Chlorophyll Index Red Edge',
            formula='(N / RE1) - 1',            
            reference='https://doi.org/10.1078/0176-1617-00887',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        MTCI=SpectralIndex(
            short_name='MTCI',
            long_name='MERIS Terrestrial Chlorophyll Index',
            formula='(RE2 - RE1) / (RE1 - R)',            
            reference='https://doi.org/10.1080/0143116042000274015',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        TCARI=SpectralIndex(
            short_name='TCARI',
            long_name='Transformed Chlorophyll Absorption in Reflectance Index',
            formula='3 * ((RE1 - R) - 0.2 * (RE1 - G) * (RE1 / R))',
            reference='https://doi.org/10.1016/S0034-4257(02)00018-4',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        GDVI=SpectralIndex(
            short_name='GDVI',
            long_name='Generalized Difference Vegetation Index',
            formula='((N ** nexp) - (R ** nexp)) / ((N ** nexp) + (R ** nexp))',
            reference='https://doi.org/10.3390/rs6021211',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        WDRVI=SpectralIndex(
            short_name='WDRVI',
            long_name='Wide Dynamic Range Vegetation Index',
            formula='(alpha * N - R) / (alpha * N + R)',
            reference='https://doi.org/10.1078/0176-1617-01176',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        MCARI1=SpectralIndex(
            short_name='MCARI1',
            long_name='Modified Chlorophyll Absorption in Reflectance Index 1',
            formula='1.2 * (2.5 * (N - R) - 1.3 * (N - G))',
            reference='https://doi.org/10.1016/j.rse.2003.12.013',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        MTVI1=SpectralIndex(
            short_name='MTVI1',
            long_name='Modified Triangular Vegetation Index 1',
            formula='1.2 * (1.2 * (N - G) - 2.5 * (R - G))',
            reference='https://doi.org/10.1016/j.rse.2003.12.013',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        MCARI2=SpectralIndex(
            short_name='MCARI2',
            long_name='Modified Chlorophyll Absorption in Reflectance Index 2',
            formula='(1.5 * (2.5 * (N - R) - 1.3 * (N - G))) / ((((2.0 * N + 1) ** 2) - (6.0 * N - 5 * (R ** 0.5)) - 0.5) ** 0.5)',
            reference='https://doi.org/10.1016/j.rse.2003.12.013',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        MTVI2=SpectralIndex(
            short_name='MTVI2',
            long_name='Modified Triangular Vegetation Index 2',
            formula='(1.5 * (1.2 * (N - G) - 2.5 * (R - G))) / ((((2.0 * N + 1) ** 2) - (6.0 * N - 5 * (R ** 0.5)) - 0.5) ** 0.5)',
            reference='https://doi.org/10.1016/j.rse.2003.12.013',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        TriVI=SpectralIndex(
            short_name='TriVI',
            long_name='Triangular Vegetation Index',
            formula='0.5 * (120 * (N - G) - 200 * (R - G))',
            reference='http://dx.doi.org/10.1016/S0034-4257(00)00197-8',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        MSR=SpectralIndex(
            short_name='MSR',
            long_name='Modified Simple Ratio',
            formula='(N / R - 1) / ((N / R + 1) ** 0.5)',
            reference='https://doi.org/10.1080/07038992.1996.10855178',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        RDVI=SpectralIndex(
            short_name='RDVI',
            long_name='Renormalized Difference Vegetation Index',
            formula='(N - R) / ((N + R) ** 0.5)',
            reference='https://doi.org/10.1016/0034-4257(94)00114-3',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        NDBI=SpectralIndex(
            short_name='NDBI',
            long_name='Normalized Difference Built-Up Index',
            formula='(S1 - N) / (S1 + N)',
            reference='http://dx.doi.org/10.1080/01431160304987',
            application_domain='urban',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        MGRVI=SpectralIndex(
            short_name='MGRVI',
            long_name='Modified Green Red Vegetation Index',
            formula='(G ** 2.0 - R ** 2.0) / (G ** 2.0 + R ** 2.0)',
            reference='https://doi.org/10.1016/j.jag.2015.02.012',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        ExG=SpectralIndex(
            short_name='ExG',
            long_name='Excess Green Index',
            formula='2 * G - R - B',
            reference='https://doi.org/10.13031/2013.27838',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        DVI=SpectralIndex(
            short_name='DVI',
            long_name='Difference Vegetation Index',
            formula='N - R',
            reference='https://doi.org/10.1016/0034-4257(94)00114-3',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        WDVI=SpectralIndex(
            short_name='WDVI',
            long_name='Weighted Difference Vegetation Index',
            formula='N - sla * R',
            reference='https://doi.org/10.1016/0034-4257(89)90076-X',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        TSAVI=SpectralIndex(
            short_name='TSAVI',
            long_name='Transformed Soil-Adjusted Vegetation Index',
            formula='sla * (N - sla * R - slb) / (sla * N + R - sla * slb)',
            reference='https://doi.org/10.1109/IGARSS.1989.576128',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        ATSAVI=SpectralIndex(
            short_name='ATSAVI',
            long_name='Adjusted Transformed Soil-Adjusted Vegetation Index',
            formula='sla * (N - sla * R - slb) / (sla * N + R - sla * slb + 0.08 * (1 + sla ** 2.0))',
            reference='https://doi.org/10.1016/0034-4257(91)90009-U',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        SAVI2=SpectralIndex(
            short_name='SAVI2',
            long_name='Soil-Adjusted Vegetation Index 2',
            formula='N / (R + (slb / sla))',
            reference='https://doi.org/10.1080/01431169008955053',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        TCI=SpectralIndex(
            short_name='TCI',
            long_name='Triangular Chlorophyll Index',
            formula='1.2 * (RE1 - G) - 1.5 * (R - G) * (RE1 / R) ** 0.5',
            reference='http://dx.doi.org/10.1109/TGRS.2007.904836',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        TGI=SpectralIndex(
            short_name='TGI',
            long_name='Triangular Greenness Index',
            formula='- 0.5 * (190 * (R - G) - 120 * (R - B))',
            reference='http://dx.doi.org/10.1016/j.jag.2012.07.020',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        IRECI=SpectralIndex(
            short_name='IRECI',
            long_name='Inverted Red-Edge Chlorophyll Index',
            formula='(RE3 - R) / (RE1 / RE2)',
            reference='https://doi.org/10.1016/j.isprsjprs.2013.04.007',
            application_domain='vegetation',
            date_of_addition='2021-09-17',
            contributor="https://github.com/davemlz"
        ),
        S2REP=SpectralIndex(
            short_name='S2REP',
            long_name='Sentinel-2 Red-Edge Position',
            formula='705.0 + 35.0 * ((((RE3 + R) / 2.0) - RE1) / (RE2 - RE1))',
            reference='https://doi.org/10.1016/j.isprsjprs.2013.04.007',
            application_domain='vegetation',
            date_of_addition='2021-09-17',
            contributor="https://github.com/davemlz"
        ),
        EBBI=SpectralIndex(
            short_name='EBBI',
            long_name='Enhanced Built-Up and Bareness Index',
            formula='(S1 - N) / (10.0 * ((S1 + T1) ** 0.5))',
            reference='https://doi.org/10.3390/rs4102957',
            application_domain='urban',
            date_of_addition='2021-09-17',
            contributor="https://github.com/davemlz"
        ),
        NDBaI=SpectralIndex(
            short_name='NDBaI',
            long_name='Normalized Difference Bareness Index',
            formula='(S1 - T1) / (S1 + T1)',
            reference='https://doi.org/10.1109/IGARSS.2005.1526319',
            application_domain='urban',
            date_of_addition='2021-09-17',
            contributor="https://github.com/davemlz"
        ),
        SIPI=SpectralIndex(
            short_name='SIPI',
            long_name='Structure Insensitive Pigment Index',
            formula='(N - A) / (N - R)',
            reference='https://eurekamag.com/research/009/395/009395053.php',
            application_domain='vegetation',
            date_of_addition='2021-09-17',
            contributor="https://github.com/davemlz"
        ),
        NHFD=SpectralIndex(
            short_name='NHFD',
            long_name='Non-Homogeneous Feature Difference',
            formula='(RE1 - A) / (RE1 + A)',
            reference='https://www.semanticscholar.org/paper/Using-WorldView-2-Vis-NIR-MSI-Imagery-to-Support-Wolf/5e5063ccc4ee76b56b721c866e871d47a77f9fb4',
            application_domain='urban',
            date_of_addition='2021-09-17',
            contributor="https://github.com/davemlz"
        ),
        NDYI=SpectralIndex(
            short_name='NDYI',
            long_name='Normalized Difference Yellowness Index',
            formula='(G - B) / (G + B)',
            reference='https://doi.org/10.1016/j.rse.2016.06.016',
            application_domain='vegetation',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        NRFIr=SpectralIndex(
            short_name='NRFIr',
            long_name='Normalized Rapeseed Flowering Index Red',
            formula='(R - S2) / (R + S2)',
            reference='https://doi.org/10.3390/rs13010105',
            application_domain='vegetation',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        NRFIg=SpectralIndex(
            short_name='NRFIg',
            long_name='Normalized Rapeseed Flowering Index Green',
            formula='(G - S2) / (G + S2)',
            reference='https://doi.org/10.3390/rs13010105',
            application_domain='vegetation',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        TRRVI=SpectralIndex(
            short_name='TRRVI',
            long_name='Transformed Red Range Vegetation Index',
            formula='((RE2 - R) / (RE2 + R)) / (((N - R) / (N + R)) + 1.0)',
            reference='https://doi.org/10.3390/rs12152359',
            application_domain='vegetation',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        TTVI=SpectralIndex(
            short_name='TTVI',
            long_name='Transformed Triangular Vegetation Index',
            formula='0.5 * ((865.0 - 740.0) * (RE3 - RE2) - (N2 - RE2) * (783.0 - 740))',
            reference='https://doi.org/10.3390/rs12010016',
            application_domain='vegetation',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        NDSaII=SpectralIndex(
            short_name='NDSaII',
            long_name='Normalized Difference Snow and Ice Index',
            formula='(R - S1) / (R + S1)',
            reference='https://doi.org/10.1080/01431160119766',
            application_domain='snow',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        SWI=SpectralIndex(
            short_name='SWI',
            long_name='Snow Water Index',
            formula='(G * (N - S1)) / ((G + N) * (N + S1))',
            reference='https://doi.org/10.3390/rs11232774',
            application_domain='snow',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        S3=SpectralIndex(
            short_name='S3',
            long_name='S3 Snow Index',
            formula='(N * (R - S1)) / ((N + R) * (N + S1))',
            reference='https://doi.org/10.3178/jjshwr.12.28',
            application_domain='snow',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        WI1=SpectralIndex(
            short_name='WI1',
            long_name='Water Index 1',
            formula='(G - S2) / (G + S2)',
            reference='https://doi.org/10.3390/rs11182186',
            application_domain='water',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        WI2=SpectralIndex(
            short_name='WI2',
            long_name='Water Index 2',
            formula='(B - S2) / (B + S2)',
            reference='https://doi.org/10.3390/rs11182186',
            application_domain='water',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        AWEInsh=SpectralIndex(
            short_name='AWEInsh',
            long_name='Automated Water Extraction Index',
            formula='4.0 * (G - S1) - 0.25 * N + 2.75 * S2',
            reference='https://doi.org/10.1016/j.rse.2013.08.029',
            application_domain='water',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        AWEIsh=SpectralIndex(
            short_name='AWEIsh',
            long_name='Automated Water Extraction Index with Shadows Elimination',
            formula='B + 2.5 * G - 1.5 * (N + S1) - 0.25 * S2',
            reference='https://doi.org/10.1016/j.rse.2013.08.029',
            application_domain='water',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        NBR2=SpectralIndex(
            short_name='NBR2',
            long_name='Normalized Burn Ratio 2',
            formula='(S1 - S2) / (S1 + S2)',
            reference='https://www.usgs.gov/core-science-systems/nli/landsat/landsat-normalized-burn-ratio-2',
            application_domain='burn',
            date_of_addition='2021-09-20',
            contributor="https://github.com/davemlz"
        ),
        BWDRVI=SpectralIndex(
            short_name='BWDRVI',
            long_name='Blue Wide Dynamic Range Vegetation Index',
            formula='(alpha * N - B) / (alpha * N + B)',
            reference='https://doi.org/10.2135/cropsci2007.01.0031',
            application_domain='vegetation',
            date_of_addition='2021-09-20',
            contributor="https://github.com/davemlz"
        ),
        ARI=SpectralIndex(
            short_name='ARI',
            long_name='Anthocyanin Reflectance Index',
            formula='(1 / G) - (1 / RE1)',
            reference='https://doi.org/10.1562/0031-8655(2001)074%3C0038:OPANEO%3E2.0.CO;2',
            application_domain='vegetation',
            date_of_addition='2021-09-20',
            contributor="https://github.com/davemlz"
        ),
        VIG=SpectralIndex(
            short_name='VIG',
            long_name='Vegetation Index Green',
            formula='(G - R) / (G + R)',
            reference='https://doi.org/10.1016/S0034-4257(01)00289-9',
            application_domain='vegetation',
            date_of_addition='2021-09-20',
            contributor="https://github.com/davemlz"
        ),
        VI700=SpectralIndex(
            short_name='VI700',
            long_name='Vegetation Index (700 nm)',
            formula='(RE1 - R) / (RE1 + R)',
            reference='https://doi.org/10.1016/S0034-4257(01)00289-9',
            application_domain='vegetation',
            date_of_addition='2021-09-20',
            contributor="https://github.com/davemlz"
        ),
        VARI700=SpectralIndex(
            short_name='VARI700',
            long_name='Visible Atmospherically Resistant Index (700 nm)',
            formula='(RE1 - 1.7 * R + 0.7 * B) / (RE1 + 1.3 * R - 1.3 * B)',
            reference='https://doi.org/10.1016/S0034-4257(01)00289-9',
            application_domain='vegetation',
            date_of_addition='2021-09-20',
            contributor="https://github.com/davemlz"
        ),
        TCARIOSAVI=SpectralIndex(
            short_name='TCARIOSAVI',
            long_name='TCARI/OSAVI Ratio',
            formula='(3 * ((RE1 - R) - 0.2 * (RE1 - G) * (RE1 / R))) / (1.16 * (N - R) / (N + R + 0.16))',
            reference='https://doi.org/10.1016/S0034-4257(02)00018-4',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        MCARIOSAVI=SpectralIndex(
            short_name='MCARIOSAVI',
            long_name='MCARI/OSAVI Ratio',
            formula='(((RE1 - R) - 0.2 * (RE1 - G)) * (RE1 / R)) / (1.16 * (N - R) / (N + R + 0.16))',
            reference='https://doi.org/10.1016/S0034-4257(00)00113-9',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        TCARIOSAVI705=SpectralIndex(
            short_name='TCARIOSAVI705',
            long_name='TCARI/OSAVI Ratio (705 and 750 nm)',
            formula='(3 * ((RE2 - RE1) - 0.2 * (RE2 - G) * (RE2 / RE1))) / (1.16 * (RE2 - RE1) / (RE2 + RE1 + 0.16))',
            reference='https://doi.org/10.1016/j.agrformet.2008.03.005',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        MCARIOSAVI705=SpectralIndex(
            short_name='MCARIOSAVI705',
            long_name='MCARI/OSAVI Ratio (705 and 750 nm)',
            formula='(((RE2 - RE1) - 0.2 * (RE2 - G)) * (RE2 / RE1)) / (1.16 * (RE2 - RE1) / (RE2 + RE1 + 0.16))',
            reference='https://doi.org/10.1016/j.agrformet.2008.03.005',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        MCARI705=SpectralIndex(
            short_name='MCARI705',
            long_name='Modified Chlorophyll Absorption in Reflectance Index (705 and 750 nm)',
            formula='((RE2 - RE1) - 0.2 * (RE2 - G)) * (RE2 / RE1)',
            reference='https://doi.org/10.1016/j.agrformet.2008.03.005',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        MSR705=SpectralIndex(
            short_name='MSR705',
            long_name='Modified Simple Ratio (705 and 750 nm)',
            formula='(RE2 / RE1 - 1) / ((RE2 / RE1 + 1) ** 0.5)',
            reference='https://doi.org/10.1016/j.agrformet.2008.03.005',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        NDVI705=SpectralIndex(
            short_name='NDVI705',
            long_name='Normalized Difference Vegetation Index (705 and 750 nm)',
            formula='(RE2 - RE1) / (RE2 + RE1)',
            reference='https://doi.org/10.1016/S0176-1617(11)81633-0',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        SR705=SpectralIndex(
            short_name='SR705',
            long_name='Simple Ratio (705 and 750 nm)',
            formula='RE2 / RE1',
            reference='https://doi.org/10.1016/S0176-1617(11)81633-0',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        SR555=SpectralIndex(
            short_name='SR555',
            long_name='Simple Ratio (555 and 750 nm)',
            formula='RE2 / G',
            reference='https://doi.org/10.1016/S0176-1617(11)81633-0',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        REDSI=SpectralIndex(
            short_name='REDSI',
            long_name='Red-Edge Disease Stress Index',
            formula='((705.0 - 665.0) * (RE3 - R) - (783.0 - 665.0) * (RE1 - R)) / (2.0 * R)',
            reference='https://doi.org/10.3390/s18030868',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        NIRv=SpectralIndex(
            short_name='NIRv',
            long_name='Near-Infrared Reflectance of Vegetation',
            formula='((N - R) / (N + R)) * N',
            reference='https://doi.org/10.1126/sciadv.1602244',
            application_domain='vegetation',
            date_of_addition='2021-11-16',
            contributor="https://github.com/davemlz"
        ),
        AFRI2100=SpectralIndex(
            short_name='AFRI2100',
            long_name='Aerosol Free Vegetation Index (2100 nm)',
            formula='(N - 0.5 * S2) / (N + 0.5 * S2)',
            reference='https://doi.org/10.1016/S0034-4257(01)00190-0',
            application_domain='vegetation',
            date_of_addition='2021-11-17',
            contributor="https://github.com/davemlz"
        ),
        AFRI1600=SpectralIndex(
            short_name='AFRI1600',
            long_name='Aerosol Free Vegetation Index (1600 nm)',
            formula='(N - 0.66 * S1) / (N + 0.66 * S1)',
            reference='https://doi.org/10.1016/S0034-4257(01)00190-0',
            application_domain='vegetation',
            date_of_addition='2021-11-17',
            contributor="https://github.com/davemlz"
        ),
        NIRvP=SpectralIndex(
            short_name='NIRvP',
            long_name='Near-Infrared Reflectance of Vegetation and Incoming PAR',
            formula='((N - R) / (N + R)) * N * PAR',
            reference='https://doi.org/10.1016/j.rse.2021.112763',
            application_domain='vegetation',
            date_of_addition='2021-11-18',
            contributor="https://github.com/davemlz"
        ),
        NDMI=SpectralIndex(
            short_name='NDMI',
            long_name='Normalized Difference Moisture Index',
            formula='(N - S1)/(N + S1)',
            reference='https://doi.org/10.1016/S0034-4257(01)00318-2',
            application_domain='vegetation',
            date_of_addition='2021-12-01',
            contributor="https://github.com/bpurinton"
        ),
        QpRVI=SpectralIndex(
            short_name='QpRVI',
            long_name='Quad-Polarized Radar Vegetation Index',
            formula='(8.0 * HV)/(HH + VV + 2.0 * HV)',
            reference='https://doi.org/10.1109/IGARSS.2001.976856',
            application_domain='radar',
            date_of_addition='2021-12-24',
            contributor="https://github.com/davemlz"
        ),
        RFDI=SpectralIndex(
            short_name='RFDI',
            long_name='Radar Forest Degradation Index',
            formula='(HH - HV)/(HH + HV)',
            reference='https://doi.org/10.5194/bg-9-179-2012',
            application_domain='radar',
            date_of_addition='2021-12-25',
            contributor="https://github.com/davemlz"
        ),
        DpRVIHH=SpectralIndex(
            short_name='DpRVIHH',
            long_name='Dual-Polarized Radar Vegetation Index HH',
            formula='(4.0 * HV)/(HH + HV)',
            reference='https://www.tandfonline.com/doi/abs/10.5589/m12-043',
            application_domain='radar',
            date_of_addition='2021-12-25',
            contributor="https://github.com/davemlz"
        ),
        DpRVIVV=SpectralIndex(
            short_name='DpRVIVV',
            long_name='Dual-Polarized Radar Vegetation Index VV',
            formula='(4.0 * VH)/(VV + VH)',
            reference='https://doi.org/10.3390/app9040655',
            application_domain='radar',
            date_of_addition='2021-12-25',
            contributor="https://github.com/davemlz"
        ),
        NWI=SpectralIndex(
            short_name='NWI',
            long_name='New Water Index',
            formula='(B - (N + S1 + S2))/(B + (N + S1 + S2))',
            reference='https://doi.org/10.11873/j.issn.1004-0323.2009.2.167',
            application_domain='water',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        WRI=SpectralIndex(
            short_name='WRI',
            long_name='Water Ratio Index',
            formula='(G + R)/(N + S1)',
            reference='https://doi.org/10.1109/GEOINFORMATICS.2010.5567762',
            application_domain='water',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        NDVIMNDWI=SpectralIndex(
            short_name='NDVIMNDWI',
            long_name='NDVI-MNDWI Model',
            formula='((N - R)/(N + R)) - ((G - S1)/(G + S1))',
            reference='https://doi.org/10.1007/978-3-662-45737-5_51',
            application_domain='water',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        MBWI=SpectralIndex(
            short_name='MBWI',
            long_name='Multi-Band Water Index',
            formula='(omega * G) - R - N - S1 - S2',
            reference='https://doi.org/10.1016/j.jag.2018.01.018',
            application_domain='water',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        GCC=SpectralIndex(
            short_name='GCC',
            long_name='Green Chromatic Coordinate',
            formula='G / (R + G + B)',
            reference='https://doi.org/10.1016/0034-4257(87)90088-5',
            application_domain='vegetation',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        RCC=SpectralIndex(
            short_name='RCC',
            long_name='Red Chromatic Coordinate',
            formula='R / (R + G + B)',
            reference='https://doi.org/10.1016/0034-4257(87)90088-5',
            application_domain='vegetation',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        BCC=SpectralIndex(
            short_name='BCC',
            long_name='Blue Chromatic Coordinate',
            formula='B / (R + G + B)',
            reference='https://doi.org/10.1016/0034-4257(87)90088-5',
            application_domain='vegetation',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        NIRvH2=SpectralIndex(
            short_name='NIRvH2',
            long_name='Hyperspectral Near-Infrared Reflectance of Vegetation',
            formula='N - R - k * (lambdaN - lambdaR)',
            reference='https://doi.org/10.1016/j.rse.2021.112723',
            application_domain='vegetation',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        NDPI=SpectralIndex(
            short_name='NDPI',
            long_name='Normalized Difference Phenology Index',
            formula='(N - (alpha * R + (1.0 - alpha) * S1))/(N + (alpha * R + (1.0 - alpha) * S1))',
            reference='https://doi.org/10.1016/j.rse.2017.04.031',
            application_domain='vegetation',
            date_of_addition='2022-01-20',
            contributor="https://github.com/davemlz"
        ),
        NDII=SpectralIndex(
            short_name='NDII',
            long_name='Normalized Difference Infrared Index',
            formula='(N - S1)/(N + S1)',
            reference='https://www.asprs.org/wp-content/uploads/pers/1983journal/jan/1983_jan_77-83.pdf',
            application_domain='vegetation',
            date_of_addition='2022-01-20',
            contributor="https://github.com/davemlz"
        ),
        DVIplus=SpectralIndex(
            short_name='DVIplus',
            long_name='Difference Vegetation Index Plus',
            formula='((lambdaN - lambdaR)/(lambdaN - lambdaG)) * G + (1.0 - ((lambdaN - lambdaR)/(lambdaN - lambdaG))) * N - R',
            reference='https://doi.org/10.1016/j.rse.2019.03.028',
            application_domain='vegetation',
            date_of_addition='2022-01-20',
            contributor="https://github.com/davemlz"
        ),
        NDGI=SpectralIndex(
            short_name='NDGI',
            long_name='Normalized Difference Greenness Index',
            formula='(((lambdaN - lambdaR)/(lambdaN - lambdaG)) * G + (1.0 - ((lambdaN - lambdaR)/(lambdaN - lambdaG))) * N - R)/(((lambdaN - lambdaR)/(lambdaN - lambdaG)) * G + (1.0 - ((lambdaN - lambdaR)/(lambdaN - lambdaG))) * N + R)',
            reference='https://doi.org/10.1016/j.rse.2019.03.028',
            application_domain='vegetation',
            date_of_addition='2022-01-20',
            contributor="https://github.com/davemlz"
        ),
        FCVI=SpectralIndex(
            short_name='FCVI',
            long_name='Fluorescence Correction Vegetation Index',
            formula='N - ((R + G + B)/3.0)',
            reference='https://doi.org/10.1016/j.rse.2020.111676',
            application_domain='vegetation',
            date_of_addition='2022-01-20',
            contributor="https://github.com/davemlz"
        ),
        UI=SpectralIndex(
            short_name='UI',
            long_name='Urban Index',
            formula='(S2 - N)/(S2 + N)',
            reference='https://www.isprs.org/proceedings/XXXI/congress/part7/321_XXXI-part7.pdf',
            application_domain='urban',
            date_of_addition='2022-02-07',
            contributor="https://github.com/davemlz"
        ),
        VrNIRBI=SpectralIndex(
            short_name='VrNIRBI',
            long_name='Visible Red-Based Built-Up Index',
            formula='(R - N)/(R + N)',
            reference='https://doi.org/10.1016/j.ecolind.2015.03.037',
            application_domain='urban',
            date_of_addition='2022-02-09',
            contributor="https://github.com/davemlz"
        ),
        VgNIRBI=SpectralIndex(
            short_name='VgNIRBI',
            long_name='Visible Green-Based Built-Up Index',
            formula='(G - N)/(G + N)',
            reference='https://doi.org/10.1016/j.ecolind.2015.03.037',
            application_domain='urban',
            date_of_addition='2022-02-09',
            contributor="https://github.com/davemlz"
        ),
        IBI=SpectralIndex(
            short_name='IBI',
            long_name='Index-Based Built-Up Index',
            formula='(((S1-N)/(S1+N))-(((N-R)*(1.0+L)/(N+R+L))+((G-S1)/(G+S1)))/2.0)/(((S1-N)/(S1+N))+(((N-R)*(1.0+L)/(N+R+L))+((G-S1)/(G+S1)))/2.0)',
            reference='https://doi.org/10.1080/01431160802039957',
            application_domain='urban',
            date_of_addition='2022-02-09',
            contributor="https://github.com/davemlz"
        ),
        BLFEI=SpectralIndex(
            short_name='BLFEI',
            long_name='Built-Up Land Features Extraction Index',
            formula='(((G+R+S2)/3.0)-S1)/(((G+R+S2)/3.0)+S1)',
            reference='https://doi.org/10.1080/10106049.2018.1497094',
            application_domain='urban',
            date_of_addition='2022-02-09',
            contributor="https://github.com/davemlz"
        ),
        S2WI=SpectralIndex(
            short_name='S2WI',
            long_name='Sentinel-2 Water Index',
            formula='(RE1 - S2)/(RE1 + S2)',
            reference='https://doi.org/10.3390/w13121647',
            application_domain='water',
            date_of_addition='2022-03-06',
            contributor="https://github.com/MATRIX4284"
        ),
        NDWIns=SpectralIndex(
            short_name='NDWIns',
            long_name='Normalized Difference Water Index with no Snow Cover and Glaciers',
            formula='(G - alpha * N)/(G + N)',
            reference='https://doi.org/10.3390/w12051339',
            application_domain='water',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NDSInw=SpectralIndex(
            short_name='NDSInw',
            long_name='Normalized Difference Snow Index with no Water',
            formula='(N - S1 - beta)/(N + S1)',
            reference='https://doi.org/10.3390/w12051339',
            application_domain='snow',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        ExGR=SpectralIndex(
            short_name='ExGR',
            long_name='ExG - ExR Vegetation Index',
            formula='(2.0 * G - R - B) - (1.3 * R - G)',
            reference='https://doi.org/10.1016/j.compag.2008.03.009',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        ExR=SpectralIndex(
            short_name='ExR',
            long_name='Excess Red Index',
            formula='1.3 * R - G',
            reference='https://doi.org/10.1117/12.336896',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        MRBVI=SpectralIndex(
            short_name='MRBVI',
            long_name='Modified Red Blue Vegetation Index',
            formula='(R ** 2.0 - B ** 2.0)/(R ** 2.0 + B ** 2.0)',
            reference='https://doi.org/10.3390/s20185055',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        AVI=SpectralIndex(
            short_name='AVI',
            long_name='Advanced Vegetation Index',
            formula='(N * (1.0 - R) * (N - R)) ** (1/3)',
            reference='http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.465.8749&rep=rep1&type=pdf',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        BI=SpectralIndex(
            short_name='BI',
            long_name='Bare Soil Index',
            formula='((S1 + R) - (N + B))/((S1 + R) + (N + B))',
            reference='http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.465.8749&rep=rep1&type=pdf',
            application_domain='urban',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        SI=SpectralIndex(
            short_name='SI',
            long_name='Shadow Index',
            formula='((1.0 - B) * (1.0 - G) * (1.0 - R)) ** (1/3)',
            reference='http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.465.8749&rep=rep1&type=pdf',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        MSI=SpectralIndex(
            short_name='MSI',
            long_name='Moisture Stress Index',
            formula='S1/N',
            reference='https://doi.org/10.1016/0034-4257(89)90046-1',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NDGlaI=SpectralIndex(
            short_name='NDGlaI',
            long_name='Normalized Difference Glacier Index',
            formula='(G - R)/(G + R)',
            reference='https://doi.org/10.1080/01431160802385459',
            application_domain='snow',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NDSII=SpectralIndex(
            short_name='NDSII',
            long_name='Normalized Difference Snow Ice Index',
            formula='(G - N)/(G + N)',
            reference='https://doi.org/10.1080/01431160802385459',
            application_domain='snow',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        IKAW=SpectralIndex(
            short_name='IKAW',
            long_name='Kawashima Index',
            formula='(R - B)/(R + B)',
            reference='https://doi.org/10.1006/anbo.1997.0544',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        RGRI=SpectralIndex(
            short_name='RGRI',
            long_name='Red-Green Ratio Index',
            formula='R/G',
            reference='https://doi.org/10.1016/j.jag.2014.03.018',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        RGBVI=SpectralIndex(
            short_name='RGBVI',
            long_name='Red Green Blue Vegetation Index',
            formula='(G ** 2.0 - B * R)/(G ** 2.0 + B * R)',
            reference='https://doi.org/10.1016/j.jag.2015.02.012',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        ARI2=SpectralIndex(
            short_name='ARI2',
            long_name='Anthocyanin Reflectance Index 2',
            formula='N * ((1 / G) - (1 / RE1))',
            reference='https://doi.org/10.1562/0031-8655(2001)074%3C0038:OPANEO%3E2.0.CO;2',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NormNIR=SpectralIndex(
            short_name='NormNIR',
            long_name='Normalized NIR',
            formula='N/(N + G + R)',
            reference='https://doi.org/10.2134/agronj2004.0314',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NormR=SpectralIndex(
            short_name='NormR',
            long_name='Normalized Red',
            formula='R/(N + G + R)',
            reference='https://doi.org/10.2134/agronj2004.0314',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NormG=SpectralIndex(
            short_name='NormG',
            long_name='Normalized Green',
            formula='G/(N + G + R)',
            reference='https://doi.org/10.2134/agronj2004.0314',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        GRVI=SpectralIndex(
            short_name='GRVI',
            long_name='Green Ratio Vegetation Index',
            formula='N/G',
            reference='https://doi.org/10.2134/agronj2004.0314',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        GSAVI=SpectralIndex(
            short_name='GSAVI',
            long_name='Green Soil Adjusted Vegetation Index',
            formula='(1.0 + L) * (N - G) / (N + G + L)',
            reference='https://doi.org/10.2134/agronj2004.0314',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        GOSAVI=SpectralIndex(
            short_name='GOSAVI',
            long_name='Green Optimized Soil Adjusted Vegetation Index',
            formula='(N - G) / (N + G + 0.16)',
            reference='https://doi.org/10.2134/agronj2004.0314',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        SR=SpectralIndex(
            short_name='SR',
            long_name='Simple Ratio',
            formula='N/R',
            reference='https://doi.org/10.2307/1936256',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        TVI=SpectralIndex(
            short_name='TVI',
            long_name='Transformed Vegetation Index',
            formula='(((N - R)/(N + R)) + 0.5) ** 0.5',
            reference='https://ntrs.nasa.gov/citations/19740022614',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        GM1=SpectralIndex(
            short_name='GM1',
            long_name='Gitelson and Merzlyak Index 1',
            formula='RE2/G',
            reference='https://doi.org/10.1016/S0176-1617(96)80284-7',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        GM2=SpectralIndex(
            short_name='GM2',
            long_name='Gitelson and Merzlyak Index 2',
            formula='RE2/RE1',
            reference='https://doi.org/10.1016/S0176-1617(96)80284-7',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        IAVI=SpectralIndex(
            short_name='IAVI',
            long_name='New Atmospherically Resistant Vegetation Index',
            formula='(N - (R - gamma * (B - R)))/(N + (R - gamma * (B - R)))',
            reference='https://www.jipb.net/EN/abstract/abstract23925.shtml',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        IPVI=SpectralIndex(
            short_name='IPVI',
            long_name='Infrared Percentage Vegetation Index',
            formula='N/(N + R)',
            reference='https://doi.org/10.1016/0034-4257(90)90085-Z',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        kIPVI=SpectralIndex(
            short_name='kIPVI',
            long_name='Kernel Infrared Percentage Vegetation Index',
            formula='kNN/(kNN + kNR)',
            reference='https://doi.org/10.1126/sciadv.abc7447',
            application_domain='kernel',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        ND705=SpectralIndex(
            short_name='ND705',
            long_name='Normalized Difference (705 and 750 nm)',
            formula='(RE2 - RE1)/(RE2 + RE1)',
            reference='https://doi.org/10.1016/S0034-4257(02)00010-X',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        mSR705=SpectralIndex(
            short_name='mSR705',
            long_name='Modified Simple Ratio (705 and 445 nm)',
            formula='(RE2 - A)/(RE2 + A)',
            reference='https://doi.org/10.1016/S0034-4257(02)00010-X',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        mND705=SpectralIndex(
            short_name='mND705',
            long_name='Modified Normalized Difference (705, 750 and 445 nm)',
            formula='(RE2 - RE1)/(RE2 + RE1 - A)',
            reference='https://doi.org/10.1016/S0034-4257(02)00010-X',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        PSRI=SpectralIndex(
            short_name='PSRI',
            long_name='Plant Senescing Reflectance Index',
            formula='(R - B)/RE2',
            reference='https://doi.org/10.1034/j.1399-3054.1999.106119.x',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NBSIMS=SpectralIndex(
            short_name='NBSIMS',
            long_name='Non-Binary Snow Index for Multi-Component Surfaces',
            formula='0.36 * (G + R + N) - (((B + S2)/G) + S1)',
            reference='https://doi.org/10.3390/rs13142777',
            application_domain='snow',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        MuWIR=SpectralIndex(
            short_name='MuWIR',
            long_name='Revised Multi-Spectral Water Index',
            formula='-4.0 * ((B - G)/(B + G)) + 2.0 * ((G - N)/(G + N)) + 2.0 * ((G - S2)/(G + S2)) - ((G - S1)/(G + S1))',
            reference='https://doi.org/10.3390/rs10101643',
            application_domain='water',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        RENDVI=SpectralIndex(
            short_name='RENDVI',
            long_name='Red Edge Normalized Difference Vegetation Index',
            formula='(RE2 - RE1)/(RE2 + RE1)',
            reference='https://doi.org/10.1016/S0176-1617(11)81633-0',
            application_domain='vegetation',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        RI=SpectralIndex(
            short_name='RI',
            long_name='Redness Index',
            formula='(R - G)/(R + G)',
            reference='https://www.documentation.ird.fr/hor/fdi:34390',
            application_domain='vegetation',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        SR2=SpectralIndex(
            short_name='SR2',
            long_name='Simple Ratio (800 and 550 nm)',
            formula='N/G',
            reference='https://doi.org/10.1080/01431169308904370',
            application_domain='vegetation',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        SR3=SpectralIndex(
            short_name='SR3',
            long_name='Simple Ratio (860, 550 and 708 nm)',
            formula='N2/(G * RE1)',
            reference='https://doi.org/10.1016/S0034-4257(98)00046-7',
            application_domain='vegetation',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        TDVI=SpectralIndex(
            short_name='TDVI',
            long_name='Transformed Difference Vegetation Index',
            formula='1.5 * ((N - R)/((N ** 2.0 + R + 0.5) ** 0.5))',
            reference='https://doi.org/10.1109/IGARSS.2002.1026867',
            application_domain='vegetation',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        NBUI=SpectralIndex(
            short_name='NBUI',
            long_name='New Built-Up Index',
            formula='((S1 - N)/(10.0 * (T1 + S1) ** 0.5)) - (((N - R) * (1.0 + L))/(N - R + L)) - (G - S1)/(G + S1)',
            reference='https://hdl.handle.net/1959.11/29500',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        PISI=SpectralIndex(
            short_name='PISI',
            long_name='Perpendicular Impervious Surface Index',
            formula='0.8192 * B - 0.5735 * N + 0.0750',
            reference='https://doi.org/10.3390/rs10101521',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NDISIr=SpectralIndex(
            short_name='NDISIr',
            long_name='Normalized Difference Impervious Surface Index Red',
            formula='(T1 - (R + N + S1) / 3.0)/(T1 + (R + N + S1) / 3.0)',
            reference='https://doi.org/10.14358/PERS.76.5.557',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NDISIg=SpectralIndex(
            short_name='NDISIg',
            long_name='Normalized Difference Impervious Surface Index Green',
            formula='(T1 - (G + N + S1) / 3.0)/(T1 + (G + N + S1) / 3.0)',
            reference='https://doi.org/10.14358/PERS.76.5.557',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NDISIb=SpectralIndex(
            short_name='NDISIb',
            long_name='Normalized Difference Impervious Surface Index Blue',
            formula='(T1 - (B + N + S1) / 3.0)/(T1 + (B + N + S1) / 3.0)',
            reference='https://doi.org/10.14358/PERS.76.5.557',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NDISIndwi=SpectralIndex(
            short_name='NDISIndwi',
            long_name='Normalized Difference Impervious Surface Index with NDWI',
            formula='(T1 - (((G - N)/(G + N)) + N + S1) / 3.0)/(T1 + (((G - N)/(G + N)) + N + S1) / 3.0)',
            reference='https://doi.org/10.14358/PERS.76.5.557',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NDISImndwi=SpectralIndex(
            short_name='NDISImndwi',
            long_name='Normalized Difference Impervious Surface Index with MNDWI',
            formula='(T1 - (((G - S1)/(G + S1)) + N + S1) / 3.0)/(T1 + (((G - S1)/(G + S1)) + N + S1) / 3.0)',
            reference='https://doi.org/10.14358/PERS.76.5.557',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NSDS=SpectralIndex(
            short_name='NSDS',
            long_name='Normalized Shortwave Infrared Difference Soil-Moisture',
            formula='(S1 - S2)/(S1 + S2)',
            reference='https://doi.org/10.3390/land10030231',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        MBI=SpectralIndex(
            short_name='MBI',
            long_name='Modified Bare Soil Index',
            formula='((S1 - S2 - N)/(S1 + S2 + N)) + 0.5',
            reference='https://doi.org/10.3390/land10030231',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        EMBI=SpectralIndex(
            short_name='EMBI',
            long_name='Enhanced Modified Bare Soil Index',
            formula='((((S1 - S2 - N)/(S1 + S2 + N)) + 0.5) - ((G - S1)/(G + S1)) - 0.5)/((((S1 - S2 - N)/(S1 + S2 + N)) + 0.5) + ((G - S1)/(G + S1)) + 1.5)',
            reference='https://doi.org/10.1016/j.jag.2022.102703',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NDSoI=SpectralIndex(
            short_name='NDSoiI',
            long_name='Normalized Difference Soil Index',
            formula='(S2 - G)/(S2 + G)',
            reference='https://doi.org/10.1016/j.jag.2015.02.010',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        BaI=SpectralIndex(
            short_name='BaI',
            long_name='Bareness Index',
            formula='R + S1 - N',
            reference='https://doi.org/10.1109/IGARSS.2005.1525743',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NBLI=SpectralIndex(
            short_name='NBLI',
            long_name='Normalized Difference Bare Land Index',
            formula='(R - T1)/(R + T1)',
            reference='https://doi.org/10.3390/rs9030249',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        DBI=SpectralIndex(
            short_name='DBI',
            long_name='Dry Built-Up Index',
            formula='((B - T1)/(B + T1)) - ((N - R)/(N + R))',
            reference='https://doi.org/10.3390/land7030081',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        DBSI=SpectralIndex(
            short_name='DBSI',
            long_name='Dry Bareness Index',
            formula='((S1 - G)/(S1 + G)) - ((N - R)/(N + R))',
            reference='https://doi.org/10.3390/land7030081',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        CSI=SpectralIndex(
            short_name='CSI',
            long_name='Char Soil Index',
            formula='N/S2',
            reference='https://doi.org/10.1016/j.rse.2005.04.014',
            application_domain='burn',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VI6T=SpectralIndex(
            short_name='VI6T',
            long_name='VI6T Index',
            formula='(N - T1/10000.0)/(N + T1/10000.0)',
            reference='https://doi.org/10.1080/01431160500239008',
            application_domain='burn',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        NBRT2=SpectralIndex(
            short_name='NBRT2',
            long_name='Normalized Burn Ratio Thermal 2',
            formula='((N / (T1 / 10000.0)) - S2) / ((N / (T1 / 10000.0)) + S2)',
            reference='https://doi.org/10.1080/01431160500239008',
            application_domain='burn',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        NBRT3=SpectralIndex(
            short_name='NBRT3',
            long_name='Normalized Burn Ratio Thermal 3',
            formula='((N - (T1 / 10000.0)) - S2) / ((N - (T1 / 10000.0)) + S2)',
            reference='https://doi.org/10.1080/01431160500239008',
            application_domain='burn',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        MIRBI=SpectralIndex(
            short_name='MIRBI',
            long_name='Mid-Infrared Burn Index',
            formula='10.0 * S2 - 9.8 * S1 + 2.0',
            reference='https://doi.org/10.1080/01431160110053185',
            application_domain='burn',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        DPDD=SpectralIndex(
            short_name='DPDD',
            long_name='Dual-Pol Diagonal Distance',
            formula='(VV + VH)/2.0 ** 0.5',
            reference='https://doi.org/10.1016/j.rse.2018.09.003',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VDDPI=SpectralIndex(
            short_name='VDDPI',
            long_name='Vertical Dual De-Polarization Index',
            formula='(VV + VH)/VV',
            reference='https://doi.org/10.1016/j.rse.2018.09.003',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        NDPolI=SpectralIndex(
            short_name='NDPolI',
            long_name='Normalized Difference Polarization Index',
            formula='(VV - VH)/(VV + VH)',
            reference='https://www.isprs.org/proceedings/XXXVII/congress/4_pdf/267.pdf',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VHVVR=SpectralIndex(
            short_name='VHVVR',
            long_name='VH-VV Ratio',
            formula='VH/VV',
            reference='https://doi.org/10.1109/IGARSS47720.2021.9554099',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VHVVP=SpectralIndex(
            short_name='VHVVP',
            long_name='VH-VV Product',
            formula='VH * VV',
            reference='https://doi.org/10.1109/IGARSS47720.2021.9554099',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VVVHD=SpectralIndex(
            short_name='VVVHD',
            long_name='VV-VH Difference',
            formula='VV - VH',
            reference='https://doi.org/10.1109/IGARSS47720.2021.9554099',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VVVHS=SpectralIndex(
            short_name='VVVHS',
            long_name='VV-VH Sum',
            formula='VV + VH',
            reference='https://doi.org/10.1109/IGARSS47720.2021.9554099',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VVVHR=SpectralIndex(
            short_name='VVVHR',
            long_name='VV-VH Ratio',
            formula='VV/VH',
            reference='https://doi.org/10.3390/app9040655',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VHVVD=SpectralIndex(
            short_name='VHVVD',
            long_name='VH-VV Difference',
            formula='VH - VV',
            reference='https://doi.org/10.3390/app9040655',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        BAIM=SpectralIndex(
            short_name='BAIM',
            long_name='Burned Area Index adapted to MODIS',
            formula='1.0/((0.05 - N) ** 2.0) + ((0.2 - S2) ** 2.0)',
            reference='https://doi.org/10.1016/j.foreco.2006.08.248',
            application_domain='burn',
            date_of_addition='2022-04-20',
            contributor="https://github.com/davemlz"
        ),
        SWM=SpectralIndex(
            short_name='SWM',
            long_name='Sentinel Water Mask',
            formula='(B + G)/(N + S1)',
            reference='https://eoscience.esa.int/landtraining2017/files/posters/MILCZAREK.pdf',
            application_domain='water',
            date_of_addition='2022-04-20',
            contributor="https://github.com/davemlz"
        ),
        LSWI=SpectralIndex(
            short_name='LSWI',
            long_name='Land Surface Water Index',
            formula='(N - S1)/(N + S1)',
            reference='https://doi.org/10.1016/j.rse.2003.11.008',
            application_domain='water',
            date_of_addition='2022-04-20',
            contributor="https://github.com/davemlz"
        ),
        MLSWI26=SpectralIndex(
            short_name='MLSWI26',
            long_name='Modified Land Surface Water Index (MODIS Bands 2 and 6)',
            formula='(1.0 - N - S1)/(1.0 - N + S1)',
            reference='https://doi.org/10.3390/rs71215805',
            application_domain='water',
            date_of_addition='2022-04-20',
            contributor="https://github.com/davemlz"
        ),
        MLSWI27=SpectralIndex(
            short_name='MLSWI27',
            long_name='Modified Land Surface Water Index (MODIS Bands 2 and 7)',
            formula='(1.0 - N - S2)/(1.0 - N + S2)',
            reference='https://doi.org/10.3390/rs71215805',
            application_domain='water',
            date_of_addition='2022-04-20',
            contributor="https://github.com/davemlz"
        ),
    )
)

<filename>src/indices.py
from src.SpectralIndex import SpectralIndex
from typing import Dict
from pydantic import BaseModel


class SpectralIndices(BaseModel):
    SpectralIndices: Dict[str, SpectralIndex]


spindex = SpectralIndices(
    SpectralIndices=dict(
        BNDVI=SpectralIndex(
            short_name='BNDVI',
            long_name='Blue Normalized Difference Vegetation Index',
            formula='(N - B)/(N + B)',            
            reference='https://doi.org/10.1016/S1672-6308(07)60027-4',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/MATRIX4284"
        ),
        CIG=SpectralIndex(
            short_name='CIG',
            long_name='Chlorophyll Index Green',
            formula='(N / G) - 1.0',            
            reference='https://doi.org/10.1078/0176-1617-00887',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        CVI=SpectralIndex(
            short_name='CVI',
            long_name='Chlorophyll Vegetation Index',
            formula='(N * R) / (G ** 2.0)',            
            reference='https://doi.org/10.1007/s11119-010-9204-3',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        EVI=SpectralIndex(
            short_name='EVI',
            long_name='Enhanced Vegetation Index',
            formula='g * (N - R) / (N + C1 * R - C2 * B + L)',            
            reference='https://doi.org/10.1016/S0034-4257(96)00112-5',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        EVI2=SpectralIndex(
            short_name='EVI2',
            long_name='Two-Band Enhanced Vegetation Index',
            formula='g * (N - R) / (N + 2.4 * R + L)',
            reference='https://doi.org/10.1016/j.rse.2008.06.006',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GARI=SpectralIndex(
            short_name='GARI',
            long_name='Green Atmospherically Resistant Vegetation Index',
            formula='(N - (G - (B - R))) / (N - (G + (B - R)))',
            reference='https://doi.org/10.1016/S0034-4257(96)00072-7',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GBNDVI=SpectralIndex(
            short_name='GBNDVI',
            long_name='Green-Blue Normalized Difference Vegetation Index',
            formula='(N - (G + B))/(N + (G + B))',
            reference='https://doi.org/10.1016/S1672-6308(07)60027-4',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GEMI=SpectralIndex(
            short_name='GEMI',
            long_name='Global Environment Monitoring Index',
            formula='((2.0*((N ** 2.0)-(R ** 2.0)) + 1.5*N + 0.5*R)/(N + R + 0.5))*(1.0 - 0.25*((2.0 * ((N ** 2.0) - (R ** 2)) + 1.5 * N + 0.5 * R)/(N + R + 0.5)))-((R - 0.125)/(1 - R))',
            reference='http://dx.doi.org/10.1007/bf00031911',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GLI=SpectralIndex(
            short_name='GLI',
            long_name='Green Leaf Index',
            formula='(2.0 * G - R - B) / (2.0 * G + R + B)',
            reference='http://dx.doi.org/10.1080/10106040108542184',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GNDVI=SpectralIndex(
            short_name='GNDVI',
            long_name='Green Normalized Difference Vegetation Index',
            formula='(N - G)/(N + G)',
            reference='https://doi.org/10.1016/S0034-4257(96)00072-7',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GRNDVI=SpectralIndex(
            short_name='GRNDVI',
            long_name='Green-Red Normalized Difference Vegetation Index',
            formula='(N - (G + R))/(N + (G + R))',
            reference='https://doi.org/10.1016/S1672-6308(07)60027-4',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        GVMI=SpectralIndex(
            short_name='GVMI',
            long_name='Global Vegetation Moisture Index',
            formula='((N + 0.1) - (S2 + 0.02)) / ((N + 0.1) + (S2 + 0.02))',
            reference='https://doi.org/10.1016/S0034-4257(02)00037-8',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        MNDVI=SpectralIndex(
            short_name='MNDVI',
            long_name='Modified Normalized Difference Vegetation Index',
            formula='(N - S2)/(N + S2)',
            reference='https://doi.org/10.1080/014311697216810',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NDVI=SpectralIndex(
            short_name='NDVI',
            long_name='Normalized Difference Vegetation Index',
            formula='(N - R)/(N + R)',
            reference='https://ntrs.nasa.gov/citations/19740022614',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NGRDI=SpectralIndex(
            short_name='NGRDI',
            long_name='Normalized Green Red Difference Index',
            formula='(G - R) / (G + R)',
            reference='https://doi.org/10.1016/0034-4257(79)90013-0',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        RVI=SpectralIndex(
            short_name='RVI',
            long_name='Ratio Vegetation Index',
            formula='RE2 / R',
            reference='https://doi.org/10.2134/agronj1968.00021962006000060016x',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        SAVI=SpectralIndex(
            short_name='SAVI',
            long_name='Soil-Adjusted Vegetation Index',
            formula='(1.0 + L) * (N - R) / (N + R + L)',
            reference='https://doi.org/10.1016/0034-4257(88)90106-X',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        VARI=SpectralIndex(
            short_name='VARI',
            long_name='Visible Atmospherically Resistant Index',
            formula='(G - R) / (G + R - B)',
            reference='https://doi.org/10.1016/S0034-4257(01)00289-9',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        BAI=SpectralIndex(
            short_name='BAI',
            long_name='Burned Area Index',
            formula='1.0 / ((0.1 - R) ** 2.0 + (0.06 - N) ** 2.0)',
            reference='https://digital.csic.es/bitstream/10261/6426/1/Martin_Isabel_Serie_Geografica.pdf',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        BAIS2=SpectralIndex(
            short_name='BAIS2',
            long_name='Burned Area Index for Sentinel 2',
            formula='(1.0 - ((RE2 * RE3 * N2) / R) ** 0.5) * (((S2 - N2)/(S2 + N2) ** 0.5) + 1.0)',
            reference='https://doi.org/10.3390/ecrs-2-05177',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        CSIT=SpectralIndex(
            short_name='CSIT',
            long_name='Char Soil Index Thermal',
            formula='N / (S2 * T1 / 10000.0)',
            reference='https://doi.org/10.1080/01431160600954704',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NBR=SpectralIndex(
            short_name='NBR',
            long_name='Normalized Burn Ratio',
            formula='(N - S2) / (N + S2)',
            reference='https://doi.org/10.3133/ofr0211',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NBRT1=SpectralIndex(
            short_name='NBRT1',
            long_name='Normalized Burn Ratio Thermal 1',
            formula='(N - (S2 * T1 / 10000.0)) / (N + (S2 * T1 / 10000.0))',
            reference='https://doi.org/10.1080/01431160500239008',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NDVIT=SpectralIndex(
            short_name='NDVIT',
            long_name='Normalized Difference Vegetation Index Thermal',
            formula='(N - (R * T1 / 10000.0))/(N + (R * T1 / 10000.0))',
            reference='https://doi.org/10.1080/01431160600954704',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        SAVIT=SpectralIndex(
            short_name='SAVIT',
            long_name='Soil-Adjusted Vegetation Index Thermal',
            formula='(1.0 + L) * (N - (R * T1 / 10000.0)) / (N + (R * T1 / 10000.0) + L)',
            reference='https://doi.org/10.1080/01431160600954704',
            application_domain='burn',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        MNDWI=SpectralIndex(
            short_name='MNDWI',
            long_name='Modified Normalized Difference Water Index',
            formula='(G - S1) / (G + S1)',
            reference='https://doi.org/10.1080/01431160600589179',
            application_domain='water',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NDWI=SpectralIndex(
            short_name='NDWI',
            long_name='Normalized Difference Water Index',
            formula='(G - N) / (G + N)',
            reference='https://doi.org/10.1080/01431169608948714',
            application_domain='water',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NDSI=SpectralIndex(
            short_name='NDSI',
            long_name='Normalized Difference Snow Index',
            formula='(G - S1) / (G + S1)',
            reference='https://doi.org/10.1109/IGARSS.1994.399618',
            application_domain='snow',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        NDDI=SpectralIndex(
            short_name='NDDI',
            long_name='Normalized Difference Drought Index',
            formula='(((N - R)/(N + R)) - ((G - N)/(G + N)))/(((N - R)/(N + R)) + ((G - N)/(G + N)))',
            reference='https://doi.org/10.1029/2006GL029127',
            application_domain='vegetation',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        kEVI=SpectralIndex(
            short_name='kEVI',
            long_name='Kernel Enhanced Vegetation Index',
            formula='g * (kNN - kNR) / (kNN + C1 * kNR - C2 * kNB + kNL)',
            reference='https://doi.org/10.1126/sciadv.abc7447',
            application_domain='kernel',
            date_of_addition='2021-05-10',
            contributor="https://github.com/davemlz"
        ),
        kNDVI=SpectralIndex(
            short_name='kNDVI',
            long_name='Kernel Normalized Difference Vegetation Index',
            formula='(kNN - kNR)/(kNN + kNR)',
            reference='https://doi.org/10.1126/sciadv.abc7447',
            application_domain='kernel',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        kRVI=SpectralIndex(
            short_name='kRVI',
            long_name='Kernel Ratio Vegetation Index',
            formula='kNN / kNR',
            reference='https://doi.org/10.1126/sciadv.abc7447',
            application_domain='kernel',
            date_of_addition='2021-04-07',
            contributor="https://github.com/davemlz"
        ),
        kVARI=SpectralIndex(
            short_name='kVARI',
            long_name='Kernel Visible Atmospherically Resistant Index',
            formula='(kGG - kGR) / (kGG + kGR - kGB)',
            reference='https://doi.org/10.1126/sciadv.abc7447',
            application_domain='kernel',
            date_of_addition='2021-05-10',
            contributor="https://github.com/davemlz"
        ),
        SeLI=SpectralIndex(
            short_name='SeLI',
            long_name='Sentinel-2 LAI Green Index',
            formula='(N2 - RE1) / (N2 + RE1)',
            reference='https://doi.org/10.3390/s19040904',
            application_domain='vegetation',
            date_of_addition='2021-04-08',
            contributor="https://github.com/davemlz"
        ),
        OSAVI=SpectralIndex(
            short_name='OSAVI',
            long_name='Optimized Soil-Adjusted Vegetation Index',
            formula='(N - R) / (N + R + 0.16)',
            reference='https://doi.org/10.1016/0034-4257(95)00186-7',
            application_domain='vegetation',
            date_of_addition='2021-05-11',
            contributor="https://github.com/davemlz"
        ),
        ARVI=SpectralIndex(
            short_name='ARVI',
            long_name='Atmospherically Resistant Vegetation Index',
            formula='(N - (R - gamma * (R - B))) / (N + (R - gamma * (R - B)))',
            reference='https://doi.org/10.1109/36.134076',
            application_domain='vegetation',
            date_of_addition='2021-05-11',
            contributor="https://github.com/davemlz"
        ),
        SARVI=SpectralIndex(
            short_name='SARVI',
            long_name='Soil Adjusted and Atmospherically Resistant Vegetation Index',
            formula='(1 + L)*(N - (R - (R - B))) / (N + (R - (R - B)) + L)',
            reference='https://doi.org/10.1109/36.134076',
            application_domain='vegetation',
            date_of_addition='2021-05-11',
            contributor="https://github.com/davemlz"
        ),
        NLI=SpectralIndex(
            short_name='NLI',
            long_name='Non-Linear Vegetation Index',
            formula='((N ** 2) - R)/((N ** 2) + R)',
            reference='https://doi.org/10.1080/02757259409532252',
            application_domain='vegetation',
            date_of_addition='2021-05-11',
            contributor="https://github.com/davemlz"
        ),
        MNLI=SpectralIndex(
            short_name='MNLI',
            long_name='Modified Non-Linear Vegetation Index',
            formula='(1 + L)*((N ** 2) - R)/((N ** 2) + R + L)',
            reference='https://doi.org/10.1109/TGRS.2003.812910',
            application_domain='vegetation',
            date_of_addition='2021-05-11',
            contributor="https://github.com/davemlz"
        ),
        NMDI=SpectralIndex(
            short_name='NMDI',
            long_name='Normalized Multi-band Drought Index',
            formula='(N - (S1 - S2))/(N + (S1 - S2))',
            reference='https://doi.org/10.1029/2007GL031021',
            application_domain='vegetation',
            date_of_addition='2021-05-11',
            contributor="https://github.com/davemlz"
        ),
        MSAVI=SpectralIndex(
            short_name='MSAVI',
            long_name='Modified Soil-Adjusted Vegetation Index',
            formula='0.5 * (2.0 * N + 1 - (((2 * N + 1) ** 2) - 8 * (N - R)) ** 0.5)',
            reference='https://doi.org/10.1016/0034-4257(94)90134-1',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        MCARI=SpectralIndex(
            short_name='MCARI',
            long_name='Modified Chlorophyll Absorption in Reflectance Index',
            formula='((RE1 - R) - 0.2 * (RE1 - G)) * (RE1 / R)',
            reference='http://dx.doi.org/10.1016/S0034-4257(00)00113-9',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        OCVI=SpectralIndex(
            short_name='OCVI',
            long_name='Optimized Chlorophyll Vegetation Index',
            formula='(N / G) * (R / G) ** cexp',            
            reference='http://dx.doi.org/10.1007/s11119-008-9075-z',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        NDREI=SpectralIndex(
            short_name='NDREI',
            long_name='Normalized Difference Red Edge Index',
            formula='(N - RE1) / (N + RE1)',            
            reference='https://doi.org/10.1016/1011-1344(93)06963-4',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        CIRE=SpectralIndex(
            short_name='CIRE',
            long_name='Chlorophyll Index Red Edge',
            formula='(N / RE1) - 1',            
            reference='https://doi.org/10.1078/0176-1617-00887',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        MTCI=SpectralIndex(
            short_name='MTCI',
            long_name='MERIS Terrestrial Chlorophyll Index',
            formula='(RE2 - RE1) / (RE1 - R)',            
            reference='https://doi.org/10.1080/0143116042000274015',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        TCARI=SpectralIndex(
            short_name='TCARI',
            long_name='Transformed Chlorophyll Absorption in Reflectance Index',
            formula='3 * ((RE1 - R) - 0.2 * (RE1 - G) * (RE1 / R))',
            reference='https://doi.org/10.1016/S0034-4257(02)00018-4',
            application_domain='vegetation',
            date_of_addition='2021-05-13',
            contributor="https://github.com/davemlz"
        ),
        GDVI=SpectralIndex(
            short_name='GDVI',
            long_name='Generalized Difference Vegetation Index',
            formula='((N ** nexp) - (R ** nexp)) / ((N ** nexp) + (R ** nexp))',
            reference='https://doi.org/10.3390/rs6021211',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        WDRVI=SpectralIndex(
            short_name='WDRVI',
            long_name='Wide Dynamic Range Vegetation Index',
            formula='(alpha * N - R) / (alpha * N + R)',
            reference='https://doi.org/10.1078/0176-1617-01176',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        MCARI1=SpectralIndex(
            short_name='MCARI1',
            long_name='Modified Chlorophyll Absorption in Reflectance Index 1',
            formula='1.2 * (2.5 * (N - R) - 1.3 * (N - G))',
            reference='https://doi.org/10.1016/j.rse.2003.12.013',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        MTVI1=SpectralIndex(
            short_name='MTVI1',
            long_name='Modified Triangular Vegetation Index 1',
            formula='1.2 * (1.2 * (N - G) - 2.5 * (R - G))',
            reference='https://doi.org/10.1016/j.rse.2003.12.013',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        MCARI2=SpectralIndex(
            short_name='MCARI2',
            long_name='Modified Chlorophyll Absorption in Reflectance Index 2',
            formula='(1.5 * (2.5 * (N - R) - 1.3 * (N - G))) / ((((2.0 * N + 1) ** 2) - (6.0 * N - 5 * (R ** 0.5)) - 0.5) ** 0.5)',
            reference='https://doi.org/10.1016/j.rse.2003.12.013',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        MTVI2=SpectralIndex(
            short_name='MTVI2',
            long_name='Modified Triangular Vegetation Index 2',
            formula='(1.5 * (1.2 * (N - G) - 2.5 * (R - G))) / ((((2.0 * N + 1) ** 2) - (6.0 * N - 5 * (R ** 0.5)) - 0.5) ** 0.5)',
            reference='https://doi.org/10.1016/j.rse.2003.12.013',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        TriVI=SpectralIndex(
            short_name='TriVI',
            long_name='Triangular Vegetation Index',
            formula='0.5 * (120 * (N - G) - 200 * (R - G))',
            reference='http://dx.doi.org/10.1016/S0034-4257(00)00197-8',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        MSR=SpectralIndex(
            short_name='MSR',
            long_name='Modified Simple Ratio',
            formula='(N / R - 1) / ((N / R + 1) ** 0.5)',
            reference='https://doi.org/10.1080/07038992.1996.10855178',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        RDVI=SpectralIndex(
            short_name='RDVI',
            long_name='Renormalized Difference Vegetation Index',
            formula='(N - R) / ((N + R) ** 0.5)',
            reference='https://doi.org/10.1016/0034-4257(94)00114-3',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        NDBI=SpectralIndex(
            short_name='NDBI',
            long_name='Normalized Difference Built-Up Index',
            formula='(S1 - N) / (S1 + N)',
            reference='http://dx.doi.org/10.1080/01431160304987',
            application_domain='urban',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        MGRVI=SpectralIndex(
            short_name='MGRVI',
            long_name='Modified Green Red Vegetation Index',
            formula='(G ** 2.0 - R ** 2.0) / (G ** 2.0 + R ** 2.0)',
            reference='https://doi.org/10.1016/j.jag.2015.02.012',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        ExG=SpectralIndex(
            short_name='ExG',
            long_name='Excess Green Index',
            formula='2 * G - R - B',
            reference='https://doi.org/10.13031/2013.27838',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        DVI=SpectralIndex(
            short_name='DVI',
            long_name='Difference Vegetation Index',
            formula='N - R',
            reference='https://doi.org/10.1016/0034-4257(94)00114-3',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        WDVI=SpectralIndex(
            short_name='WDVI',
            long_name='Weighted Difference Vegetation Index',
            formula='N - sla * R',
            reference='https://doi.org/10.1016/0034-4257(89)90076-X',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        TSAVI=SpectralIndex(
            short_name='TSAVI',
            long_name='Transformed Soil-Adjusted Vegetation Index',
            formula='sla * (N - sla * R - slb) / (sla * N + R - sla * slb)',
            reference='https://doi.org/10.1109/IGARSS.1989.576128',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        ATSAVI=SpectralIndex(
            short_name='ATSAVI',
            long_name='Adjusted Transformed Soil-Adjusted Vegetation Index',
            formula='sla * (N - sla * R - slb) / (sla * N + R - sla * slb + 0.08 * (1 + sla ** 2.0))',
            reference='https://doi.org/10.1016/0034-4257(91)90009-U',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        SAVI2=SpectralIndex(
            short_name='SAVI2',
            long_name='Soil-Adjusted Vegetation Index 2',
            formula='N / (R + (slb / sla))',
            reference='https://doi.org/10.1080/01431169008955053',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        TCI=SpectralIndex(
            short_name='TCI',
            long_name='Triangular Chlorophyll Index',
            formula='1.2 * (RE1 - G) - 1.5 * (R - G) * (RE1 / R) ** 0.5',
            reference='http://dx.doi.org/10.1109/TGRS.2007.904836',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        TGI=SpectralIndex(
            short_name='TGI',
            long_name='Triangular Greenness Index',
            formula='- 0.5 * (190 * (R - G) - 120 * (R - B))',
            reference='http://dx.doi.org/10.1016/j.jag.2012.07.020',
            application_domain='vegetation',
            date_of_addition='2021-05-14',
            contributor="https://github.com/davemlz"
        ),
        IRECI=SpectralIndex(
            short_name='IRECI',
            long_name='Inverted Red-Edge Chlorophyll Index',
            formula='(RE3 - R) / (RE1 / RE2)',
            reference='https://doi.org/10.1016/j.isprsjprs.2013.04.007',
            application_domain='vegetation',
            date_of_addition='2021-09-17',
            contributor="https://github.com/davemlz"
        ),
        S2REP=SpectralIndex(
            short_name='S2REP',
            long_name='Sentinel-2 Red-Edge Position',
            formula='705.0 + 35.0 * ((((RE3 + R) / 2.0) - RE1) / (RE2 - RE1))',
            reference='https://doi.org/10.1016/j.isprsjprs.2013.04.007',
            application_domain='vegetation',
            date_of_addition='2021-09-17',
            contributor="https://github.com/davemlz"
        ),
        EBBI=SpectralIndex(
            short_name='EBBI',
            long_name='Enhanced Built-Up and Bareness Index',
            formula='(S1 - N) / (10.0 * ((S1 + T1) ** 0.5))',
            reference='https://doi.org/10.3390/rs4102957',
            application_domain='urban',
            date_of_addition='2021-09-17',
            contributor="https://github.com/davemlz"
        ),
        NDBaI=SpectralIndex(
            short_name='NDBaI',
            long_name='Normalized Difference Bareness Index',
            formula='(S1 - T1) / (S1 + T1)',
            reference='https://doi.org/10.1109/IGARSS.2005.1526319',
            application_domain='urban',
            date_of_addition='2021-09-17',
            contributor="https://github.com/davemlz"
        ),
        SIPI=SpectralIndex(
            short_name='SIPI',
            long_name='Structure Insensitive Pigment Index',
            formula='(N - A) / (N - R)',
            reference='https://eurekamag.com/research/009/395/009395053.php',
            application_domain='vegetation',
            date_of_addition='2021-09-17',
            contributor="https://github.com/davemlz"
        ),
        NHFD=SpectralIndex(
            short_name='NHFD',
            long_name='Non-Homogeneous Feature Difference',
            formula='(RE1 - A) / (RE1 + A)',
            reference='https://www.semanticscholar.org/paper/Using-WorldView-2-Vis-NIR-MSI-Imagery-to-Support-Wolf/5e5063ccc4ee76b56b721c866e871d47a77f9fb4',
            application_domain='urban',
            date_of_addition='2021-09-17',
            contributor="https://github.com/davemlz"
        ),
        NDYI=SpectralIndex(
            short_name='NDYI',
            long_name='Normalized Difference Yellowness Index',
            formula='(G - B) / (G + B)',
            reference='https://doi.org/10.1016/j.rse.2016.06.016',
            application_domain='vegetation',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        NRFIr=SpectralIndex(
            short_name='NRFIr',
            long_name='Normalized Rapeseed Flowering Index Red',
            formula='(R - S2) / (R + S2)',
            reference='https://doi.org/10.3390/rs13010105',
            application_domain='vegetation',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        NRFIg=SpectralIndex(
            short_name='NRFIg',
            long_name='Normalized Rapeseed Flowering Index Green',
            formula='(G - S2) / (G + S2)',
            reference='https://doi.org/10.3390/rs13010105',
            application_domain='vegetation',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        TRRVI=SpectralIndex(
            short_name='TRRVI',
            long_name='Transformed Red Range Vegetation Index',
            formula='((RE2 - R) / (RE2 + R)) / (((N - R) / (N + R)) + 1.0)',
            reference='https://doi.org/10.3390/rs12152359',
            application_domain='vegetation',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        TTVI=SpectralIndex(
            short_name='TTVI',
            long_name='Transformed Triangular Vegetation Index',
            formula='0.5 * ((865.0 - 740.0) * (RE3 - RE2) - (N2 - RE2) * (783.0 - 740))',
            reference='https://doi.org/10.3390/rs12010016',
            application_domain='vegetation',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        NDSaII=SpectralIndex(
            short_name='NDSaII',
            long_name='Normalized Difference Snow and Ice Index',
            formula='(R - S1) / (R + S1)',
            reference='https://doi.org/10.1080/01431160119766',
            application_domain='snow',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        SWI=SpectralIndex(
            short_name='SWI',
            long_name='Snow Water Index',
            formula='(G * (N - S1)) / ((G + N) * (N + S1))',
            reference='https://doi.org/10.3390/rs11232774',
            application_domain='snow',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        S3=SpectralIndex(
            short_name='S3',
            long_name='S3 Snow Index',
            formula='(N * (R - S1)) / ((N + R) * (N + S1))',
            reference='https://doi.org/10.3178/jjshwr.12.28',
            application_domain='snow',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        WI1=SpectralIndex(
            short_name='WI1',
            long_name='Water Index 1',
            formula='(G - S2) / (G + S2)',
            reference='https://doi.org/10.3390/rs11182186',
            application_domain='water',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        WI2=SpectralIndex(
            short_name='WI2',
            long_name='Water Index 2',
            formula='(B - S2) / (B + S2)',
            reference='https://doi.org/10.3390/rs11182186',
            application_domain='water',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        AWEInsh=SpectralIndex(
            short_name='AWEInsh',
            long_name='Automated Water Extraction Index',
            formula='4.0 * (G - S1) - 0.25 * N + 2.75 * S2',
            reference='https://doi.org/10.1016/j.rse.2013.08.029',
            application_domain='water',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        AWEIsh=SpectralIndex(
            short_name='AWEIsh',
            long_name='Automated Water Extraction Index with Shadows Elimination',
            formula='B + 2.5 * G - 1.5 * (N + S1) - 0.25 * S2',
            reference='https://doi.org/10.1016/j.rse.2013.08.029',
            application_domain='water',
            date_of_addition='2021-09-18',
            contributor="https://github.com/davemlz"
        ),
        NBR2=SpectralIndex(
            short_name='NBR2',
            long_name='Normalized Burn Ratio 2',
            formula='(S1 - S2) / (S1 + S2)',
            reference='https://www.usgs.gov/core-science-systems/nli/landsat/landsat-normalized-burn-ratio-2',
            application_domain='burn',
            date_of_addition='2021-09-20',
            contributor="https://github.com/davemlz"
        ),
        BWDRVI=SpectralIndex(
            short_name='BWDRVI',
            long_name='Blue Wide Dynamic Range Vegetation Index',
            formula='(alpha * N - B) / (alpha * N + B)',
            reference='https://doi.org/10.2135/cropsci2007.01.0031',
            application_domain='vegetation',
            date_of_addition='2021-09-20',
            contributor="https://github.com/davemlz"
        ),
        ARI=SpectralIndex(
            short_name='ARI',
            long_name='Anthocyanin Reflectance Index',
            formula='(1 / G) - (1 / RE1)',
            reference='https://doi.org/10.1562/0031-8655(2001)074%3C0038:OPANEO%3E2.0.CO;2',
            application_domain='vegetation',
            date_of_addition='2021-09-20',
            contributor="https://github.com/davemlz"
        ),
        VIG=SpectralIndex(
            short_name='VIG',
            long_name='Vegetation Index Green',
            formula='(G - R) / (G + R)',
            reference='https://doi.org/10.1016/S0034-4257(01)00289-9',
            application_domain='vegetation',
            date_of_addition='2021-09-20',
            contributor="https://github.com/davemlz"
        ),
        VI700=SpectralIndex(
            short_name='VI700',
            long_name='Vegetation Index (700 nm)',
            formula='(RE1 - R) / (RE1 + R)',
            reference='https://doi.org/10.1016/S0034-4257(01)00289-9',
            application_domain='vegetation',
            date_of_addition='2021-09-20',
            contributor="https://github.com/davemlz"
        ),
        VARI700=SpectralIndex(
            short_name='VARI700',
            long_name='Visible Atmospherically Resistant Index (700 nm)',
            formula='(RE1 - 1.7 * R + 0.7 * B) / (RE1 + 1.3 * R - 1.3 * B)',
            reference='https://doi.org/10.1016/S0034-4257(01)00289-9',
            application_domain='vegetation',
            date_of_addition='2021-09-20',
            contributor="https://github.com/davemlz"
        ),
        TCARIOSAVI=SpectralIndex(
            short_name='TCARIOSAVI',
            long_name='TCARI/OSAVI Ratio',
            formula='(3 * ((RE1 - R) - 0.2 * (RE1 - G) * (RE1 / R))) / (1.16 * (N - R) / (N + R + 0.16))',
            reference='https://doi.org/10.1016/S0034-4257(02)00018-4',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        MCARIOSAVI=SpectralIndex(
            short_name='MCARIOSAVI',
            long_name='MCARI/OSAVI Ratio',
            formula='(((RE1 - R) - 0.2 * (RE1 - G)) * (RE1 / R)) / (1.16 * (N - R) / (N + R + 0.16))',
            reference='https://doi.org/10.1016/S0034-4257(00)00113-9',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        TCARIOSAVI705=SpectralIndex(
            short_name='TCARIOSAVI705',
            long_name='TCARI/OSAVI Ratio (705 and 750 nm)',
            formula='(3 * ((RE2 - RE1) - 0.2 * (RE2 - G) * (RE2 / RE1))) / (1.16 * (RE2 - RE1) / (RE2 + RE1 + 0.16))',
            reference='https://doi.org/10.1016/j.agrformet.2008.03.005',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        MCARIOSAVI705=SpectralIndex(
            short_name='MCARIOSAVI705',
            long_name='MCARI/OSAVI Ratio (705 and 750 nm)',
            formula='(((RE2 - RE1) - 0.2 * (RE2 - G)) * (RE2 / RE1)) / (1.16 * (RE2 - RE1) / (RE2 + RE1 + 0.16))',
            reference='https://doi.org/10.1016/j.agrformet.2008.03.005',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        MCARI705=SpectralIndex(
            short_name='MCARI705',
            long_name='Modified Chlorophyll Absorption in Reflectance Index (705 and 750 nm)',
            formula='((RE2 - RE1) - 0.2 * (RE2 - G)) * (RE2 / RE1)',
            reference='https://doi.org/10.1016/j.agrformet.2008.03.005',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        MSR705=SpectralIndex(
            short_name='MSR705',
            long_name='Modified Simple Ratio (705 and 750 nm)',
            formula='(RE2 / RE1 - 1) / ((RE2 / RE1 + 1) ** 0.5)',
            reference='https://doi.org/10.1016/j.agrformet.2008.03.005',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        NDVI705=SpectralIndex(
            short_name='NDVI705',
            long_name='Normalized Difference Vegetation Index (705 and 750 nm)',
            formula='(RE2 - RE1) / (RE2 + RE1)',
            reference='https://doi.org/10.1016/S0176-1617(11)81633-0',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        SR705=SpectralIndex(
            short_name='SR705',
            long_name='Simple Ratio (705 and 750 nm)',
            formula='RE2 / RE1',
            reference='https://doi.org/10.1016/S0176-1617(11)81633-0',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        SR555=SpectralIndex(
            short_name='SR555',
            long_name='Simple Ratio (555 and 750 nm)',
            formula='RE2 / G',
            reference='https://doi.org/10.1016/S0176-1617(11)81633-0',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        REDSI=SpectralIndex(
            short_name='REDSI',
            long_name='Red-Edge Disease Stress Index',
            formula='((705.0 - 665.0) * (RE3 - R) - (783.0 - 665.0) * (RE1 - R)) / (2.0 * R)',
            reference='https://doi.org/10.3390/s18030868',
            application_domain='vegetation',
            date_of_addition='2021-11-06',
            contributor="https://github.com/davemlz"
        ),
        NIRv=SpectralIndex(
            short_name='NIRv',
            long_name='Near-Infrared Reflectance of Vegetation',
            formula='((N - R) / (N + R)) * N',
            reference='https://doi.org/10.1126/sciadv.1602244',
            application_domain='vegetation',
            date_of_addition='2021-11-16',
            contributor="https://github.com/davemlz"
        ),
        AFRI2100=SpectralIndex(
            short_name='AFRI2100',
            long_name='Aerosol Free Vegetation Index (2100 nm)',
            formula='(N - 0.5 * S2) / (N + 0.5 * S2)',
            reference='https://doi.org/10.1016/S0034-4257(01)00190-0',
            application_domain='vegetation',
            date_of_addition='2021-11-17',
            contributor="https://github.com/davemlz"
        ),
        AFRI1600=SpectralIndex(
            short_name='AFRI1600',
            long_name='Aerosol Free Vegetation Index (1600 nm)',
            formula='(N - 0.66 * S1) / (N + 0.66 * S1)',
            reference='https://doi.org/10.1016/S0034-4257(01)00190-0',
            application_domain='vegetation',
            date_of_addition='2021-11-17',
            contributor="https://github.com/davemlz"
        ),
        NIRvP=SpectralIndex(
            short_name='NIRvP',
            long_name='Near-Infrared Reflectance of Vegetation and Incoming PAR',
            formula='((N - R) / (N + R)) * N * PAR',
            reference='https://doi.org/10.1016/j.rse.2021.112763',
            application_domain='vegetation',
            date_of_addition='2021-11-18',
            contributor="https://github.com/davemlz"
        ),
        NDMI=SpectralIndex(
            short_name='NDMI',
            long_name='Normalized Difference Moisture Index',
            formula='(N - S1)/(N + S1)',
            reference='https://doi.org/10.1016/S0034-4257(01)00318-2',
            application_domain='vegetation',
            date_of_addition='2021-12-01',
            contributor="https://github.com/bpurinton"
        ),
        QpRVI=SpectralIndex(
            short_name='QpRVI',
            long_name='Quad-Polarized Radar Vegetation Index',
            formula='(8.0 * HV)/(HH + VV + 2.0 * HV)',
            reference='https://doi.org/10.1109/IGARSS.2001.976856',
            application_domain='radar',
            date_of_addition='2021-12-24',
            contributor="https://github.com/davemlz"
        ),
        RFDI=SpectralIndex(
            short_name='RFDI',
            long_name='Radar Forest Degradation Index',
            formula='(HH - HV)/(HH + HV)',
            reference='https://doi.org/10.5194/bg-9-179-2012',
            application_domain='radar',
            date_of_addition='2021-12-25',
            contributor="https://github.com/davemlz"
        ),
        DpRVIHH=SpectralIndex(
            short_name='DpRVIHH',
            long_name='Dual-Polarized Radar Vegetation Index HH',
            formula='(4.0 * HV)/(HH + HV)',
            reference='https://www.tandfonline.com/doi/abs/10.5589/m12-043',
            application_domain='radar',
            date_of_addition='2021-12-25',
            contributor="https://github.com/davemlz"
        ),
        DpRVIVV=SpectralIndex(
            short_name='DpRVIVV',
            long_name='Dual-Polarized Radar Vegetation Index VV',
            formula='(4.0 * VH)/(VV + VH)',
            reference='https://doi.org/10.3390/app9040655',
            application_domain='radar',
            date_of_addition='2021-12-25',
            contributor="https://github.com/davemlz"
        ),
        NWI=SpectralIndex(
            short_name='NWI',
            long_name='New Water Index',
            formula='(B - (N + S1 + S2))/(B + (N + S1 + S2))',
            reference='https://doi.org/10.11873/j.issn.1004-0323.2009.2.167',
            application_domain='water',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        WRI=SpectralIndex(
            short_name='WRI',
            long_name='Water Ratio Index',
            formula='(G + R)/(N + S1)',
            reference='https://doi.org/10.1109/GEOINFORMATICS.2010.5567762',
            application_domain='water',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        NDVIMNDWI=SpectralIndex(
            short_name='NDVIMNDWI',
            long_name='NDVI-MNDWI Model',
            formula='((N - R)/(N + R)) - ((G - S1)/(G + S1))',
            reference='https://doi.org/10.1007/978-3-662-45737-5_51',
            application_domain='water',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        MBWI=SpectralIndex(
            short_name='MBWI',
            long_name='Multi-Band Water Index',
            formula='(omega * G) - R - N - S1 - S2',
            reference='https://doi.org/10.1016/j.jag.2018.01.018',
            application_domain='water',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        GCC=SpectralIndex(
            short_name='GCC',
            long_name='Green Chromatic Coordinate',
            formula='G / (R + G + B)',
            reference='https://doi.org/10.1016/0034-4257(87)90088-5',
            application_domain='vegetation',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        RCC=SpectralIndex(
            short_name='RCC',
            long_name='Red Chromatic Coordinate',
            formula='R / (R + G + B)',
            reference='https://doi.org/10.1016/0034-4257(87)90088-5',
            application_domain='vegetation',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        BCC=SpectralIndex(
            short_name='BCC',
            long_name='Blue Chromatic Coordinate',
            formula='B / (R + G + B)',
            reference='https://doi.org/10.1016/0034-4257(87)90088-5',
            application_domain='vegetation',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        NIRvH2=SpectralIndex(
            short_name='NIRvH2',
            long_name='Hyperspectral Near-Infrared Reflectance of Vegetation',
            formula='N - R - k * (lambdaN - lambdaR)',
            reference='https://doi.org/10.1016/j.rse.2021.112723',
            application_domain='vegetation',
            date_of_addition='2022-01-17',
            contributor="https://github.com/davemlz"
        ),
        NDPI=SpectralIndex(
            short_name='NDPI',
            long_name='Normalized Difference Phenology Index',
            formula='(N - (alpha * R + (1.0 - alpha) * S1))/(N + (alpha * R + (1.0 - alpha) * S1))',
            reference='https://doi.org/10.1016/j.rse.2017.04.031',
            application_domain='vegetation',
            date_of_addition='2022-01-20',
            contributor="https://github.com/davemlz"
        ),
        NDII=SpectralIndex(
            short_name='NDII',
            long_name='Normalized Difference Infrared Index',
            formula='(N - S1)/(N + S1)',
            reference='https://www.asprs.org/wp-content/uploads/pers/1983journal/jan/1983_jan_77-83.pdf',
            application_domain='vegetation',
            date_of_addition='2022-01-20',
            contributor="https://github.com/davemlz"
        ),
        DVIplus=SpectralIndex(
            short_name='DVIplus',
            long_name='Difference Vegetation Index Plus',
            formula='((lambdaN - lambdaR)/(lambdaN - lambdaG)) * G + (1.0 - ((lambdaN - lambdaR)/(lambdaN - lambdaG))) * N - R',
            reference='https://doi.org/10.1016/j.rse.2019.03.028',
            application_domain='vegetation',
            date_of_addition='2022-01-20',
            contributor="https://github.com/davemlz"
        ),
        NDGI=SpectralIndex(
            short_name='NDGI',
            long_name='Normalized Difference Greenness Index',
            formula='(((lambdaN - lambdaR)/(lambdaN - lambdaG)) * G + (1.0 - ((lambdaN - lambdaR)/(lambdaN - lambdaG))) * N - R)/(((lambdaN - lambdaR)/(lambdaN - lambdaG)) * G + (1.0 - ((lambdaN - lambdaR)/(lambdaN - lambdaG))) * N + R)',
            reference='https://doi.org/10.1016/j.rse.2019.03.028',
            application_domain='vegetation',
            date_of_addition='2022-01-20',
            contributor="https://github.com/davemlz"
        ),
        FCVI=SpectralIndex(
            short_name='FCVI',
            long_name='Fluorescence Correction Vegetation Index',
            formula='N - ((R + G + B)/3.0)',
            reference='https://doi.org/10.1016/j.rse.2020.111676',
            application_domain='vegetation',
            date_of_addition='2022-01-20',
            contributor="https://github.com/davemlz"
        ),
        UI=SpectralIndex(
            short_name='UI',
            long_name='Urban Index',
            formula='(S2 - N)/(S2 + N)',
            reference='https://www.isprs.org/proceedings/XXXI/congress/part7/321_XXXI-part7.pdf',
            application_domain='urban',
            date_of_addition='2022-02-07',
            contributor="https://github.com/davemlz"
        ),
        VrNIRBI=SpectralIndex(
            short_name='VrNIRBI',
            long_name='Visible Red-Based Built-Up Index',
            formula='(R - N)/(R + N)',
            reference='https://doi.org/10.1016/j.ecolind.2015.03.037',
            application_domain='urban',
            date_of_addition='2022-02-09',
            contributor="https://github.com/davemlz"
        ),
        VgNIRBI=SpectralIndex(
            short_name='VgNIRBI',
            long_name='Visible Green-Based Built-Up Index',
            formula='(G - N)/(G + N)',
            reference='https://doi.org/10.1016/j.ecolind.2015.03.037',
            application_domain='urban',
            date_of_addition='2022-02-09',
            contributor="https://github.com/davemlz"
        ),
        IBI=SpectralIndex(
            short_name='IBI',
            long_name='Index-Based Built-Up Index',
            formula='(((S1-N)/(S1+N))-(((N-R)*(1.0+L)/(N+R+L))+((G-S1)/(G+S1)))/2.0)/(((S1-N)/(S1+N))+(((N-R)*(1.0+L)/(N+R+L))+((G-S1)/(G+S1)))/2.0)',
            reference='https://doi.org/10.1080/01431160802039957',
            application_domain='urban',
            date_of_addition='2022-02-09',
            contributor="https://github.com/davemlz"
        ),
        BLFEI=SpectralIndex(
            short_name='BLFEI',
            long_name='Built-Up Land Features Extraction Index',
            formula='(((G+R+S2)/3.0)-S1)/(((G+R+S2)/3.0)+S1)',
            reference='https://doi.org/10.1080/10106049.2018.1497094',
            application_domain='urban',
            date_of_addition='2022-02-09',
            contributor="https://github.com/davemlz"
        ),
        S2WI=SpectralIndex(
            short_name='S2WI',
            long_name='Sentinel-2 Water Index',
            formula='(RE1 - S2)/(RE1 + S2)',
            reference='https://doi.org/10.3390/w13121647',
            application_domain='water',
            date_of_addition='2022-03-06',
            contributor="https://github.com/MATRIX4284"
        ),
        NDWIns=SpectralIndex(
            short_name='NDWIns',
            long_name='Normalized Difference Water Index with no Snow Cover and Glaciers',
            formula='(G - alpha * N)/(G + N)',
            reference='https://doi.org/10.3390/w12051339',
            application_domain='water',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NDSInw=SpectralIndex(
            short_name='NDSInw',
            long_name='Normalized Difference Snow Index with no Water',
            formula='(N - S1 - beta)/(N + S1)',
            reference='https://doi.org/10.3390/w12051339',
            application_domain='snow',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        ExGR=SpectralIndex(
            short_name='ExGR',
            long_name='ExG - ExR Vegetation Index',
            formula='(2.0 * G - R - B) - (1.3 * R - G)',
            reference='https://doi.org/10.1016/j.compag.2008.03.009',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        ExR=SpectralIndex(
            short_name='ExR',
            long_name='Excess Red Index',
            formula='1.3 * R - G',
            reference='https://doi.org/10.1117/12.336896',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        MRBVI=SpectralIndex(
            short_name='MRBVI',
            long_name='Modified Red Blue Vegetation Index',
            formula='(R ** 2.0 - B ** 2.0)/(R ** 2.0 + B ** 2.0)',
            reference='https://doi.org/10.3390/s20185055',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        AVI=SpectralIndex(
            short_name='AVI',
            long_name='Advanced Vegetation Index',
            formula='(N * (1.0 - R) * (N - R)) ** (1/3)',
            reference='http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.465.8749&rep=rep1&type=pdf',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        BI=SpectralIndex(
            short_name='BI',
            long_name='Bare Soil Index',
            formula='((S1 + R) - (N + B))/((S1 + R) + (N + B))',
            reference='http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.465.8749&rep=rep1&type=pdf',
            application_domain='urban',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        SI=SpectralIndex(
            short_name='SI',
            long_name='Shadow Index',
            formula='((1.0 - B) * (1.0 - G) * (1.0 - R)) ** (1/3)',
            reference='http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.465.8749&rep=rep1&type=pdf',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        MSI=SpectralIndex(
            short_name='MSI',
            long_name='Moisture Stress Index',
            formula='S1/N',
            reference='https://doi.org/10.1016/0034-4257(89)90046-1',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NDGlaI=SpectralIndex(
            short_name='NDGlaI',
            long_name='Normalized Difference Glacier Index',
            formula='(G - R)/(G + R)',
            reference='https://doi.org/10.1080/01431160802385459',
            application_domain='snow',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NDSII=SpectralIndex(
            short_name='NDSII',
            long_name='Normalized Difference Snow Ice Index',
            formula='(G - N)/(G + N)',
            reference='https://doi.org/10.1080/01431160802385459',
            application_domain='snow',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        IKAW=SpectralIndex(
            short_name='IKAW',
            long_name='Kawashima Index',
            formula='(R - B)/(R + B)',
            reference='https://doi.org/10.1006/anbo.1997.0544',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        RGRI=SpectralIndex(
            short_name='RGRI',
            long_name='Red-Green Ratio Index',
            formula='R/G',
            reference='https://doi.org/10.1016/j.jag.2014.03.018',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        RGBVI=SpectralIndex(
            short_name='RGBVI',
            long_name='Red Green Blue Vegetation Index',
            formula='(G ** 2.0 - B * R)/(G ** 2.0 + B * R)',
            reference='https://doi.org/10.1016/j.jag.2015.02.012',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        ARI2=SpectralIndex(
            short_name='ARI2',
            long_name='Anthocyanin Reflectance Index 2',
            formula='N * ((1 / G) - (1 / RE1))',
            reference='https://doi.org/10.1562/0031-8655(2001)074%3C0038:OPANEO%3E2.0.CO;2',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NormNIR=SpectralIndex(
            short_name='NormNIR',
            long_name='Normalized NIR',
            formula='N/(N + G + R)',
            reference='https://doi.org/10.2134/agronj2004.0314',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NormR=SpectralIndex(
            short_name='NormR',
            long_name='Normalized Red',
            formula='R/(N + G + R)',
            reference='https://doi.org/10.2134/agronj2004.0314',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NormG=SpectralIndex(
            short_name='NormG',
            long_name='Normalized Green',
            formula='G/(N + G + R)',
            reference='https://doi.org/10.2134/agronj2004.0314',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        GRVI=SpectralIndex(
            short_name='GRVI',
            long_name='Green Ratio Vegetation Index',
            formula='N/G',
            reference='https://doi.org/10.2134/agronj2004.0314',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        GSAVI=SpectralIndex(
            short_name='GSAVI',
            long_name='Green Soil Adjusted Vegetation Index',
            formula='(1.0 + L) * (N - G) / (N + G + L)',
            reference='https://doi.org/10.2134/agronj2004.0314',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        GOSAVI=SpectralIndex(
            short_name='GOSAVI',
            long_name='Green Optimized Soil Adjusted Vegetation Index',
            formula='(N - G) / (N + G + 0.16)',
            reference='https://doi.org/10.2134/agronj2004.0314',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        SR=SpectralIndex(
            short_name='SR',
            long_name='Simple Ratio',
            formula='N/R',
            reference='https://doi.org/10.2307/1936256',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        TVI=SpectralIndex(
            short_name='TVI',
            long_name='Transformed Vegetation Index',
            formula='(((N - R)/(N + R)) + 0.5) ** 0.5',
            reference='https://ntrs.nasa.gov/citations/19740022614',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        GM1=SpectralIndex(
            short_name='GM1',
            long_name='Gitelson and Merzlyak Index 1',
            formula='RE2/G',
            reference='https://doi.org/10.1016/S0176-1617(96)80284-7',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        GM2=SpectralIndex(
            short_name='GM2',
            long_name='Gitelson and Merzlyak Index 2',
            formula='RE2/RE1',
            reference='https://doi.org/10.1016/S0176-1617(96)80284-7',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        IAVI=SpectralIndex(
            short_name='IAVI',
            long_name='New Atmospherically Resistant Vegetation Index',
            formula='(N - (R - gamma * (B - R)))/(N + (R - gamma * (B - R)))',
            reference='https://www.jipb.net/EN/abstract/abstract23925.shtml',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        IPVI=SpectralIndex(
            short_name='IPVI',
            long_name='Infrared Percentage Vegetation Index',
            formula='N/(N + R)',
            reference='https://doi.org/10.1016/0034-4257(90)90085-Z',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        kIPVI=SpectralIndex(
            short_name='kIPVI',
            long_name='Kernel Infrared Percentage Vegetation Index',
            formula='kNN/(kNN + kNR)',
            reference='https://doi.org/10.1126/sciadv.abc7447',
            application_domain='kernel',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        ND705=SpectralIndex(
            short_name='ND705',
            long_name='Normalized Difference (705 and 750 nm)',
            formula='(RE2 - RE1)/(RE2 + RE1)',
            reference='https://doi.org/10.1016/S0034-4257(02)00010-X',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        mSR705=SpectralIndex(
            short_name='mSR705',
            long_name='Modified Simple Ratio (705 and 445 nm)',
            formula='(RE2 - A)/(RE2 + A)',
            reference='https://doi.org/10.1016/S0034-4257(02)00010-X',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        mND705=SpectralIndex(
            short_name='mND705',
            long_name='Modified Normalized Difference (705, 750 and 445 nm)',
            formula='(RE2 - RE1)/(RE2 + RE1 - A)',
            reference='https://doi.org/10.1016/S0034-4257(02)00010-X',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        PSRI=SpectralIndex(
            short_name='PSRI',
            long_name='Plant Senescing Reflectance Index',
            formula='(R - B)/RE2',
            reference='https://doi.org/10.1034/j.1399-3054.1999.106119.x',
            application_domain='vegetation',
            date_of_addition='2022-04-08',
            contributor="https://github.com/davemlz"
        ),
        NBSIMS=SpectralIndex(
            short_name='NBSIMS',
            long_name='Non-Binary Snow Index for Multi-Component Surfaces',
            formula='0.36 * (G + R + N) - (((B + S2)/G) + S1)',
            reference='https://doi.org/10.3390/rs13142777',
            application_domain='snow',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        MuWIR=SpectralIndex(
            short_name='MuWIR',
            long_name='Revised Multi-Spectral Water Index',
            formula='-4.0 * ((B - G)/(B + G)) + 2.0 * ((G - N)/(G + N)) + 2.0 * ((G - S2)/(G + S2)) - ((G - S1)/(G + S1))',
            reference='https://doi.org/10.3390/rs10101643',
            application_domain='water',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        RENDVI=SpectralIndex(
            short_name='RENDVI',
            long_name='Red Edge Normalized Difference Vegetation Index',
            formula='(RE2 - RE1)/(RE2 + RE1)',
            reference='https://doi.org/10.1016/S0176-1617(11)81633-0',
            application_domain='vegetation',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        RI=SpectralIndex(
            short_name='RI',
            long_name='Redness Index',
            formula='(R - G)/(R + G)',
            reference='https://www.documentation.ird.fr/hor/fdi:34390',
            application_domain='vegetation',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        SR2=SpectralIndex(
            short_name='SR2',
            long_name='Simple Ratio (800 and 550 nm)',
            formula='N/G',
            reference='https://doi.org/10.1080/01431169308904370',
            application_domain='vegetation',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        SR3=SpectralIndex(
            short_name='SR3',
            long_name='Simple Ratio (860, 550 and 708 nm)',
            formula='N2/(G * RE1)',
            reference='https://doi.org/10.1016/S0034-4257(98)00046-7',
            application_domain='vegetation',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        TDVI=SpectralIndex(
            short_name='TDVI',
            long_name='Transformed Difference Vegetation Index',
            formula='1.5 * ((N - R)/((N ** 2.0 + R + 0.5) ** 0.5))',
            reference='https://doi.org/10.1109/IGARSS.2002.1026867',
            application_domain='vegetation',
            date_of_addition='2022-04-09',
            contributor="https://github.com/davemlz"
        ),
        NBUI=SpectralIndex(
            short_name='NBUI',
            long_name='New Built-Up Index',
            formula='((S1 - N)/(10.0 * (T1 + S1) ** 0.5)) - (((N - R) * (1.0 + L))/(N - R + L)) - (G - S1)/(G + S1)',
            reference='https://hdl.handle.net/1959.11/29500',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        PISI=SpectralIndex(
            short_name='PISI',
            long_name='Perpendicular Impervious Surface Index',
            formula='0.8192 * B - 0.5735 * N + 0.0750',
            reference='https://doi.org/10.3390/rs10101521',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NDISIr=SpectralIndex(
            short_name='NDISIr',
            long_name='Normalized Difference Impervious Surface Index Red',
            formula='(T1 - (R + N + S1) / 3.0)/(T1 + (R + N + S1) / 3.0)',
            reference='https://doi.org/10.14358/PERS.76.5.557',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NDISIg=SpectralIndex(
            short_name='NDISIg',
            long_name='Normalized Difference Impervious Surface Index Green',
            formula='(T1 - (G + N + S1) / 3.0)/(T1 + (G + N + S1) / 3.0)',
            reference='https://doi.org/10.14358/PERS.76.5.557',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NDISIb=SpectralIndex(
            short_name='NDISIb',
            long_name='Normalized Difference Impervious Surface Index Blue',
            formula='(T1 - (B + N + S1) / 3.0)/(T1 + (B + N + S1) / 3.0)',
            reference='https://doi.org/10.14358/PERS.76.5.557',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NDISIndwi=SpectralIndex(
            short_name='NDISIndwi',
            long_name='Normalized Difference Impervious Surface Index with NDWI',
            formula='(T1 - (((G - N)/(G + N)) + N + S1) / 3.0)/(T1 + (((G - N)/(G + N)) + N + S1) / 3.0)',
            reference='https://doi.org/10.14358/PERS.76.5.557',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NDISImndwi=SpectralIndex(
            short_name='NDISImndwi',
            long_name='Normalized Difference Impervious Surface Index with MNDWI',
            formula='(T1 - (((G - S1)/(G + S1)) + N + S1) / 3.0)/(T1 + (((G - S1)/(G + S1)) + N + S1) / 3.0)',
            reference='https://doi.org/10.14358/PERS.76.5.557',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NSDS=SpectralIndex(
            short_name='NSDS',
            long_name='Normalized Shortwave Infrared Difference Soil-Moisture',
            formula='(S1 - S2)/(S1 + S2)',
            reference='https://doi.org/10.3390/land10030231',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        MBI=SpectralIndex(
            short_name='MBI',
            long_name='Modified Bare Soil Index',
            formula='((S1 - S2 - N)/(S1 + S2 + N)) + 0.5',
            reference='https://doi.org/10.3390/land10030231',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        EMBI=SpectralIndex(
            short_name='EMBI',
            long_name='Enhanced Modified Bare Soil Index',
            formula='((((S1 - S2 - N)/(S1 + S2 + N)) + 0.5) - ((G - S1)/(G + S1)) - 0.5)/((((S1 - S2 - N)/(S1 + S2 + N)) + 0.5) + ((G - S1)/(G + S1)) + 1.5)',
            reference='https://doi.org/10.1016/j.jag.2022.102703',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NDSoI=SpectralIndex(
            short_name='NDSoiI',
            long_name='Normalized Difference Soil Index',
            formula='(S2 - G)/(S2 + G)',
            reference='https://doi.org/10.1016/j.jag.2015.02.010',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        BaI=SpectralIndex(
            short_name='BaI',
            long_name='Bareness Index',
            formula='R + S1 - N',
            reference='https://doi.org/10.1109/IGARSS.2005.1525743',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        NBLI=SpectralIndex(
            short_name='NBLI',
            long_name='Normalized Difference Bare Land Index',
            formula='(R - T1)/(R + T1)',
            reference='https://doi.org/10.3390/rs9030249',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        DBI=SpectralIndex(
            short_name='DBI',
            long_name='Dry Built-Up Index',
            formula='((B - T1)/(B + T1)) - ((N - R)/(N + R))',
            reference='https://doi.org/10.3390/land7030081',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        DBSI=SpectralIndex(
            short_name='DBSI',
            long_name='Dry Bareness Index',
            formula='((S1 - G)/(S1 + G)) - ((N - R)/(N + R))',
            reference='https://doi.org/10.3390/land7030081',
            application_domain='urban',
            date_of_addition='2022-04-18',
            contributor="https://github.com/davemlz"
        ),
        CSI=SpectralIndex(
            short_name='CSI',
            long_name='Char Soil Index',
            formula='N/S2',
            reference='https://doi.org/10.1016/j.rse.2005.04.014',
            application_domain='burn',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VI6T=SpectralIndex(
            short_name='VI6T',
            long_name='VI6T Index',
            formula='(N - T1/10000.0)/(N + T1/10000.0)',
            reference='https://doi.org/10.1080/01431160500239008',
            application_domain='burn',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        NBRT2=SpectralIndex(
            short_name='NBRT2',
            long_name='Normalized Burn Ratio Thermal 2',
            formula='((N / (T1 / 10000.0)) - S2) / ((N / (T1 / 10000.0)) + S2)',
            reference='https://doi.org/10.1080/01431160500239008',
            application_domain='burn',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        NBRT3=SpectralIndex(
            short_name='NBRT3',
            long_name='Normalized Burn Ratio Thermal 3',
            formula='((N - (T1 / 10000.0)) - S2) / ((N - (T1 / 10000.0)) + S2)',
            reference='https://doi.org/10.1080/01431160500239008',
            application_domain='burn',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        MIRBI=SpectralIndex(
            short_name='MIRBI',
            long_name='Mid-Infrared Burn Index',
            formula='10.0 * S2 - 9.8 * S1 + 2.0',
            reference='https://doi.org/10.1080/01431160110053185',
            application_domain='burn',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        DPDD=SpectralIndex(
            short_name='DPDD',
            long_name='Dual-Pol Diagonal Distance',
            formula='(VV + VH)/2.0 ** 0.5',
            reference='https://doi.org/10.1016/j.rse.2018.09.003',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VDDPI=SpectralIndex(
            short_name='VDDPI',
            long_name='Vertical Dual De-Polarization Index',
            formula='(VV + VH)/VV',
            reference='https://doi.org/10.1016/j.rse.2018.09.003',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        NDPolI=SpectralIndex(
            short_name='NDPolI',
            long_name='Normalized Difference Polarization Index',
            formula='(VV - VH)/(VV + VH)',
            reference='https://www.isprs.org/proceedings/XXXVII/congress/4_pdf/267.pdf',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VHVVR=SpectralIndex(
            short_name='VHVVR',
            long_name='VH-VV Ratio',
            formula='VH/VV',
            reference='https://doi.org/10.1109/IGARSS47720.2021.9554099',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VHVVP=SpectralIndex(
            short_name='VHVVP',
            long_name='VH-VV Product',
            formula='VH * VV',
            reference='https://doi.org/10.1109/IGARSS47720.2021.9554099',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VVVHD=SpectralIndex(
            short_name='VVVHD',
            long_name='VV-VH Difference',
            formula='VV - VH',
            reference='https://doi.org/10.1109/IGARSS47720.2021.9554099',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VVVHS=SpectralIndex(
            short_name='VVVHS',
            long_name='VV-VH Sum',
            formula='VV + VH',
            reference='https://doi.org/10.1109/IGARSS47720.2021.9554099',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VVVHR=SpectralIndex(
            short_name='VVVHR',
            long_name='VV-VH Ratio',
            formula='VV/VH',
            reference='https://doi.org/10.3390/app9040655',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        VHVVD=SpectralIndex(
            short_name='VHVVD',
            long_name='VH-VV Difference',
            formula='VH - VV',
            reference='https://doi.org/10.3390/app9040655',
            application_domain='radar',
            date_of_addition='2022-04-19',
            contributor="https://github.com/davemlz"
        ),
        BAIM=SpectralIndex(
            short_name='BAIM',
            long_name='Burned Area Index adapted to MODIS',
            formula='1.0/((0.05 - N) ** 2.0) + ((0.2 - S2) ** 2.0)',
            reference='https://doi.org/10.1016/j.foreco.2006.08.248',
            application_domain='burn',
            date_of_addition='2022-04-20',
            contributor="https://github.com/davemlz"
        ),
        SWM=SpectralIndex(
            short_name='SWM',
            long_name='Sentinel Water Mask',
            formula='(B + G)/(N + S1)',
            reference='https://eoscience.esa.int/landtraining2017/files/posters/MILCZAREK.pdf',
            application_domain='water',
            date_of_addition='2022-04-20',
            contributor="https://github.com/davemlz"
        ),
        LSWI=SpectralIndex(
            short_name='LSWI',
            long_name='Land Surface Water Index',
            formula='(N - S1)/(N + S1)',
            reference='https://doi.org/10.1016/j.rse.2003.11.008',
            application_domain='water',
            date_of_addition='2022-04-20',
            contributor="https://github.com/davemlz"
        ),
        MLSWI26=SpectralIndex(
            short_name='MLSWI26',
            long_name='Modified Land Surface Water Index (MODIS Bands 2 and 6)',
            formula='(1.0 - N - S1)/(1.0 - N + S1)',
            reference='https://doi.org/10.3390/rs71215805',
            application_domain='water',
            date_of_addition='2022-04-20',
            contributor="https://github.com/davemlz"
        ),
        MLSWI27=SpectralIndex(
            short_name='MLSWI27',
            long_name='Modified Land Surface Water Index (MODIS Bands 2 and 7)',
            formula='(1.0 - N - S2)/(1.0 - N + S2)',
            reference='https://doi.org/10.3390/rs71215805',
            application_domain='water',
            date_of_addition='2022-04-20',
            contributor="https://github.com/davemlz"
        ),
    )
)
