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 }