001 /*
002 * $Id: JPSSUtilities.java,v 1.20 2012/02/19 17:35:40 davep Exp $
003 *
004 * This file is part of McIDAS-V
005 *
006 * Copyright 2007-2012
007 * Space Science and Engineering Center (SSEC)
008 * University of Wisconsin - Madison
009 * 1225 W. Dayton Street, Madison, WI 53706, USA
010 * https://www.ssec.wisc.edu/mcidas
011 *
012 * All Rights Reserved
013 *
014 * McIDAS-V is built on Unidata's IDV and SSEC's VisAD libraries, and
015 * some McIDAS-V source code is based on IDV and VisAD source code.
016 *
017 * McIDAS-V is free software; you can redistribute it and/or modify
018 * it under the terms of the GNU Lesser Public License as published by
019 * the Free Software Foundation; either version 3 of the License, or
020 * (at your option) any later version.
021 *
022 * McIDAS-V is distributed in the hope that it will be useful,
023 * but WITHOUT ANY WARRANTY; without even the implied warranty of
024 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
025 * GNU Lesser Public License for more details.
026 *
027 * You should have received a copy of the GNU Lesser Public License
028 * along with this program. If not, see http://www.gnu.org/licenses.
029 */
030
031 package edu.wisc.ssec.mcidasv.data.hydra;
032
033 /**
034 * Utility class to support Joint Polar Satellite System (JPSS) functionality.
035 * Documentation referenced is from Suomi NPP Common Data Format Control Book.
036 * See:
037 * http://jointmission.gsfc.nasa.gov/science/documents.html
038 *
039 * @author tommyj
040 *
041 */
042
043 public abstract class JPSSUtilities {
044
045 public static final String JPSS_FIELD_SEPARATOR = "_";
046
047 // This regular expression matches a Suomi NPP Data Product as defined by the
048 // spec in CDFCB-X Volume 1, Page 21
049 public static final String SUOMI_NPP_REGEX =
050 // Product Id, Multiple (ex: VSSTO-GATMO-VSLTO)
051 "(\\w\\w\\w\\w\\w-)*" +
052 // Product Id, Single (ex: VSSTO)
053 "\\w\\w\\w\\w\\w" + JPSSUtilities.JPSS_FIELD_SEPARATOR +
054 // Spacecraft Id (ex: npp)
055 "\\w\\w\\w" + JPSSUtilities.JPSS_FIELD_SEPARATOR +
056 // Data Start Date (ex: dYYYYMMDD)
057 "d20[0-3]\\d[0-1]\\d[0-3]\\d" + JPSSUtilities.JPSS_FIELD_SEPARATOR +
058 // Data Start Time (ex: tHHMMSSS)
059 "t[0-2]\\d[0-5]\\d[0-6]\\d\\d" + JPSSUtilities.JPSS_FIELD_SEPARATOR +
060 // Data Stop Time (ex: eHHMMSSS)
061 "e[0-2]\\d[0-5]\\d[0-6]\\d\\d" + JPSSUtilities.JPSS_FIELD_SEPARATOR +
062 // Orbit Number (ex: b00015)
063 "b\\d\\d\\d\\d\\d" + JPSSUtilities.JPSS_FIELD_SEPARATOR +
064 // Creation Date (ex: cYYYYMMDDHHMMSSSSSSSS)
065 "c20[0-3]\\d[0-1]\\d[0-3]\\d[0-2]\\d[0-5]\\d[0-6]\\d\\d\\d\\d\\d\\d\\d" + JPSSUtilities.JPSS_FIELD_SEPARATOR +
066 // Origin (ex: navo)
067 "\\w\\w\\w\\w" + JPSSUtilities.JPSS_FIELD_SEPARATOR +
068 // Domain (ex: ops)
069 "\\w\\w\\w" +
070 // HDF5 suffix
071 ".h5";
072
073 public static float[] ATMSChannelCenterFrequencies = {
074 23.8f,
075 31.4f,
076 50.3f,
077 51.76f,
078 52.8f,
079 53.596f,
080 54.40f,
081 54.94f,
082 55.50f,
083 57.2903f,
084 57.2903f,
085 57.2903f,
086 57.2903f,
087 57.2903f,
088 57.2903f,
089 88.20f,
090 165.5f,
091 183.31f,
092 183.31f,
093 183.31f,
094 183.31f,
095 183.31f
096 };
097
098 // the list of valid geolocation product ids
099 public static String[] geoProductIDs = {
100 "GATMO",
101 "GCRSO",
102 "GAERO",
103 "GCLDO",
104 "GDNBO",
105 "GNCCO",
106 "GIGTO",
107 "GIMGO",
108 "GITCO",
109 "GMGTO",
110 "GMODO",
111 "GMTCO",
112 "GNHFO",
113 "GOTCO",
114 "GOSCO",
115 "GONPO",
116 "GONCO",
117 "GCRIO",
118 "GATRO",
119 "IVMIM",
120 "VMUGE"
121 };
122
123 }