package testDataset; import gov.noaa.pfel.erddap.dataset.EDD; import gov.noaa.pfel.erddap.util.EDStatic; import java.io.FileNotFoundException; import java.io.PrintWriter; import java.net.URISyntaxException; import java.nio.file.Path; public class EDDTestDataset { public static void generateDatasetsXml() throws URISyntaxException, FileNotFoundException { if (EDStatic.config.useSaxParser) { // This section writes xml files that represent parts of a dataset. These are to show using // XInclude // to load information into the datasets.xml file. // One thing to note, these xml files can only have 1 root node, so even if there are multiple // variables // (like lat and lon) that you want to reuse, you'll likely need to make 1 file per variable // if you are using XInclude the way it is used here. // You can also use XInclude to define each dataset in it's own file. (not done here) try (PrintWriter datasetsXml = new PrintWriter("development/test/PH53_axis_lat.xml")) { datasetsXml.append("\n"); datasetsXml.append(xmlFragment_PH53_axis_lat()); } try (PrintWriter datasetsXml = new PrintWriter("development/test/PH53_axis_lon.xml")) { datasetsXml.append("\n"); datasetsXml.append(xmlFragment_PH53_axis_lon()); } try (PrintWriter datasetsXml = new PrintWriter("development/test/PH53_data_quality.xml")) { datasetsXml.append("\n"); datasetsXml.append(xmlFragment_PH53_data_quality()); } try (PrintWriter datasetsXml = new PrintWriter("development/test/PH53_data_pathfinder_quality.xml")) { datasetsXml.append("\n"); datasetsXml.append(xmlFragment_PH53_data_pathfinder_quality()); } try (PrintWriter datasetsXml = new PrintWriter("development/test/PH53_dataVariable_seaSurfaceTemp.xml")) { datasetsXml.append("\n"); datasetsXml.append(xmlFragment_PH53_dataVariable_seaSurfaceTemp()); } try (PrintWriter datasetsXml = new PrintWriter("development/test/PH53_dataVariable_dtAnalysis.xml")) { datasetsXml.append("\n"); datasetsXml.append(xmlFragment_PH53_dataVariable_dtAnalysis()); } } try (PrintWriter datasetsXml = new PrintWriter("development/test/datasets.xml")) { datasetsXml.append( "\n" + (EDStatic.config.useSaxParser ? "]>\n" : "") + "\n" // Try to set this so the datasets that need to load in the background have a chance // and this runs again before the jetty tests to ensure all the datasets are loaded. + "4\n" + "8\n"); if (EDStatic.config.useSaxParser) { datasetsXml.append( "summary,license,display1,display2\n" + "summary,license,att1,att2\n"); } datasetsXml.append(xmlFragment_test_chars()); datasetsXml.append(xmlFragment_testZarr_compressedData()); datasetsXml.append(xmlFragment_testZarr_fillValues()); datasetsXml.append(xmlFragment_testZarr_testData()); datasetsXml.append(xmlFragment_testZarr_gridCompressedData()); datasetsXml.append(xmlFragment_testZarr_gridFillValues()); datasetsXml.append(xmlFragment_testZarr_gridTestData()); datasetsXml.append(xmlFragment_testZarr_griddTypes()); datasetsXml.append(xmlFragment_hawaii_d90f_20ee_c4cb()); datasetsXml.append(xmlFragment_hawaii_d90f_20ee_c4cb_LonPM180()); // datasetsXml.append(xmlFragment_erdMHchla8day()); // thredds, fails datasetsXml.append(xmlFragment_testActualRange()); datasetsXml.append(xmlFragment_testActualRange2()); // datasetsXml.append(xmlFragment_hycom_GLBa008_tyx()); // thredds, fails // datasetsXml.append(xmlFragment_erdBAssta5day()); // thredds, fails // datasetsXml.append(xmlFragment_NCOM_Region7_2D()); // external server fails // datasetsXml.append(xmlFragment_jplNesdisG17v271()); // thredds, fails // datasetsXml.append(xmlFragment_usgsCeCrm10()); // thredds, fails // datasetsXml.append(xmlFragment_mb7201adc()); // thredds, fails datasetsXml.append(xmlFragment_nodcPH2sstd1day()); // datasetsXml.append(xmlFragment_testDataVarOrder()); // external dataset no longer // available? datasetsXml.append(xmlFragment_etopo180()); datasetsXml.append(xmlFragment_etopo360()); // datasetsXml.append(xmlFragment_ndbcCWind41002()); // thredds, fails // datasetsXml.append(xmlFragment_cwwcNDBCMet()); // very large files, not // currently loaded datasetsXml.append(xmlFragment_erdCinpKfmSFNH()); datasetsXml.append(xmlFragment_testNc2D()); datasetsXml.append(xmlFragment_testNc3D()); datasetsXml.append(xmlFragment_pmelTaoDySst()); datasetsXml.append(xmlFragment_testGlobal()); datasetsXml.append(xmlFragment_miniNdbc()); datasetsXml.append(xmlFragment_testGlobecBottle()); datasetsXml.append(xmlFragment_erdGlobecBirds()); datasetsXml.append(xmlFragment_erdGlobecVpt()); datasetsXml.append(xmlFragment_erdGlobecMoc1()); datasetsXml.append(xmlFragment_earthCubeKgsBoreTempWV()); datasetsXml.append(xmlFragment_testTableWithDepth()); // datasetsXml.append(xmlFragment_erdGtsppBest()); // very large files, not // currently loaded datasetsXml.append(xmlFragment_erdFedRockfishStation()); datasetsXml.append(xmlFragment_testSimpleTestNcTable()); datasetsXml.append(xmlFragment_testTimeAxis()); // datasetsXml.append(xmlFragment_erdGtsppBestNc()); // very large files, not // currently loaded datasetsXml.append(xmlFragment_erdNph()); datasetsXml.append(xmlFragment_testTimePrecisionMillisTable()); datasetsXml.append(xmlFragment_LiquidR_HBG3_2015_weather()); datasetsXml.append(xmlFragment_testPrecision()); datasetsXml.append(xmlFragment_erdCAMarCatSY()); datasetsXml.append(xmlFragment_erdCAMarCatSM()); datasetsXml.append(xmlFragment_erdCAMarCatLM()); datasetsXml.append(xmlFragment_erdCAMarCatLY()); datasetsXml.append(xmlFragment_nwioosCoral()); datasetsXml.append(xmlFragment_erdCinpKfmT()); datasetsXml.append(xmlFragment_epaseamapTimeSeriesProfiles()); datasetsXml.append(xmlFragment_fedCalLandings()); // Tests rely on copying these files themselves, don't add the dataset // datasetsXml.append(xmlFragment_testEDDTableCopyFiles()); datasetsXml.append(xmlFragment_ndbcSosWaves()); datasetsXml.append(xmlFragment_testTablePseudoSourceNames()); // reloading from source can be extremely slow // datasetsXml.append(xmlFragment_fsuNoaaShipWTEP()); // not used in server tests // datasetsXml.append(xmlFragment_fsuNoaaShipWTEPnrt()); // not used in server tests datasetsXml.append(xmlFragment_pmelTaoDyAirt()); datasetsXml.append(xmlFragment_miniNdbc410()); // datasetsXml.append(xmlFragment_testEDDTableCacheFiles()); // todo re-enable, // but dir doesn't exist till dataset is cached datasetsXml.append(xmlFragment_testEDDGridFromNcFilesUnpacked()); datasetsXml.append(xmlFragment_testUInt16FileUnpacked()); datasetsXml.append(xmlFragment_testSuperPreciseTimeUnits()); datasetsXml.append(xmlFragment_erdMPOC1day()); datasetsXml.append(xmlFragment_testGridCopy()); // datasetsXml.append(xmlFragment_testOnlySince()); datasetsXml.append(xmlFragment_nosSosATemp()); datasetsXml.append(xmlFragment_nosSosBPres()); datasetsXml.append(xmlFragment_nosSosCond()); datasetsXml.append(xmlFragment_nosSosCurrents()); datasetsXml.append(xmlFragment_nosSosSalinity()); datasetsXml.append(xmlFragment_nosSosWind()); datasetsXml.append(xmlFragment_nosSosWLevel()); datasetsXml.append(xmlFragment_nosSosWTemp()); // datasetsXml.append(xmlFragment_ndbcSosCurrents()); // ndbcSos not available // datasetsXml.append(xmlFragment_ndbcSosSalinity()); // ndbcSos not available // datasetsXml.append(xmlFragment_ndbcSosWTemp()); // ndbcSos not available // datasetsXml.append(xmlFragment_ndbcSosWLevel()); // ndbcSos not available // datasetsXml.append(xmlFragment_ndbcSosWind()); // ndbcSos not available // datasetsXml.append(xmlFragment_gomoosBuoy()); // external server not available // datasetsXml.append(xmlFragment_neracoosSos()); // external server not available // datasetsXml.append(xmlFragment_tamuSos()); // external server not available // datasetsXml.append(xmlFragment_tabletest2DVSameSource()); // external server not available // datasetsXml.append(xmlFragment_tabletest2DVSameDestination()); // external server not // available // datasetsXml.append(xmlFragment_testErddapSos()); // very large files, not // currently loaded // datasetsXml.append(xmlFragment_kgsBoreTempWVTRUE()); // dataset fails datasetsXml.append(xmlFragment_testFromHttpGet()); datasetsXml.append(xmlFragment_testTableColumnarAscii()); datasetsXml.append(xmlFragment_glerlAvgTemp()); datasetsXml.append(xmlFragment_glerlIce()); datasetsXml.append(xmlFragment_glerlLTAvgTemp()); datasetsXml.append(xmlFragment_testTableAscii()); datasetsXml.append(xmlFragment_testTableAscii2()); datasetsXml.append(xmlFragment_testWTDLwSV()); datasetsXml.append(xmlFragment_testWTDLwoSV()); datasetsXml.append(xmlFragment_ndbcMet2Csv()); datasetsXml.append(xmlFragment_testStandardizeWhat()); datasetsXml.append(xmlFragment_knb_lter_sbc_14_t1()); datasetsXml.append(xmlFragment_knb_lter_sbc_15_t1()); datasetsXml.append(xmlFragment_testTimeZone()); datasetsXml.append(xmlFragment_testTimeZone2()); datasetsXml.append(xmlFragment_testTimeMV()); datasetsXml.append(xmlFragment_testFileNames()); // datasetsXml.append(xmlFragment_testFileNamesAwsS3()); // aws credentials // datasetsXml.append(xmlFragment_awsS3NoaaGoes17()); // aws credentials // the two below datasets are not used in local server tests and significantly // impact how long it takes for the server to load its data. Disabling them from // the server. // datasetsXml.append(xmlFragment_awsS3NoaaGoes17partial()); // loads slowly // datasetsXml.append(xmlFragment_awsS3NoaaGoes17all()); // loads slowly // datasetsXml.append(xmlFragment_testBadNcFile()); // bad file for tests datasetsXml.append(xmlFragment_testGriddedNcFiles()); datasetsXml.append(xmlFragment_testGribFiles_42()); datasetsXml.append(xmlFragment_testGrib2_42()); datasetsXml.append(xmlFragment_testGribFiles_43()); datasetsXml.append(xmlFragment_testGrib2_43()); // datasetsXml.append(xmlFragment_testPrivateAwsS3()); // aws credentials // datasetsXml.append(xmlFragment_testAwsS3()); // very large files, not // currently loaded datasetsXml.append(xmlFragment_testCwHdf()); // datasetsXml.append(xmlFragment_testGridGroups2a()); // sourceAxis==null // datasetsXml.append(xmlFragment_testGridGroups2()); // sourceAxis==null // datasetsXml.append(xmlFragment_testGridGroups()); // sourceAxis==null // datasetsXml.append(xmlFragment_testGridGroupsNavigation()); // sourceAxis==null datasetsXml.append(xmlFragment_testAwsXml()); datasetsXml.append(xmlFragment_testTableWav()); // datasetsXml.append(xmlFragment_testAVDVSameSource()); // sameSource used in tests // datasetsXml.append(xmlFragment_test2DVSameSource()); // sameSource used in tests // datasetsXml.append(xmlFragment_testAVDVSameDestination()); // errors, used for testing // datasetsXml.append(xmlFragment_test2DVSameDestination()); // throws error, used for testing datasetsXml.append(xmlFragment_testTimePrecisionMillis()); datasetsXml.append(xmlFragment_testSimpleTestNc()); // datasetsXml.append(xmlFragment_testRemoteThreddsFiles()); // source 404 datasetsXml.append(xmlFragment_testUInt16File()); datasetsXml.append(xmlFragment_erdSW1chlamday()); datasetsXml.append(xmlFragment_testSpecialAxis0FileNameInt()); // datasetsXml.append(xmlFragment_testSpecialAxis0PathNameInt()); // sourceAxisValues null datasetsXml.append(xmlFragment_testSpecialAxis0GlobalDouble()); datasetsXml.append(xmlFragment_erdMH1chla1day()); datasetsXml.append(xmlFragment_erdMH1chla8day()); datasetsXml.append(xmlFragment_erdMH1chlamday()); datasetsXml.append(xmlFragment_nceiPH53sstd1day(EDStatic.config.useSaxParser)); datasetsXml.append(xmlFragment_nceiPH53sstn1day(EDStatic.config.useSaxParser)); datasetsXml.append(xmlFragment_testGridFromErddap()); datasetsXml.append(xmlFragment_testUnsignedGrid()); datasetsXml.append(xmlFragment_testGridNThreads()); datasetsXml.append(xmlFragment_testStructure()); datasetsXml.append(xmlFragment_testStructurePrivate()); // datasetsXml.append(xmlFragment_testFromErddapFromErddap()); datasetsXml.append(xmlFragment_testQuotes()); datasetsXml.append(xmlFragment_ChukchiSea_454a_037a_fcf4()); datasetsXml.append(xmlFragment_erdGlobecBottle()); datasetsXml.append(xmlFragment_testTableCopy()); datasetsXml.append(xmlFragment_repPostDet()); // datasetsXml.append(xmlFragment_jplMURSST41()); // very large files, not // currently loaded // datasetsXml.append(xmlFragment_testGroups());// sourceAxisValues null datasetsXml.append(xmlFragment_testIslandShift()); datasetsXml.append(xmlFragment_testMinimalReadSource(EDStatic.config.useSaxParser)); // datasetsXml.append(xmlFragment_nosCoopsWLR6()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsWLR1()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsWLV6()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsWLV60()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsWLVHL()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsWLTPHL()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsWLTP6()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsWLTP60()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsMAT()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsMBP()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsMC()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsMRF()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsMRH()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsMWT()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsMW()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsMV()); //stationTable=null // datasetsXml.append(xmlFragment_nosCoopsCA()); //stationTable=null // datasetsXml.append(xmlFragment_cimtPsdac()); // dods fails datasetsXml.append(xmlFragment_nwioosGroundfish()); // datasetsXml.append(xmlFragment_nosCoopsRWL()); //stationTable=null datasetsXml.append(xmlFragment_erdQSwindmday()); datasetsXml.append(xmlFragment_erdQSwindmday_LonPM180()); // datasetsXml.append(xmlFragment_erdQSwind8day()); // very large files, not // currently loaded // datasetsXml.append(xmlFragment_erdQSstress1day()); // very large files, not // currently loaded // datasetsXml.append(xmlFragment_testDuplicateSourceNames()); // very large // files, not currently loaded datasetsXml.append(xmlFragment_erdSWchlamday()); datasetsXml.append(xmlFragment_erdVHNchlamday()); datasetsXml.append(xmlFragment_test_erdVHNchlamday_Lon0360()); // datasetsXml.append(xmlFragment_test_nesdisVHNchlaWeekly_Lon0360()); // datasetsXml.append(xmlFragment_ecocast_Lon0360()); datasetsXml.append(xmlFragment_test_etopo180_Lon0360()); // datasetsXml.append(xmlFragment_notApplicable_Lon0360()); // source 404 datasetsXml.append(xmlFragment_testLon0360Insert()); // datasetsXml.append(xmlFragment_erdRWdhws1day_LonPM180()); // source 404 // datasetsXml.append(xmlFragment_test_erdMHsstnmday_LonPM180()); // source 404 // datasetsXml.append(xmlFragment_notApplicable_LonPM180()); longitude axis has // no values >180 datasetsXml.append(xmlFragment_erdMBsstdmday()); datasetsXml.append(xmlFragment_erdMBsstdmday_LonPM180()); // datasetsXml.append(xmlFragment_test_erdPHsstamday_LonPM180()); //AxisVariable=time has tied datasetsXml.append(xmlFragment_ecmwfTest_LonPM180()); // values datasetsXml.append(xmlFragment_testPM180LonValidMinMax()); datasetsXml.append(xmlFragment_testInvalidCRAFiles()); datasetsXml.append(xmlFragment_testJsonlCSV()); datasetsXml.append(xmlFragment_mergeIR()); datasetsXml.append(xmlFragment_mergeIRZ()); datasetsXml.append(xmlFragment_mergeIRgz()); datasetsXml.append(xmlFragment_testNcCF1b()); datasetsXml.append(xmlFragment_testKevin20130109()); datasetsXml.append(xmlFragment_pmelTaoMonPos()); // datasetsXml.append(xmlFragment_testNoAttName1()); // error for testing datasetsXml.append(xmlFragment_UMaineAccB01()); datasetsXml.append(xmlFragment_testNcCF7SampleDimensions()); datasetsXml.append(xmlFragment_ArgoFloats()); datasetsXml.append(xmlFragment_testTreatDimensionsAs()); datasetsXml.append(xmlFragment_testTreatDimensionsAs2()); datasetsXml.append(xmlFragment_testLong()); // datasetsXml.append(xmlFragment_W1M3A()); // no valid files? datasetsXml.append(xmlFragment_testCharAsString()); datasetsXml.append(xmlFragment_testCharAsChar()); // datasetsXml.append(xmlFragment_testEDDTableFromHyraxFiles()); // dataset fails // datasetsXml.append(xmlFragment_testGridFromTable()); // todo missing dataset // get the data datasetsXml.append(xmlFragment_testGridWav()); // datasetsXml.append(xmlFragment_TS_SLEV_TAD()); // dataset not available datasetsXml.append(xmlFragment_TS_ATMP_AAD()); datasetsXml.append(xmlFragment_erdMPOC1day_AsATable()); datasetsXml.append(xmlFragment_testParquet()); datasetsXml.append(xmlFragment_TableAggregateRows_nceiPH53sst()); datasetsXml.append( "\n" + "\n" + "\n" + "\n" + " &.draw=vectors\n" + " http://cwcgom.aoml.noaa.gov/erddap/griddap/miamicurrents\n" + "\n" + "\n" // ); datasetsXml.append(xmlFragment_rMH1chla8day()); datasetsXml.append(xmlFragment_rlPmelTaoDySst()); datasetsXml.append("\n"); datasetsXml.close(); } } public static EDD getrMH1chla8day() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_rMH1chla8day()); } private static String xmlFragment_rMH1chla8day() { return "\n" + " http://localhost:8080/erddap/griddap/erdMH1chla8day\n" + "\n"; } public static EDD getrerdCAMarCatLM() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_rerdCAMarCatLM()); } private static String xmlFragment_rerdCAMarCatLM() { return "\n" + " http://localhost:8080/erddap/tabledap/erdCAMarCatLM\n" + "\n"; } public static EDD getrlPmelTaoDySst() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_rlPmelTaoDySst()); } private static String xmlFragment_rlPmelTaoDySst() { return "\n" + " http://localhost:8080/erddap/tabledap/pmelTaoDySst\n" + "\n"; } public static EDD gethawaii_d90f_20ee_c4cb_LonPM180() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_hawaii_d90f_20ee_c4cb_LonPM180()); } private static String xmlFragment_hawaii_d90f_20ee_c4cb_LonPM180() { return "\n" + " \n" + " \n" + " http://localhost:8080/erddap/griddap/hawaii_d90f_20ee_c4cb\n" + " \n" + "\n"; } public static EDD geterdMHchla8day() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdMHchla8day()); } private static String xmlFragment_erdMHchla8day() { return "\n" + " https://oceanwatch.pfeg.noaa.gov/thredds/dodsC/satellite/MH/chla/8day\n" + " 11000\n" + " \n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/MH_chla_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " erd.data@noaa.gov\n" + " https://www.pfeg.noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " erd.data@noaa.gov\n" + " https://www.pfeg.noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " 8-day,\n" + "Earth Science > Oceans > Ocean Chemistry > Chlorophyll,\n" + "aqua, chemistry, chlorophyll, chlorophyll-a, coastwatch, color, concentration, concentration_of_chlorophyll_in_sea_water, day, degrees, global, modis, noaa, npp, ocean, ocean color, oceans, quality, science, science quality, sea, seawater, water, wcn\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " CF Standard Name Table v70\n" + " Chlorophyll-a, Aqua MODIS, NPP, 2002-2013, DEPRECATED OLDER VERSION (8 Day Composite)\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " \n" + " \n" + " altitude\n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " MHchla\n" + " chlorophyll\n" + " \n" + " Ocean Color\n" + " Concentration Of Chlorophyll In Sea Water\n" + " 0.03\n" + " 30\n" + " Log\n" + " \n" + " \n" + " \n" + " \n" + " \n" + "\n"; } public static EDD gethawaii_d90f_20ee_c4cb() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_hawaii_d90f_20ee_c4cb()); } private static String xmlFragment_hawaii_d90f_20ee_c4cb() { return "\n" + " http://apdrc.soest.hawaii.edu/dods/public_data/SODA/soda_pop2.2.4\n" + " false\n" + " 15000\n" + " temp[last][0][0:last][0:last],salt[last][0][0:last][0:last],u[last][0][0:last][0:last],v[last][0][0:last][0:last],w[last][0][0:last][0:last]\n" + " temp[last][0][0:last][0:last]&.draw=surface&.vars=longitude|latitude|temp\n" + " \n" + " \n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://www.atmos.umd.edu/~ocean/\n" + " TAMU/UMD\n" + " \n" + "Earth Science > Oceans > Ocean Circulation > Ocean Currents,\n" + "Earth Science > Oceans > Ocean Temperature > Water Temperature,\n" + "Earth Science > Oceans > Salinity/Density > Salinity,\n" + "circulation, currents, density, depths, eastward, eastward_sea_water_velocity, means, monthly, northward, northward_sea_water_velocity, ocean, oceans, pop, salinity, sea, sea_water_practical_salinity, sea_water_temperature, seawater, soda, tamu, temperature, umd, upward, upward_sea_water_velocity, velocity, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " Simple Ocean Data Assimilation (SODA) version 2.2.4 - A reanalysis of ocean \n" + "climate. SODA uses the GFDL modular ocean model version 2.2. The model is \n" + "forced by observed surface wind stresses from the COADS data set (from 1958 \n" + "to 1992) and from NCEP (after 1992). Note that the wind stresses were \n" + "detrended before use due to inconsistencies with observed sea level pressure \n" + "trends. The model is also constrained by constant assimilation of observed \n" + "temperatures, salinities, and altimetry using an optimal data assimilation \n" + "technique. The observed data comes from: 1) The World Ocean Atlas 1994 which \n" + "contains ocean temperatures and salinities from mechanical \n" + "bathythermographs, expendable bathythermographs and conductivity-temperature-\n" + "depth probes. 2) The expendable bathythermograph archive 3) The TOGA-TAO \n" + "thermistor array 4) The Soviet SECTIONS tropical program 5) Satellite \n" + "altimetry from Geosat, ERS/1 and TOPEX/Poseidon. \n" + "We are now exploring an eddy-permitting reanalysis based on the Parallel \n" + "Ocean Program POP-1.4 model with 40 levels in the vertical and a 0.4x0.25 \n" + "degree displaced pole grid (25 km resolution in the western North \n" + "Atlantic). The first version of this we will release is SODA1.2, a \n" + "reanalysis driven by ERA-40 winds covering the period 1958-2001 (extended to \n" + "the current year using available altimetry).\n" + " SODA - POP 2.2.4 Monthly Means, 1871-2010 (At Depths)\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " Time\n" + " Centered Time\n" + " \n" + " \n" + " \n" + " days since 0001-01-01T00:00:00\n" + " time\n" + " true\n" + " \n" + " \n" + " \n" + " lev\n" + " depth\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " Depth\n" + " \n" + " \n" + " \n" + " \n" + " m\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " Location\n" + " Latitude\n" + " latitude\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " Location\n" + " Longitude\n" + " longitude\n" + " \n" + " \n" + " \n" + " temp\n" + " temp\n" + " \n" + " \n" + " 0\n" + " 32\n" + " Temperature\n" + " Sea Water Temperature\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " salt\n" + " salt\n" + " \n" + " \n" + " 32.0\n" + " 37.0\n" + " Salinity\n" + " Sea Water Practical Salinity\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " u\n" + " u\n" + " \n" + " \n" + " -0.5\n" + " 0.5\n" + " Currents\n" + " Eastward Sea Water Velocity\n" + " eastward_sea_water_velocity\n" + " m s-1\n" + " \n" + " \n" + " \n" + " v\n" + " v\n" + " \n" + " \n" + " -0.5\n" + " 0.5\n" + " Currents\n" + " Northward Sea Water Velocity\n" + " northward_sea_water_velocity\n" + " m s-1\n" + " \n" + " \n" + " \n" + " w\n" + " w\n" + " \n" + " \n" + " -1e-5\n" + " 1e-5\n" + " WARNING: Please use this variable's data with caution.\n" + " Currents\n" + " Upward Sea Water Velocity\n" + " upward_sea_water_velocity\n" + " m s-1\n" + " \n" + " \n" + "\n"; } public static EDD gettestActualRange() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testActualRange()); } private static String xmlFragment_testActualRange() { return "\n" + " https://cwcgom.aoml.noaa.gov/thredds/dodsC/OCEAN_ACIDIFICATION/ACIDIFICATION.nc\n" + " 180\n" + " \n" + " \n" + " Grid\n" + " null\n" + " This is the Coral Reef Watch Ocean Acidification Product Suite produced monthly in conjunction with NOAA CoastWatch. CoastWatch Utilities, including CoastWatch Data Analysis Tool (CDAT), v3.2.1 or higher (https://coastwatch.noaa.gov/cw_software.html) can be used for viewing, analyzing, and plotting the data.\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " coralreefwatch@noaa.gov\n" + " CORALREEFWATCH\n" + " institution\n" + " https://www.noaa.gov/\n" + " null\n" + " https://cwcgom.aoml.noaa.gov/thredds/dodsC/OCEAN_ACIDIFICATION/ACIDIFICATION.nc.html\n" + " USDOC/NOAA Coral Reef Watch\n" + " 25km, acidification, advanced, alkalinity, americas, amsre, archived, argonite, array, avhrr, avhrr-amsre, bicarbonate, carbon, carbon dioxide, carbonate, caribbean, characteristics, chemistry, co2, co3, co3--, coastwatch, color, commerce, concentration, coral, crw, data, density, department, dioxide, earth, Earth Science > Oceans > Ocean Chemistry > pH, Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature, Earth Science > Oceans > Salinity/Density > Salinity, eos, experimental, flag, forecast, greater, hco3, hco3-, high, iasnfs, inorganic, interpolated, intra, intra-americas, ion, latitude, longitude, microwave, noaa, nowcast, nowcast/forecast, ocean, ocean color, oceans, pco2sw, pixel, practical, preliminary, product, quality, radiometer, reef, region, reported, resolution, salinity, saturation, scale, scanning, science, sea, sea_surface_temperature, sea_water_ph_reported_on_total_scale, sea_water_practical_salinity, seawater, SSA, sss, sst, state, states, suite, surface, surface_flag, system, temperature, time, total, united, usdoc, very, watch, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " null\n" + " null\n" + " CF Standard Name Table v70\n" + " Archived NOAA Coral Reef Watch 25km Ocean Acidification Product Suite for the Greater Caribbean Region Quality Flag = Preliminary. This is the Coral Reef Watch Ocean Acidification Product Suite produced monthly in conjunction with NOAA CoastWatch. CoastWatch Utilities, including CoastWatch Data Analysis Tool (CDAT), v3.2.1 or higher (https://coastwatch.noaa.gov/cw_software.html) can be used for viewing, analyzing, and plotting the data.\n" + " now-4days\n" + " NOAA Coral Reef Watch 25km Ocean Acidification, Caribbean, Preliminary, 0.25°, 2016-present\n" + " null\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " Time\n" + " \n" + " \n" + " \n" + " y\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " Latitude\n" + " y\n" + " latitude\n" + " \n" + " \n" + " \n" + " x\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " Longitude\n" + " x\n" + " longitude\n" + " \n" + " \n" + " \n" + " SST\n" + " SST\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " null\n" + " sea_surface_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " SSS\n" + " SSS\n" + " \n" + " \n" + " null\n" + " 37.0\n" + " 32.0\n" + " Salinity\n" + " null\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " pCO2sw\n" + " pCO2sw\n" + " \n" + " \n" + " null\n" + " 420.0\n" + " 340.0\n" + " CO2\n" + " null\n" + " \n" + " \n" + " \n" + " TA\n" + " TA\n" + " \n" + " \n" + " null\n" + " 2450.0\n" + " 2200.0\n" + " CO2\n" + " null\n" + " µmole/kg\n" + " \n" + " \n" + " \n" + " TC\n" + " TC\n" + " \n" + " \n" + " null\n" + " 2150.0\n" + " 1950.0\n" + " Ocean Color\n" + " null\n" + " µmole/kg\n" + " \n" + " \n" + " \n" + " pH\n" + " pH\n" + " \n" + " \n" + " null\n" + " 9.0\n" + " 7.0\n" + " Salinity\n" + " null\n" + " sea_water_ph_reported_on_total_scale\n" + " \n" + " \n" + " \n" + " SSA\n" + " SSA\n" + " \n" + " \n" + " null\n" + " 4.0\n" + " 2.0\n" + " Location\n" + " null\n" + " \n" + " \n" + " \n" + " HCO3\n" + " HCO3\n" + " \n" + " \n" + " null\n" + " 1950.0\n" + " 1750.0\n" + " CO2\n" + " null\n" + " µmole/kg\n" + " \n" + " \n" + " \n" + " CO3\n" + " CO3\n" + " \n" + " \n" + " null\n" + " 260.0\n" + " 140.0\n" + " CO2\n" + " null\n" + " µmole/kg\n" + " \n" + " \n" + " \n" + " surface_flag\n" + " surface_flag\n" + " \n" + " \n" + " null\n" + " 1.5\n" + " 0.0\n" + " null\n" + " Quality\n" + " null\n" + " \n" + " \n" + "\n"; } public static EDD gettestActualRange2() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testActualRange2()); } private static String xmlFragment_testActualRange2() { return "\n" + " https://psl.noaa.gov/thredds/dodsC/Datasets/noaa_hrc/hrc.nmissdays.nc\n" + " 43200\n" + " \n" + " \n" + " Grid\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " esrl.psd.data@noaa.gov\n" + " NOAA ESRL PSD\n" + " institution\n" + " https://www.esrl.noaa.gov/psd/\n" + " Datasets.noaa_hrc.hrc.nmissdays.nc\n" + " https://www.esrl.noaa.gov/psd/data/gridded/data.noaa.hrc.html\n" + " NOAA ESRL\n" + " 25n, 25n-25s, 25s, clouds, data, days, earth, esrl, highly, hrc, hrc.nmissdays, laboratory, latitude, longitude, meteorology, missing, month, monthly, noaa, reflective, research, system, time\n" + " [standard]\n" + " null\n" + " https://www.esrl.noaa.gov/psd/data/gridded/data.noaa.hrc.html\n" + " CF Standard Name Table v70\n" + " NOAA Highly Reflective Clouds, 25N-25S (noaa hrc, hrc.nmissdays)\n" + " NOAA Highly Reflective Clouds, 25N-25S (noaa hrc, hrc.nmissdays), 1.0°, 1971-1985\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " days since 1800-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " hrc\n" + " hrc\n" + " \n" + " \n" + " null\n" + " 25.0\n" + " 0.0\n" + " null\n" + " Meteorology\n" + " null\n" + " \n" + " \n" + "\n"; } public static EDD gethycom_GLBa008_tyx() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_hycom_GLBa008_tyx()); } private static String xmlFragment_hycom_GLBa008_tyx() { return "\n" + " https://tds.hycom.org/thredds/dodsC/glb_analysis\n" + " 10080\n" + " \n" + " \n" + " Grid\n" + " CF-1.0, COARDS, ACDD-1.3\n" + " 60.5h,\n" + "Earth Science > Atmosphere > Atmospheric Radiation > Heat Flux,\n" + "Earth Science > Oceans > Ocean Circulation > Fresh Water Flux,\n" + "Earth Science > Oceans > Ocean Circulation > Ocean Mixed Layer,\n" + "Earth Science > Oceans > Salinity/Density > Salinity,\n" + "Earth Science > Oceans > Sea Surface Topography > Sea Surface Height,\n" + "air, atmosphere, atmospheric, bnd.layr.thickness, circulation, density, downward, elevation, flux, fresh, glba0.08, heat, heat flux, height, hycom, hydrology, into, laboratory, layer, level, mix.l., mix.layr.dens, mix.layr.saln, mix.layr.temp, mix.layr.thickness, mixed, mixed layer, mixl., naval, ocean, ocean_mixed_layer_thickness, oceanography, oceans, physical, physical oceanography, radiation, research, salinity, saln., sea, sea level, sea_surface_elevation, sea_water_practical_salinity, seawater, surf., surface, surface_downward_heat_flux_in_air, temp., temperature, thickness, topography, trend, u-velocity, v-velocity, velocity, water, water_flux_into_ocean\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " HYCOM GLBa0.08 1/12 deg HYCOM + NCODA Global Hindcast Analysis (Combined), 2008-2018, [time][Y][X]\n" + "\n" + " George.Halliwell@noaa.gov\n" + " Naval Research Laboratory, HYCOM\n" + " institution\n" + " https://hycom.org/dataserver/glb-analysis/\n" + " hycomdata@coaps.fsu.edu\n" + " FSU COAPS\n" + " http://www.coaps.fsu.edu/\n" + " HYbrid Coordinate Ocean Model (HYCOM) GLBa0.08 from Hycom. The hybrid coordinate is one that is isopycnal in the open, stratified ocean, but smoothly reverts to a terrain-following coordinate in shallow coastal regions, and to z-level coordinates in the mixed layer and/or unstratified seas. The hybrid coordinate extends the geographic range of applicability of traditional isopycnic coordinate circulation models (the basis of the present hybrid code), such as the Miami Isopycnic Coordinate Ocean Model (MICOM) and the Navy Layered Ocean Model (NLOM), toward shallow coastal seas and unstratified parts of the world ocean.\n" + " \n" + " \n" + " MT\n" + " time\n" + " \n" + " \n" + " Time\n" + " time\n" + " \n" + " \n" + " \n" + " Y\n" + " Y\n" + " \n" + " \n" + " Location\n" + " Y\n" + " \n" + " \n" + " \n" + " X\n" + " X\n" + " \n" + " \n" + " Location\n" + " X\n" + " \n" + " \n" + " \n" + " \n" + " qtot\n" + " qtot\n" + " \n" + " \n" + " 100.0\n" + " -100.0\n" + " Heat Flux\n" + " \n" + " \n" + " \n" + " emp\n" + " emp\n" + " \n" + " \n" + " 1.0E-4\n" + " 0.0\n" + " Hydrology\n" + " \n" + " \n" + " \n" + " surface_temperature_trend\n" + " surface_temperature_trend\n" + " \n" + " \n" + " 4\n" + " -4\n" + " Temperature\n" + " \n" + " \n" + " \n" + " surface_salinity_trend\n" + " surface_salinity_trend\n" + " \n" + " \n" + " 1\n" + " -1\n" + " Salinity\n" + " Surface Salinity Trend [30.1H]\n" + " tendency_of_sea_water_salinity\n" + " PSU/day\n" + " \n" + " \n" + " \n" + " ssh\n" + " ssh\n" + " \n" + " \n" + " 2.0\n" + " -2.0\n" + " Sea Level\n" + " \n" + " \n" + "\n"; } public static EDD geterdBAssta5day() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdBAssta5day()); } private static String xmlFragment_erdBAssta5day() { return "\n" + " https://oceanwatch.pfeg.noaa.gov/thredds/dodsC/satellite/BA/ssta/5day\n" + " false\n" + " 14000\n" + " \n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/BA_ssta_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " erd.data@noaa.gov\n" + " https://www.pfeg.noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " erd.data@noaa.gov\n" + " https://www.pfeg.noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " 5-day,\n" + "Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature,\n" + "blended, coastwatch, day, degrees, experimental, global, noaa, ocean, oceans, sea, sea_surface_temperature, sst, surface, temperature, wcn\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " CF Standard Name Table v70\n" + " SST, Blended, Global, 2002-2014, EXPERIMENTAL (5 Day Composite)\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " \n" + " \n" + " altitude\n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " BAssta\n" + " sst\n" + " \n" + " Temperature\n" + " Sea Surface Temperature\n" + " 0\n" + " 32\n" + " \n" + " \n" + " \n" + " \n" + " \n" + "\n"; } public static EDD getNCOM_Region7_2D() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_NCOM_Region7_2D()); } private static String xmlFragment_NCOM_Region7_2D() { return "\n" + " http://edac-dap.northerngulfinstitute.org/pydap/NCOM/region7/latest_ncom_glb_reg7.nc\n" + " 1440\n" + " \n" + " Global NCOM\n" + " frank.bub@navy.mil\n" + " Naval Research Lab (NRL)\n" + " www7320.nrlssc.navy.mil/global_ncom/\n" + " null\n" + " http://edac-dap.northerngulfinstitute.org/dapnav/NCOM/region7/latest_ncom_glb_reg7.nc\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " Global NCOM for Region 7, 2D field\n" + " Global NCOM for Region 7, 2D\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " \n" + " surf_el\n" + " surf_el\n" + " \n" + " Other\n" + " \n" + " \n" + "\n"; } public static EDD getjplNesdisG17v271() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_jplNesdisG17v271()); } private static String xmlFragment_jplNesdisG17v271() { return "\n" + " https://thredds.jpl.nasa.gov/thredds/dodsC/OceanTemperature/ABI_G17-STAR-L3C-v2.71.nc\n" + " 180\n" + " \n" + " \n" + " Grid\n" + " CF-1.7, COARDS, ACDD-1.3\n" + " person\n" + " 2020-07-08T03:41:56Z\n" + " null\n" + " null\n" + " World Geodetic System 1984\n" + " latitude_longitude\n" + " https://podaac.jpl.nasa.gov/dataset/ABI_G17-STAR-L3C-v2.71\n" + " abi, angle, atmosphere, atmospheric, bias, contributing, data, deviation, difference, dt_analysis, earth, Earth Science > Atmosphere > Atmospheric Winds > Surface Winds, Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature, environmental, error, estimate, flags, g17, g17-star-l3c-v2.71, information, l2p, l2p_flags, l2ps, l3c, latitude, level, longitude, national, nesdis, noaa, number, ocean, oceans, or_number_of_pixels, pixel, pixels, quality, quality_level, reference, satellite, satellite_zenith_angle, science, sea, sea_surface_subskin_temperature, sea_surface_temperature, sensor, service, single, skin, speed, sses, sses_bias, sses_standard_deviation, sst, sst_dtime, standard, star, statistics, sub, sub-skin, subskin, surface, temperature, time, v2.71, value, wind, wind_speed, winds, zenith\n" + " GCMD Science Keywords\n" + " null\n" + " null\n" + " null\n" + " group\n" + " https://www.ghrsst.org\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " Sea surface temperature and Wind Speed retrievals produced by NOAA/NESDIS/STAR from the ABI sensor on GOES-17.\n" + " now-3days\n" + " 2020-07-08T02:09:39Z\n" + " 2020-07-08T02:00:31Z\n" + " SST and Wind Speed, NOAA/NESDIS/STAR, ABI G17-STAR-L3C-v2.71, Pacific Ocean, 0.02°, 2019-present, Hourly\n" + " null\n" + " null\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " seconds since 1981-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " Latitude\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " Longitude\n" + " \n" + " \n" + " \n" + " sea_surface_temperature\n" + " sea_surface_temperature\n" + " \n" + " \n" + " null\n" + " 0\n" + " 32.0\n" + " 0.0\n" + " null\n" + " null\n" + " Temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " quality_level\n" + " quality_level\n" + " \n" + " \n" + " null\n" + " 6.0\n" + " 0.0\n" + " null\n" + " null\n" + " Quality\n" + " \n" + " \n" + " \n" + " l2p_flags\n" + " l2p_flags\n" + " \n" + " \n" + " 65535 \n" + " null\n" + " true \n" + " 32000.0\n" + " 0.1\n" + " Log\n" + " null\n" + " null\n" + " Quality\n" + " \n" + " \n" + " \n" + " or_number_of_pixels\n" + " or_number_of_pixels\n" + " \n" + " \n" + " null\n" + " null\n" + " 20.0\n" + " 0.0\n" + " null\n" + " null\n" + " Statistics\n" + " null\n" + " \n" + " \n" + " \n" + " dt_analysis\n" + " dt_analysis\n" + " \n" + " \n" + " null\n" + " 5.0\n" + " -5.0\n" + " null\n" + " null\n" + " Statistics\n" + " \n" + " \n" + " \n" + " satellite_zenith_angle\n" + " satellite_zenith_angle\n" + " \n" + " \n" + " null\n" + " null\n" + " 90.0\n" + " -90.0\n" + " null\n" + " null\n" + " Unknown\n" + " null\n" + " \n" + " \n" + " \n" + " sses_bias\n" + " sses_bias\n" + " \n" + " \n" + " null\n" + " 5.0\n" + " 0.0\n" + " null\n" + " null\n" + " Statistics\n" + " degree_C\n" + " \n" + " \n" + " \n" + " sses_standard_deviation\n" + " sses_standard_deviation\n" + " \n" + " \n" + " null\n" + " 5.0\n" + " 0.0\n" + " null\n" + " null\n" + " Statistics\n" + " degree_C\n" + " \n" + " \n" + " \n" + " wind_speed\n" + " wind_speed\n" + " \n" + " \n" + " null\n" + " 15.0\n" + " 0.0\n" + " null\n" + " null\n" + " Wind\n" + " \n" + " \n" + " \n" + " sst_dtime\n" + " sst_dtime\n" + " \n" + " \n" + " null\n" + " 1000.0\n" + " 0\n" + " null\n" + " null\n" + " Temperature\n" + " \n" + " \n" + "\n"; } public static EDD getusgsCeCrm10() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_usgsCeCrm10()); } private static String xmlFragment_usgsCeCrm10() { return "\n" + " https://geoport.whoi.edu/thredds/dodsC/bathy/crm_vol10.nc\n" + " 15000\n" + " \n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " Barry.Eakins@noaa.gov\n" + " https://www.ngdc.noaa.gov/mgg/coastal/coastal.html\n" + " NOAA NGDC\n" + " Oceans > Bathymetry/Seafloor Topography > Bathymetry,\n" + "altitude, arc, atmosphere, bathymetry, coastal, earth science, hawaii, height, model, ngdc, noaa, oceans, relief, second, station, topography, vol.\n" + " GCMD Science Keywords\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " Divins, D.L., and D. Metzger, NGDC Coastal Relief Model, https://www.ngdc.noaa.gov/mgg/coastal/coastal.html\n" + " CF Standard Name Table v70\n" + " This Coastal Relief Gridded database provides the first comprehensive view of the US Coastal Zone; one that extends from the coastal state boundaries to as far offshore as the NOS hydrographic data will support a continuous view of the seafloor. In many cases, this seaward limit reaches out to, and in places even beyond the continental slope. The gridded database contains data for the entire coastal zone of the conterminous US, including Hawaii and Puerto Rico.\n" + " Topography, NOAA Coastal Relief Model, 3 arc second, Vol. 10 (Hawaii)\n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " topo\n" + " \n" + " 8000\n" + " -8000\n" + " Topography\n" + " Location\n" + " Topography\n" + " altitude\n" + " \n" + " \n" + "\n"; } public static EDD getmb7201adc() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_mb7201adc()); } private static String xmlFragment_mb7201adc() { return "\n" + " http://coast-enviro.er.usgs.gov/thredds/dodsC/DATAFILES/MYRTLEBEACH/7201adc-a.nc\n" + " 10080\n" + " \n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " http://stellwagen.er.usgs.gov/myrtlebeach.html\n" + " USGS/CMGP\n" + " [standard]\n" + " velocity data from the ADCP on mooring 720\n" + " CF Standard Name Table v70\n" + " South Carolina Coastal Erosion Study -adcp7201\n" + " \n" + " \n" + " time\n" + " \n" + " \n" + " depth\n" + " \n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " u_1205\n" + " u_1205\n" + " \n" + " Currents\n" + " Eastward Velocity\n" + " eastward_current_velocity\n" + " -50\n" + " 50\n" + " \n" + " \n" + " \n" + " v_1206\n" + " v_1206\n" + " \n" + " Currents\n" + " Northward Velocity (cm/s)\n" + " northward_current_velocity\n" + " \n" + " \n" + " \n" + " w_1204\n" + " w_1204\n" + " \n" + " Currents\n" + " Vertical Velocity (cm/s)\n" + " vertical_current_velocity\n" + " \n" + " \n" + " \n" + " Werr_1201\n" + " Werr_1201\n" + " \n" + " Unknown\n" + " Error Velocity\n" + " none\n" + " \n" + " \n" + " \n" + " AGC_1202\n" + " AGC_1202\n" + " \n" + " Unknown\n" + " Average Echo Intensity (AGC)\n" + " none\n" + " \n" + " \n" + " \n" + " PGd_1203\n" + " PGd_1203\n" + " \n" + " Unknown\n" + " Percent Good Pings\n" + " none\n" + " \n" + " \n" + "\n"; } public static EDD getnodcPH2sstd1day() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nodcPH2sstd1day()); } private static String xmlFragment_nodcPH2sstd1day() throws URISyntaxException { return "\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/PH2/sstd/1day/").toURI()) .toString() + "\n" + " \\d{14}-NODC.*\\.nc.ncml\n" + " false \n" + " false\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Please acknowledge the use of these data with the following statement: These data were provided by GHRSST and the US National Oceanographic Data Center. This project was supported in part by a grant from the NOAA Climate Data Record (CDR) Program for satellites.\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Grid\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " person\n" + " https://pathfinder.nodc.noaa.gov\n" + " null\n" + " smigen_both ifile=2012365.b4kd3-pf5ap-n19-sst.hdf ofile=2012365.i4kd3-pf5ap-n19-sst.hdf prod=sst datamin=-3.0 datamax=40.0 precision=I projection=RECT resolution=4km gap_fill=2 ; ./hdf2nc_PFV52_L3C.x -v ./Data_PFV52/PFV52_HDF/2012/2012365.i4kd3-pf5ap-n19-sst.hdf\n" + "2014-02-11 Files downloaded from https://data.nodc.noaa.gov/pathfinder/Version5.2 to NOAA NMFS SWFSC ERD by erd.data@noaa.gov . Aggregated with reference times from the dates in the file names. Removed other, misleading time values from the file names and the data files. Removed empty sses_bias and sses_standard_deviation variables. Removed aerosol_dynamic_indicator because of incorrect add_offset and scale_factor in files from 1981 through 2000.\n" + " https://www.nodc.noaa.gov/SatelliteData/pathfinder4km/\n" + " NOAA NCEI\n" + " 10m, aerosol, analysis, area, atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "atmospheric, avhrr, bias, climate, collated, cryosphere,\n" + "Earth Science > Cryosphere > Sea Ice > Ice Extent,\n" + "data, deviation, difference, distribution, dynamic, estimate, extent, flag, flags, fraction, ice, ice distribution, indicator, l2p, l3-collated, l3c, last, measurement, noaa, nodc, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature,\n" + "Earth Science > Oceans > Sea Ice > Ice Extent,\n" + "pathfinder, quality, record, reference, sea, sea_ice_area_fraction, sea_surface_skin_temperature, sea_surface_temperature, skin, speed, sses, sst, standard, statistics, surface, temperature, time, version, wind, wind_speed, winds\n" + " GCMD Science Keywords\n" + " These data are available for use without restriction. Please acknowledge the use of these data with the following statement: "These data were provided by GHRSST and the US National Oceanographic Data Center. This project was supported in part by a grant from the NOAA Climate Data Record (CDR) Program for satellites." and cite the following publication:\n" + "Casey, K.S., T.B. Brandon, P. Cornillon, and R. Evans (2010). "The Past, Present and Future of the AVHRR Pathfinder SST Program", in Oceanography from Space: Revisited, eds. V. Barale, J.F.R. Gower, and L. Alberotanza, Springer. DOI: 10.1007/978-90-481-8681-5_16.\n" + "which is available at https://pathfinder.nodc.noaa.gov/OFS_21_Cas_09Dec2009.pdf\n" + "\n" + "[standard]\n" + " null\n" + " null\n" + " null\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " Daytime measurements from the Advanced Very High Resolution Radiometer (AVHRR) Pathfinder Version 5.2 L3-Collated (L3C) sea surface temperature. This netCDF-4 file contains sea surface temperature (SST) data produced as part of the AVHRR Pathfinder SST Project. These data were created using Version 5.2 of the Pathfinder algorithm and the file is nearly but not completely compliant with the Global High-Resolution Sea Surface Temperature (GHRSST) Data Specifications V2.0 (GDS2). The file does not encode time according to the GDS2 specifications, and the sses_bias and sses_standard_deviation variables are empty. Full compliance with GDS2 specifications will be achieved in the future Pathfinder Version 6. These data were created as a partnership between the University of Miami and the US NOAA/National Oceanographic Data Center (NODC).\n" + " \n" + "2014-02-11 Files downloaded from https://data.nodc.noaa.gov/pathfinder/Version5.2 to NOAA NMFS SWFSC ERD by erd.data@noaa.gov . Aggregated with reference times from the dates in the file names. Removed other, misleading time values from the file names and the data files. Removed empty sses_bias and sses_standard_deviation variables. Removed aerosol_dynamic_indicator because of incorrect add_offset and scale_factor in files from 1981 through 2000. \n" + " SST, Pathfinder Ver 5.2 (L3C), Day, Global, 0.0417°, 1981-2012, Science Quality (1 Day Composite)\n" + " null\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " null\n" + " null\n" + " Gregorian\n" + " \n" + " Temperature\n" + " Centered Time\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " Latitude\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " Longitude\n" + " \n" + " \n" + " \n" + " sea_surface_temperature\n" + " sea_surface_temperature\n" + " double\n" + " \n" + " \n" + " null\n" + " null\n" + " 0.0\n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " NOAA Climate Data Record of Sea Surface Skin Temperature\n" + " 0.01\n" + " degree_C\n" + " \n" + " \n" + "\n" + "\n" + " \n" + " \n" + " dt_analysis\n" + " dt_analysis\n" + " double\n" + " \n" + " \n" + " null\n" + " null\n" + " 5.0\n" + " -5.0\n" + " Temperature\n" + " Deviation from Last SST Analysis (NCDC Daily OI)\n" + " degree_C\n" + " null\n" + " AVHRR_OI, with inland values populated from AVHRR_Pathfinder daily climatological SST. For more information on this reference field see https://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.nodc:0071180.\n" + " null\n" + " null\n" + " \n" + " \n" + " \n" + " wind_speed\n" + " wind_speed\n" + " double\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " 15.0\n" + " 0.0\n" + " Wind\n" + " 10m Wind Speed\n" + " null\n" + " null\n" + " null\n" + " \n" + " \n" + " \n" + " sea_ice_fraction\n" + " sea_ice_fraction\n" + " double\n" + " \n" + " \n" + " null\n" + " null\n" + " 1.0\n" + " 0.0\n" + " Sea ice concentration data are taken from the EUMETSAT Ocean and Sea Ice Satellite Application Facility (OSISAF) Global Daily Sea Ice Concentration Reprocessing Data Set (https://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.nodc:0068294) when these data are available. The data are reprojected and interpolated from their original polar stereographic projection at 10km spatial resolution to the 4km Pathfinder Version 5.2 grid. When the OSISAF data are not available for both hemispheres on a given day, the sea ice concentration data are taken from the sea_ice_fraction variable found in the L4 GHRSST DailyOI SST product from NOAA/NCDC, and are interpolated from the 25km DailyOI grid to the 4km Pathfinder Version 5.2 grid.\n" + " Ice Distribution\n" + " Sea Ice Fraction\n" + " 1\n" + " null\n" + " Reynolds, et al.(2006) Daily High-resolution Blended Analyses. Available at https://journals.ametsoc.org/doi/full/10.1175/2007JCLI1824.1\n" + " null\n" + " null\n" + " \n" + " \n" + "\n" + " \n" + " quality_level\n" + " quality_level \n" + " byte\n" + " \n" + " \n" + " null\n" + " null\n" + " 5.0\n" + " 0.0\n" + " Quality\n" + " SST Measurement Quality\n" + " \n" + " \n" + " \n" + " pathfinder_quality_level\n" + " pathfinder_quality_level\n" + " byte\n" + " \n" + " \n" + " null\n" + " null\n" + " 7.0\n" + " 0.0\n" + " Quality\n" + " Pathfinder SST Quality Flag\n" + " \n" + " \n" + " \n" + " l2p_flags\n" + " l2p_flags\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " null\n" + " null\n" + " 16.0\n" + " 0.0\n" + " Quality\n" + " L2P Flags\n" + " \n" + " \n" + "\n"; } public static EDD gettestDataVarOrder() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testDataVarOrder()); } private static String xmlFragment_testDataVarOrder() { return "\n" + " https://coastwatch.pfeg.noaa.gov/erddap/griddap/jplG1SST\n" + "\n"; } public static EDD getetopo180() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_etopo180()); } private static String xmlFragment_etopo180() { return ""; } public static EDD getetopo360() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_etopo360()); } private static String xmlFragment_etopo360() { return ""; } public static EDD getndbcCWind41002() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_ndbcCWind41002()); } private static String xmlFragment_ndbcCWind41002() { return "\n" + " \n" + " \n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c1989.nc\n" + " 43200\n" + " \n" + " Grid\n" + " \n" + " NOAA NDBC\n" + " Source of data.\n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://www.ndbc.noaa.gov/cwind.shtml\n" + " NOAA NDBC\n" + " Atmosphere > Atmospheric Winds > Surface Winds\n" + " GCMD Science Keywords\n" + " [standard]\n" + " \n" + " \n" + " These continuous wind measurements from the NOAA National Data Buoy Center (NDBC) stations are 10-minute average values of wind speed (in m/s) and direction (in degrees clockwise from North).\n" + " Wind Data from NDBC 41002\n" + " https://dods.ndbc.noaa.gov\n" + " \n" + "\n" + " \n" + " wind_dir\n" + " wind_direction\n" + " \n" + " 999\n" + " 999\n" + " Wind\n" + " Wind From Direction\n" + " wind_from_direction\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " wind_spd\n" + " wind_speed\n" + " \n" + " 99.0\n" + " 99.0\n" + " Wind\n" + " Wind Speed\n" + " wind_speed\n" + " m s-1\n" + " \n" + " \n" + " \n" + " \n" + " false\n" + "\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c1992.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c1993.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c1996.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c1997.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c1998.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c1999.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c2000.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c2001.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c2002.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c2003.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c2004.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c2005.nc\n" + " \n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c2007.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c2008.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c2009.nc\n" + " https://dods.ndbc.noaa.gov/thredds/dodsC/data/cwind/41002/41002c2010.nc\n" + " \n" + "\n"; } public static EDD getcwwcNDBCMet() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_cwwcNDBCMet()); } private static String xmlFragment_cwwcNDBCMet() throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/points/ndbcMet2/").toURI()) .toString() + "\n" + " true\n" + " NDBC_.*\\.nc\n" + " \n" + " last\n" + " \n" + " TIME\n" + " \n" + " station, longitude, latitude\n" + " station, longitude, latitude\n" + " cwwcNDBCMet\n" + " [standard]\n" + " The National Data Buoy Center (NDBC) distributes meteorological data from\n" + "moored buoys maintained by NDBC and others. Moored buoys are the weather\n" + "sentinels of the sea. They are deployed in the coastal and offshore waters\n" + "from the western Atlantic to the Pacific Ocean around Hawaii, and from the\n" + "Bering Sea to the South Pacific. NDBC's moored buoys measure and transmit\n" + "barometric pressure; wind direction, speed, and gust; air and sea\n" + "temperature; and wave energy spectra from which significant wave height,\n" + "dominant wave period, and average wave period are derived. Even the\n" + "direction of wave propagation is measured on many moored buoys. See\n" + "https://www.ndbc.noaa.gov/measdes.shtml for a description of the measurements.\n" + "\n" + "The source data from NOAA NDBC has different column names, different units,\n" + "and different missing values in different files, and other problems\n" + "(notably, lots of rows with duplicate or different values for the same time\n" + "point). This dataset is a standardized, reformatted, and lightly edited\n" + "version of that source data, created by NOAA NMFS SWFSC ERD (email:\n" + "erd.data at noaa.gov). Before 2020-01-29, this dataset only had the data\n" + "that was closest to a given hour, rounded to the nearest hour. Now, this\n" + "dataset has all of the data available from NDBC with the original time\n" + "values. If there are multiple source rows for a given buoy for a given\n" + "time, only the row with the most non-NaN data values is kept. If there is\n" + "a gap in the data, a row of missing values is inserted (which causes a nice\n" + "gap when the data is graphed). Also, some impossible data values are\n" + "removed, but this data is not perfectly clean. This dataset is now updated\n" + "every 5 minutes.\n" + "\n" + "This dataset has both historical data (quality controlled, before\n" + "2022-01-01T00:00:00Z) and near real time data (less quality controlled,\n" + "which may change at any time, from 2022-01-01T00:00:00Z on).\n" + " now-25minutes \n" + " \n" + " \n" + " ID\n" + " station\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + " LON\n" + " longitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " LAT\n" + " latitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " TIME\n" + " time\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " WD\n" + " wd\n" + " short\n" + " \n" + " \n" + " \n" + " \n" + " WSPD\n" + " wspd\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " GST\n" + " gst\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " WVHT\n" + " wvht\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " DPD\n" + " dpd\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " APD\n" + " apd\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " MWD\n" + " mwd\n" + " short\n" + " \n" + " \n" + " \n" + " \n" + " BAR\n" + " bar\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " ATMP\n" + " atmp\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " WTMP\n" + " wtmp\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " DEWP\n" + " dewp\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " VIS\n" + " vis\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " PTDY\n" + " ptdy\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " TIDE\n" + " tide\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " WSPU\n" + " wspu\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " WSPV\n" + " wspv\n" + " float\n" + " \n" + " \n" + " \n" + "\n"; } public static EDD geterdCinpKfmSFNH() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdCinpKfmSFNH()); } private static String xmlFragment_erdCinpKfmSFNH() throws URISyntaxException { return "\n" + " 10080\n" + " " + Path.of( EDDTestDataset.class .getResource("/data/points/KFMSizeFrequencyNaturalHabitat/") .toURI()) .toString() + "\n" + " false\n" + " KFMSizeFrequencyNaturalHabitat_.*\\.nc(|.gz)\n" + " last\n" + " \n" + " TIME\n" + " ID TIME\n" + " \n" + " TimeSeries\n" + " id, longitude, latitude\n" + " id, longitude, latitude, common_name, species_name\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " CF Standard Name Table v70\n" + " Channel Islands, Kelp Forest Monitoring, Size and Frequency, Natural Habitat, 1985-2007\n" + " David_Kushner@nps.gov\n" + " erd.data@noaa.gov\n" + " institution\n" + " \n" + " https://www.nps.gov/chis/naturescience/index.htm\n" + " CINP\n" + " \n" + "Earth Science > Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "aquatic, atmosphere, biology, biosphere, channel, cinp, coastal, common, depth, ecosystems, forest, frequency, habitat, height, identifier, islands, kelp, marine, monitoring, name, natural, size, species, station, taxonomy, time\n" + " GCMD Science Keywords\n" + " (local files)\n" + " \n" + " \n" + " ID\n" + " id\n" + " String\n" + " \n" + " Identifier\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " \n" + " LON\n" + " longitude\n" + " double\n" + " \n" + " -120.4\n" + " -118.4\n" + " \n" + " \n" + " \n" + " LAT\n" + " latitude\n" + " double\n" + " \n" + " 32.5\n" + " 34.5\n" + " \n" + " \n" + " \n" + " DEPTH\n" + " depth\n" + " double\n" + " \n" + " 0\n" + " 20\n" + " \n" + " \n" + " \n" + " TIME\n" + " time\n" + " double\n" + " \n" + " 4.89024e8\n" + " 1.183248E9\n" + " sec since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " CommonName\n" + " common_name\n" + " String\n" + " \n" + " Taxonomy\n" + " Common Name\n" + " \n" + " \n" + " \n" + " \n" + " Species_Name\n" + " species_name\n" + " String\n" + " \n" + " Taxonomy\n" + " \n" + " \n" + " \n" + " \n" + " Size\n" + " size\n" + " short\n" + " \n" + " 32767 \n" + " Biology\n" + " Size\n" + " \n" + " \n" + "\n"; } public static EDD gettestNc2d() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testNc2D()); } private static String xmlFragment_testNc2D() throws URISyntaxException { return "\n" + " 2\n" + " 10\n" + " " + Path.of(EDDTestDataset.class.getResource("/largePoints/nc2d/").toURI()).toString() + "\n" + " false\n" + " NDBC_.*\\.nc\n" + " last\n" + " ^NDBC_\n" + " _met\\.nc$\n" + " .*\n" + " station\n" + " TIME\n" + " \n" + " Other\n" + " station, latitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://www.ndbc.noaa.gov/\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " erd.data@noaa.gov\n" + " https://www.pfeg.noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " erd.data@noaa.gov\n" + " https://www.pfeg.noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " Oceans\n" + " [standard]\n" + " https://www.ndbc.noaa.gov/\n" + " NDBC Standard Meteorological Buoy Data\n" + " \n" + " \n" + " station\n" + " station\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " LAT\n" + " latitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " TIME\n" + " time\n" + " double\n" + " \n" + " null\n" + " \n" + " \n" + " \n" + " WD\n" + " wd\n" + " short\n" + " \n" + " 0\n" + " 360\n" + " 32767\n" + " Wind\n" + " \n" + " \n" + " \n" + " WSPD\n" + " wspd\n" + " float\n" + " \n" + " 0\n" + " 15\n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + " \n" + " GST\n" + " gst\n" + " float\n" + " \n" + " 0\n" + " 30\n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + " \n" + " WVHT\n" + " wvht\n" + " float\n" + " \n" + " 0\n" + " 10\n" + " -9999999\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " DPD\n" + " dpd\n" + " float\n" + " \n" + " 0\n" + " 20\n" + " -9999999\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " APD\n" + " apd\n" + " float\n" + " \n" + " 0\n" + " 20\n" + " -9999999\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " MWD\n" + " mwd\n" + " short\n" + " \n" + " 0\n" + " 360\n" + " 32767\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " BAR\n" + " bar\n" + " float\n" + " \n" + " 950\n" + " 1050\n" + " Air pressure (hPa). ('PRES' on some NDBC tables.) For C-MAN sites and Great Lakes buoys, the recorded pressure is reduced to sea level using the method described in NWS Technical Procedures Bulletin 291 (11/14/80).\n" + " -9999999\n" + " Pressure\n" + " \n" + " \n" + " \n" + " ATMP\n" + " atmp\n" + " float\n" + " \n" + " 0\n" + " 40\n" + " -9999999\n" + " Temperature\n" + " \n" + " \n" + " \n" + " WTMP\n" + " wtmp\n" + " float\n" + " \n" + " 0\n" + " 32\n" + " -9999999\n" + " Temperature\n" + " \n" + " \n" + " \n" + " DEWP\n" + " dewp\n" + " float\n" + " \n" + " 0\n" + " 40\n" + " -9999999\n" + " Meteorology\n" + " \n" + " \n" + " \n" + " VIS\n" + " vis\n" + " float\n" + " \n" + " 0\n" + " 100\n" + " -9999999\n" + " Meteorology\n" + " \n" + " \n" + " \n" + " PTDY\n" + " ptdy\n" + " float\n" + " \n" + " -3\n" + " 3\n" + " -9999999\n" + " Pressure\n" + " \n" + " \n" + " \n" + " TIDE\n" + " tide\n" + " float\n" + " \n" + " -5\n" + " 5\n" + " -9999999\n" + " Sea Level\n" + " \n" + " \n" + " \n" + " WSPU\n" + " wspu\n" + " float\n" + " \n" + " -15\n" + " 15\n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + " \n" + " WSPV\n" + " wspv\n" + " float\n" + " \n" + " -15\n" + " 15\n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + "\n"; } public static EDD gettestNc3d() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testNc3D()); } private static String xmlFragment_testNc3D() throws URISyntaxException { return "\n" + " 3\n" + " 10\n" + " " + Path.of(EDDTestDataset.class.getResource("/largePoints/nc3d/").toURI()).toString() + "\n" + " false\n" + " NDBC_.*\\.nc\n" + " last\n" + " ^NDBC_\n" + " _met\\.nc$\n" + " .*\n" + " station\n" + " TIME\n" + " \n" + " TimeSeries\n" + " station, longitude, latitude\n" + " station, longitude, latitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://www.ndbc.noaa.gov/\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " erd.data@noaa.gov\n" + " https://www.pfeg.noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " erd.data@noaa.gov\n" + " https://www.pfeg.noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " Oceans\n" + " [standard]\n" + " https://www.ndbc.noaa.gov/\n" + " NDBC Standard Meteorological Buoy Data\n" + " \n" + " \n" + " station\n" + " station\n" + " String\n" + " \n" + " Identifier\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " LON\n" + " longitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " LAT\n" + " latitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " TIME\n" + " time\n" + " double\n" + " \n" + " null\n" + " \n" + " \n" + " \n" + " WD\n" + " wd\n" + " short\n" + " \n" + " 0\n" + " 360\n" + " 32767\n" + " Wind\n" + " \n" + " \n" + " \n" + " WSPD\n" + " wspd\n" + " float\n" + " \n" + " 0\n" + " 15\n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + " \n" + " GST\n" + " gst\n" + " float\n" + " \n" + " 0\n" + " 30\n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + " \n" + " WVHT\n" + " wvht\n" + " float\n" + " \n" + " 0\n" + " 10\n" + " -9999999\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " DPD\n" + " dpd\n" + " float\n" + " \n" + " 0\n" + " 20\n" + " -9999999\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " APD\n" + " apd\n" + " float\n" + " \n" + " 0\n" + " 20\n" + " -9999999\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " MWD\n" + " mwd\n" + " short\n" + " \n" + " 0\n" + " 360\n" + " 32767\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " BAR\n" + " bar\n" + " float\n" + " \n" + " 950\n" + " 1050\n" + " Air pressure (hPa). ('PRES' on some NDBC tables.) For C-MAN sites and Great Lakes buoys, the recorded pressure is reduced to sea level using the method described in NWS Technical Procedures Bulletin 291 (11/14/80).\n" + " -9999999\n" + " Pressure\n" + " \n" + " \n" + " \n" + " ATMP\n" + " atmp\n" + " float\n" + " \n" + " 0\n" + " 40\n" + " -9999999\n" + " Temperature\n" + " \n" + " \n" + " \n" + " WTMP\n" + " wtmp\n" + " float\n" + " \n" + " 0\n" + " 32\n" + " -9999999\n" + " Temperature\n" + " \n" + " \n" + " \n" + " DEWP\n" + " dewp\n" + " float\n" + " \n" + " 0\n" + " 40\n" + " -9999999\n" + " Meteorology\n" + " \n" + " \n" + " \n" + " VIS\n" + " vis\n" + " float\n" + " \n" + " 0\n" + " 100\n" + " -9999999\n" + " Meteorology\n" + " \n" + " \n" + " \n" + " PTDY\n" + " ptdy\n" + " float\n" + " \n" + " -3\n" + " 3\n" + " -9999999\n" + " Pressure\n" + " \n" + " \n" + " \n" + " TIDE\n" + " tide\n" + " float\n" + " \n" + " -5\n" + " 5\n" + " -9999999\n" + " Sea Level\n" + " \n" + " \n" + " \n" + " WSPU\n" + " wspu\n" + " float\n" + " \n" + " -15\n" + " 15\n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + " \n" + " WSPV\n" + " wspv\n" + " float\n" + " \n" + " -15\n" + " 15\n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + "\n"; } public static EDD getpmelTaoDySst() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_pmelTaoDySst()); } private static String xmlFragment_pmelTaoDySst() throws URISyntaxException { return "\n" + " 1000000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/tao/daily/").toURI()).toString() + "\n" + " false\n" + " sst[0-9].*_dy\\.cdf\n" + " last\n" + " time\n" + " global:site_code time\n" + " longitude,latitude,T_25&time>=now-7days\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " array, station, wmo_platform_code, longitude, latitude, depth\n" + " array, station, wmo_platform_code, longitude, latitude, depth\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " GTMBA Project Office/NOAA/PMEL\n" + " Dai.C.McClurg@noaa.gov\n" + " group\n" + " https://www.pmel.noaa.gov/gtmba/mission\n" + " \n" + " https://www.pmel.noaa.gov/gtmba/mission\n" + " NOAA PMEL, TAO/TRITON, RAMA, PIRATA\n" + " \n" + "Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature,\n" + "buoys, centered, daily, depth, identifier, noaa, ocean, oceans, pirata, pmel, quality, rama, sea, sea_surface_temperature, source, station, surface, tao, temperature, time, triton\n" + " GCMD Science Keywords\n" + " Request for Acknowledgement: If you use these data in publications or presentations, please acknowledge the GTMBA Project Office of NOAA/PMEL. Also, we would appreciate receiving a preprint and/or reprint of publications utilizing the data for inclusion in our bibliography. Relevant publications should be sent to: GTMBA Project Office, NOAA/Pacific Marine Environmental Laboratory, 7600 Sand Point Way NE, Seattle, WA 98115\n" + "\n" + "[standard]\n" + " null\n" + " \n" + " TAO/TRITON, RAMA, PIRATA\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " This dataset has daily Sea Surface Temperature (SST) data from the\n" + "TAO/TRITON (Pacific Ocean, https://www.pmel.noaa.gov/gtmba/ ),\n" + "RAMA (Indian Ocean, https://www.pmel.noaa.gov/gtmba/pmel-theme/indian-ocean-rama ), and\n" + "PIRATA (Atlantic Ocean, https://www.pmel.noaa.gov/gtmba/pirata/ )\n" + "arrays of moored buoys which transmit oceanographic and meteorological data to shore in real-time via the Argos satellite system. These buoys are major components of the CLIVAR climate analysis project and the GOOS, GCOS, and GEOSS observing systems. Daily averages are computed starting at 00:00Z and are assigned an observation 'time' of 12:00Z. For more information, see\n" + "https://www.pmel.noaa.gov/gtmba/mission .\n" + " now-3days\n" + " TAO/TRITON, RAMA, and PIRATA Buoys, Daily, 1977-present, Sea Surface Temperature\n" + " \n" + " \n" + " global:array\n" + " array\n" + " String\n" + " \n" + " Identifier\n" + " Array\n" + " \n" + " \n" + " \n" + " global:site_code\n" + " station\n" + " String\n" + " \n" + " \n" + " timeseries_id\n" + " Identifier\n" + " Station\n" + " \n" + " \n" + " \n" + " global:wmo_platform_code\n" + " wmo_platform_code\n" + " int\n" + " \n" + " Identifier\n" + " WMO Platform Code\n" + " 2147483647\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " Location\n" + " Nominal Longitude\n" + " longitude\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " Location\n" + " Nominal Latitude\n" + " latitude\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " float\n" + " \n" + " \n" + " Time\n" + " Centered Time\n" + " time\n" + " \n" + " \n" + " \n" + " depth\n" + " depth\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " Height\n" + " down\n" + " Z\n" + " Location\n" + " Depth\n" + " down\n" + " depth\n" + " \n" + " \n" + " \n" + " T_25\n" + " T_25\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " 0\n" + " 32\n" + " Temperature\n" + " Sea Surface Temperature\n" + " sea_surface_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " QT_5025\n" + " QT_5025\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " 0\n" + " 6\n" + " false\n" + " Quality: 0=missing data, 1=highest, 2=standard, 3=lower, 4=questionable, 5=bad, -9=contact Dai.C.McClurg@noaa.gov. To get probably valid data only, request QT_5025>=1 and QT_5025<=3.\n" + " Quality\n" + " Sea Surface Temperature Quality\n" + " \n" + " \n" + " \n" + " ST_6025\n" + " ST_6025\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " 0\n" + " 8\n" + " false\n" + " Source Codes:\n" + "0 = No Sensor, No Data\n" + "1 = Real Time (Telemetered Mode)\n" + "2 = Derived from Real Time\n" + "3 = Temporally Interpolated from Real Time\n" + "4 = Source Code Inactive at Present\n" + "5 = Recovered from Instrument RAM (Delayed Mode)\n" + "6 = Derived from RAM\n" + "7 = Temporally Interpolated from RAM\n" + " Other\n" + " Sea Surface Temperature Source\n" + " \n" + " \n" + "\n"; } public static EDD gettestGlobal() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGlobal()); } private static String xmlFragment_testGlobal() throws URISyntaxException { return " \n" + " 10080\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/erdCalcofiSub/").toURI()) .toString() + "\n" + " false\n" + " .*\\.nc\n" + " last\n" + " time\n" + " lineStation\n" + " \n" + " TimeSeriesProfile\n" + " line_station, line, station\n" + " longitude, latitude, time\n" + " line_station, line, station, longitude, latitude, time\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " null\n" + " http://www.calcofi.org \n" + " CalCOFI\n" + " Oceans > Salinity/Density > Salinity\n" + " GCMD Science Keywords\n" + " null\n" + " [standard]\n" + " null\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " This is the CalCOFI subsurface physical data. Routine oceanographic sampling within the California Current System has occurred under the auspices of the California Cooperative Oceanic Fisheries Investigations (CalCOFI) since 1949, providing one of the longest existing time-series of the physics, chemistry and biology of a dynamic oceanic regime.\n" + " null\n" + " CalCOFI Subsurface Physical Data, 1949-1998\n" + " \n" + " \n" + " global:id\n" + " ID\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " lineStation\n" + " line_station\n" + " String\n" + " \n" + " Identifier\n" + " CalCOFI Line + Station\n" + " timeseries_id\n" + " null\n" + " \n" + " \n" + " \n" + " stationline\n" + " line\n" + " float\n" + " \n" + " Identifier\n" + " CalCOFI Line Number\n" + " null\n" + " \n" + " \n" + " \n" + " stationnum\n" + " station\n" + " float\n" + " \n" + " Identifier\n" + " CalCOFI Station Number\n" + " null\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " 200\n" + " 250\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " 20\n" + " 50\n" + " \n" + " \n" + " \n" + " time\n" + " double\n" + " \n" + " time\n" + " profile_id\n" + " seconds since 1948-01-01\n" + " \n" + " \n" + " \n" + " depth\n" + " float\n" + " \n" + " 0\n" + " 5000\n" + " m\n" + " \n" + " \n" + " \n" + " chl\n" + " chlorophyll\n" + " float\n" + " \n" + " \n" + " .03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " Chlorophyll\n" + " concentration_of_chlorophyll_in_sea_water\n" + " mg m-3\n" + " \n" + " \n" + " \n" + " dark\n" + " float\n" + " \n" + " \n" + " Optical Properties\n" + " Dark\n" + " \n" + " mg m-3 experiment-1\n" + " \n" + " \n" + " \n" + " lightpercent\n" + " light_percent\n" + " float\n" + " \n" + " \n" + " Optical Properties\n" + " Light Percent\n" + " \n" + " mg m-3 experiment-1\n" + " \n" + " \n" + " \n" + " nh3\n" + " NH3\n" + " float\n" + " \n" + " \n" + " Dissolved Nutrients\n" + " Ammonia\n" + " mole_concentration_of_ammonium_in_sea_water \n" + " ugram-atoms L-1\n" + " \n" + " \n" + " \n" + " no2\n" + " NO2\n" + " float\n" + " \n" + " \n" + " Dissolved Nutrients\n" + " Nitrite\n" + " moles_of_nitrite_per_unit_mass_in_sea_water\n" + " ugram-atoms L-1\n" + " \n" + " \n" + " \n" + " no3\n" + " NO3\n" + " float\n" + " \n" + " \n" + " Dissolved Nutrients\n" + " Nitrate\n" + " moles_of_nitrate_per_unit_mass_in_sea_water\n" + " ugram-atoms L-1\n" + " \n" + " \n" + " \n" + " oxygen\n" + " float\n" + " \n" + " \n" + " 0\n" + " 10\n" + " Dissolved O2\n" + " Oxygen\n" + " volume_fraction_of_oxygen_in_sea_water\n" + " mL L-1\n" + " \n" + " \n" + " \n" + " po4\n" + " PO4\n" + " float\n" + " \n" + " \n" + " Dissolved Nutrients\n" + " Phosphate\n" + " moles_of_phosphate_per_unit_mass_in_sea_water\n" + " ugram-atoms L-1\n" + " \n" + " \n" + " \n" + " pressure\n" + " float\n" + " \n" + " \n" + " 0.0\n" + " 5000.0\n" + " Pressure\n" + " Pressure\n" + " sea_water_pressure\n" + " dbar\n" + " \n" + " \n" + " \n" + " primprod\n" + " float\n" + " \n" + " \n" + " Productivity\n" + " Mean Primary Production (C14 Assimilation)\n" + " net_primary_productivity_of_carbon\n" + " mg m-3 experiment-1\n" + " \n" + " \n" + " \n" + " salinity\n" + " float\n" + " \n" + " \n" + " Salinity\n" + " Salinity\n" + " sea_water_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " silicate\n" + " float\n" + " \n" + " \n" + " Dissolved Nutrients\n" + " Silicate\n" + " moles_of_silicate_per_unit_mass_in_sea_water\n" + " ugram-atoms L-1\n" + " \n" + " \n" + " \n" + " temperature\n" + " float\n" + " \n" + " \n" + " 0.0\n" + " 32.0\n" + " Temperature\n" + " Sea Water Temperature\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + "\n"; } public static EDD getminiNdbc() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_miniNdbc()); } private static String xmlFragment_miniNdbc() throws URISyntaxException { return "\n" + " 1440\n" + " 1\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/miniNdbc/").toURI()).toString() + "\n" + " false\n" + " NDBC_.*\\.nc\n" + " \n" + " last\n" + " ^NDBC_\n" + " _met\\.nc$\n" + " .*\n" + " station\n" + " TIME\n" + " station TIME\n" + " ioos_category, units\n" + " \n" + " TimeSeries\n" + " station, longitude, latitude\n" + " station, longitude, latitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://www.ndbc.noaa.gov/\n" + " NOAA NDBC, CoastWatch WCN\n" + " \n" + "Atmosphere > Air Quality > Visibility,\n" + "Atmosphere > Altitude > Planetary Boundary Layer Height,\n" + "Atmosphere > Atmospheric Pressure > Atmospheric Pressure Measurements,\n" + "Atmosphere > Atmospheric Pressure > Pressure Tendency,\n" + "Atmosphere > Atmospheric Pressure > Sea Level Pressure,\n" + "Atmosphere > Atmospheric Pressure > Static Pressure,\n" + "Atmosphere > Atmospheric Temperature > Air Temperature,\n" + "Atmosphere > Atmospheric Temperature > Dew Point Temperature,\n" + "Atmosphere > Atmospheric Water Vapor > Dew Point Temperature,\n" + "Atmosphere > Atmospheric Winds > Surface Winds,\n" + "Oceans > Ocean Temperature > Sea Surface Temperature,\n" + "Oceans > Ocean Waves > Significant Wave Height,\n" + "Oceans > Ocean Waves > Swells,\n" + "Oceans > Ocean Waves > Wave Period,\n" + "air, air_pressure_at_sea_level, air_temperature, atmosphere, atmospheric, average, boundary, buoy, coastwatch, data, dew point, dew_point_temperature, direction, dominant, eastward, eastward_wind, from, gust, height, identifier, layer, level, measurements, meridional, meteorological, meteorology, name, ndbc, noaa, northward, northward_wind, ocean, oceans, period, planetary, pressure, quality, sea, sea level, sea_surface_swell_wave_period, sea_surface_swell_wave_significant_height, sea_surface_swell_wave_to_direction, sea_surface_temperature, seawater, significant, speed, sst, standard, static, station, surface, surface waves, surface_altitude, swell, swells, temperature, tendency, tendency_of_air_pressure, time, vapor, visibility, visibility_in_air, water, wave, waves, wcn, wind, wind_from_direction, wind_speed, wind_speed_of_gust, winds, zonal\n" + " GCMD Science Keywords\n" + " [standard]\n" + " https://www.ndbc.noaa.gov/\n" + " The National Data Buoy Center (NDBC) distributes meteorological data from\n" + "moored buoys maintained by NDBC and others. Moored buoys are the weather\n" + "sentinels of the sea. They are deployed in the coastal and offshore waters\n" + "from the western Atlantic to the Pacific Ocean around Hawaii, and from the\n" + "Bering Sea to the South Pacific. NDBC's moored buoys measure and transmit\n" + "barometric pressure; wind direction, speed, and gust; air and sea\n" + "temperature; and wave energy spectra from which significant wave height,\n" + "dominant wave period, and average wave period are derived. Even the\n" + "direction of wave propagation is measured on many moored buoys.\n" + "\n" + "The data is from NOAA NDBC. It has been reformatted by NOAA Coastwatch,\n" + "West Coast Node. This dataset only has the data that is closest to a\n" + "given hour. The time values in the dataset are rounded to the nearest hour.\n" + "\n" + "This dataset has both historical data (quality controlled, before\n" + "2015-01-01T00:00:00Z) and near real time data (less quality controlled, from\n" + "2015-01-01T00:00:00Z on).\n" + " NDBC Standard Meteorological Buoy Data\n" + " \n" + " \n" + " station\n" + " station\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " LON\n" + " longitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " LAT\n" + " latitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " TIME\n" + " time\n" + " double\n" + " \n" + " null\n" + " \n" + " \n" + " \n" + " =7\n" + " luckySeven\n" + " float\n" + " \n" + " fixed value\n" + " Other\n" + " m\n" + " \n" + " \n" + " \n" + " global:geospatial_lon_min\n" + " geolon\n" + " float\n" + " \n" + " Location\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " global:geospatial_lat_min\n" + " geolat\n" + " float\n" + " \n" + " Location\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " WD\n" + " wd\n" + " short\n" + " \n" + " 0\n" + " 360\n" + " 32767\n" + " Wind\n" + " \n" + " \n" + " \n" + " WSPD\n" + " wspd\n" + " float\n" + " \n" + " 0\n" + " 15\n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + " \n" + " GST\n" + " gst\n" + " float\n" + " \n" + " 0\n" + " 30\n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + " \n" + " WVHT\n" + " wvht\n" + " float\n" + " \n" + " 0\n" + " 10\n" + " -9999999\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " DPD\n" + " dpd\n" + " float\n" + " \n" + " 0\n" + " 20\n" + " -9999999\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " APD\n" + " apd\n" + " float\n" + " \n" + " 0\n" + " 20\n" + " -9999999\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " MWD\n" + " mwd\n" + " short\n" + " \n" + " 0\n" + " 360\n" + " 32767\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " BAR\n" + " bar\n" + " float\n" + " \n" + " 950\n" + " 1050\n" + " \n" + " Air pressure (hPa). ('PRES' on some NDBC tables.) For C-MAN sites and Great Lakes buoys, the recorded pressure is reduced to sea level using the method described in NWS Technical Procedures Bulletin 291 (11/14/80).\n" + " -9999999\n" + " Pressure\n" + " \n" + " \n" + " \n" + " ATMP\n" + " atmp\n" + " float\n" + " \n" + " 0\n" + " 40\n" + " -9999999\n" + " Temperature\n" + " \n" + " \n" + " \n" + " WTMP\n" + " wtmp\n" + " float\n" + " \n" + " 0\n" + " 32\n" + " -9999999\n" + " Temperature\n" + " \n" + " \n" + " \n" + " DEWP\n" + " dewp\n" + " float\n" + " \n" + " 0\n" + " 40\n" + " -9999999\n" + " Meteorology\n" + " \n" + " \n" + " \n" + " VIS\n" + " vis\n" + " float\n" + " \n" + " 0\n" + " 100\n" + " -9999999\n" + " Meteorology\n" + " \n" + " \n" + " \n" + " PTDY\n" + " ptdy\n" + " float\n" + " \n" + " -3\n" + " 3\n" + " -9999999\n" + " Pressure\n" + " \n" + " \n" + " \n" + " TIDE\n" + " tide\n" + " float\n" + " \n" + " -5\n" + " 5\n" + " -9999999\n" + " Sea Level\n" + " \n" + " \n" + " \n" + " WSPU\n" + " wspu\n" + " float\n" + " \n" + " -15\n" + " 15\n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + " \n" + " WSPV\n" + " wspv\n" + " float\n" + " \n" + " -15\n" + " 15\n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + "\n"; } public static EDD gettestGlobecBottle() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGlobecBottle()); } private static String xmlFragment_testGlobecBottle() throws URISyntaxException { return "\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/globec/").toURI()).toString() + "\n" + " Globec_bottle_data_2002\\.nc\n" + " \n" + " GLOBEC NEP Rosette Bottle Data (2002)\n" + " TrajectoryProfile\n" + " cruise_id, ship\n" + " cast, longitude, latitude, time\n" + " cruise_id, ship, cast, longitude, latitude, time\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://en.wikipedia.org/wiki/Global_Ocean_Ecosystem_Dynamics\n" + " GLOBEC\n" + " 10um,\n" + "Biosphere > Vegetation > Photosynthetically Active Radiation,\n" + "Oceans > Ocean Chemistry > Ammonia,\n" + "Oceans > Ocean Chemistry > Chlorophyll,\n" + "Oceans > Ocean Chemistry > Nitrate,\n" + "Oceans > Ocean Chemistry > Nitrite,\n" + "Oceans > Ocean Chemistry > Nitrogen,\n" + "Oceans > Ocean Chemistry > Oxygen,\n" + "Oceans > Ocean Chemistry > Phosphate,\n" + "Oceans > Ocean Chemistry > Pigments,\n" + "Oceans > Ocean Chemistry > Silicate,\n" + "Oceans > Ocean Optics > Attenuation/Transmission,\n" + "Oceans > Ocean Temperature > Water Temperature,\n" + "Oceans > Salinity/Density > Salinity,\n" + "active, after, ammonia, ammonium, attenuation, biosphere, bottle, cast, chemistry, chlorophyll, chlorophyll-a, color, concentration, concentration_of_chlorophyll_in_sea_water, cruise, data, density, dissolved, dissolved nutrients, dissolved o2, fluorescence, fraction, from, globec, identifier, mass, mole, mole_concentration_of_ammonium_in_sea_water, mole_concentration_of_nitrate_in_sea_water, mole_concentration_of_nitrite_in_sea_water, mole_concentration_of_phosphate_in_sea_water, mole_concentration_of_silicate_in_sea_water, moles, moles_of_nitrate_and_nitrite_per_unit_mass_in_sea_water, n02, nep, nh4, nitrate, nitrite, nitrogen, no3, number, nutrients, o2, ocean, ocean color, oceans, optical, optical properties, optics, oxygen, passing, per, phaeopigments, phosphate, photosynthetically, pigments, plus, po4, properties, radiation, rosette, salinity, screen, sea, sea_water_practical_salinity, sea_water_temperature, seawater, sensor, sensors, ship, silicate, temperature, time, total, transmission, transmissivity, unit, vegetation, voltage, volume, volume_fraction_of_oxygen_in_sea_water, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " (local files; contact erd.data@noaa.gov)\n" + " CF Standard Name Table v70\n" + " \n" + "GLOBEC (GLOBal Ocean ECosystems Dynamics) NEP (Northeast Pacific)\n" + "Rosette Bottle Data from New Horizon Cruise (NH0207: 1-19 August 2002).\n" + "Notes:\n" + "Physical data processed by Jane Fleischbein (OSU).\n" + "Chlorophyll readings done by Leah Feinberg (OSU).\n" + "Nutrient analysis done by Burke Hales (OSU).\n" + "Sal00 - salinity calculated from primary sensors (C0,T0).\n" + "Sal11 - salinity calculated from secondary sensors (C1,T1).\n" + "secondary sensor pair was used in final processing of CTD data for\n" + "most stations because the primary had more noise and spikes. The\n" + "primary pair were used for cast #9, 24, 48, 111 and 150 due to\n" + "multiple spikes or offsets in the secondary pair.\n" + "Nutrient samples were collected from most bottles; all nutrient data\n" + "developed from samples frozen during the cruise and analyzed ashore;\n" + "data developed by Burke Hales (OSU).\n" + "Operation Detection Limits for Nutrient Concentrations\n" + "Nutrient Range Mean Variable Units\n" + "PO4 0.003-0.004 0.004 Phosphate micromoles per liter\n" + "N+N 0.04-0.08 0.06 Nitrate+Nitrite micromoles per liter\n" + "Si 0.13-0.24 0.16 Silicate micromoles per liter\n" + "NO2 0.003-0.004 0.003 Nitrite micromoles per liter\n" + "Dates and Times are UTC.\n" + "\n" + "For more information, see https://www.bco-dmo.org/dataset/2452\n" + "\n" + "Inquiries about how to access this data should be directed to\n" + "Dr. Hal Batchelder (hbatchelder@coas.oregonstate.edu).\n" + "\n" + " \n" + " \n" + " cruise_id\n" + " String\n" + " \n" + " Identifier\n" + " trajectory_id\n" + " Cruise ID\n" + " \n" + " \n" + " \n" + " ship\n" + " String\n" + " \n" + " Identifier\n" + " Ship\n" + " \n" + " \n" + " \n" + " cast_no\n" + " cast\n" + " short\n" + " \n" + " 0\n" + " 140\n" + " Identifier\n" + " Cast Number\n" + " \n" + " \n" + " \n" + " lon100\n" + " longitude\n" + " int\n" + " \n" + " 0.01\n" + " \n" + " \n" + " \n" + " lat100\n" + " latitude\n" + " int\n" + " \n" + " 0.01\n" + " \n" + " \n" + " \n" + " =0\n" + " altitude\n" + " int\n" + " \n" + " null\n" + " Altitude\n" + " m\n" + " \n" + " \n" + " \n" + " datetime_epoch\n" + " time\n" + " int\n" + " \n" + " Time\n" + " seconds since 1970-01-01T00:00:00Z\n" + " time\n" + " profile_id\n" + " \n" + " \n" + " \n" + " bottle_posn\n" + " byte\n" + " \n" + " 0\n" + " 12\n" + " Location\n" + " Bottle Number\n" + " -128\n" + " \n" + " \n" + " \n" + " chl_a_total\n" + " float\n" + " \n" + " .03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " Chlorophyll-a\n" + " -9999.0\n" + " concentration_of_chlorophyll_in_sea_water\n" + " ug L-1\n" + " \n" + " \n" + " \n" + " chl_a_10um\n" + " float\n" + " \n" + " .03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " Chlorophyll-a after passing 10um screen\n" + " -9999.0\n" + " concentration_of_chlorophyll_in_sea_water\n" + " ug L-1\n" + " \n" + " \n" + " \n" + " phaeo_total\n" + " float\n" + " \n" + " .03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " Total Phaeopigments\n" + " -9999.0\n" + " ug L-1\n" + " \n" + " \n" + " \n" + " phaeo_10um\n" + " float\n" + " \n" + " .03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " Phaeopigments 10um\n" + " -9999.0\n" + " ug L-1\n" + " \n" + " \n" + " \n" + " sal00\n" + " float\n" + " \n" + " 32.0\n" + " 37.0\n" + " Salinity\n" + " Practical Salinity from T0 and C0 Sensors\n" + " -9999.0\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " sal11\n" + " float\n" + " \n" + " 32.0\n" + " 37.0\n" + " Salinity\n" + " Practical Salinity from T1 and C1 Sensors\n" + " -9999.0\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " t0\n" + " temperature0\n" + " float\n" + " \n" + " 0.0\n" + " 32.0\n" + " Temperature\n" + " Sea Water Temperature from T0 Sensor\n" + " -9999.0\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " t1\n" + " temperature1\n" + " float\n" + " \n" + " 0.0\n" + " 32.0\n" + " Temperature\n" + " Sea Water Temperature from T1 Sensor\n" + " -9999.0\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " fluor_v\n" + " float\n" + " \n" + " 0\n" + " 5\n" + " Ocean Color\n" + " Fluorescence Voltage\n" + " -9999.0\n" + " \n" + " volts\n" + " \n" + " \n" + " \n" + " xmiss_v\n" + " float\n" + " \n" + " 0\n" + " 5\n" + " Optical Properties\n" + " Transmissivity Voltage\n" + " -9999.0\n" + " \n" + " volts\n" + " \n" + " \n" + " \n" + " po4\n" + " PO4\n" + " float\n" + " \n" + " 0\n" + " 4\n" + " Dissolved Nutrients\n" + " Phosphate\n" + " -9999.0\n" + " mole_concentration_of_phosphate_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " n_n\n" + " N_N\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Dissolved Nutrients\n" + " Nitrate plus Nitrite\n" + " -99.0\n" + " -9999.0\n" + " moles_of_nitrate_and_nitrite_per_unit_mass_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " no3\n" + " NO3\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Dissolved Nutrients\n" + " -99.0\n" + " Nitrate\n" + " -9999.0\n" + " mole_concentration_of_nitrate_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " si\n" + " Si\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Dissolved Nutrients\n" + " Silicate\n" + " -9999.0\n" + " mole_concentration_of_silicate_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " no2\n" + " NO2\n" + " float\n" + " \n" + " 0\n" + " 1\n" + " Dissolved Nutrients\n" + " Nitrite\n" + " -9999.0\n" + " mole_concentration_of_nitrite_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " nh4\n" + " NH4\n" + " float\n" + " \n" + " 0\n" + " 5\n" + " Dissolved Nutrients\n" + " Ammonium\n" + " -9999.0\n" + " mole_concentration_of_ammonium_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " oxygen\n" + " float\n" + " \n" + " 0\n" + " 10\n" + " Dissolved O2\n" + " Oxygen\n" + " -9999.0\n" + " volume_fraction_of_oxygen_in_sea_water\n" + " mL L-1\n" + " \n" + " \n" + " \n" + " par\n" + " float\n" + " \n" + " 0\n" + " 3\n" + " Ocean Color\n" + " Photosynthetically Active Radiation\n" + " -9999.0\n" + " \n" + " volts\n" + " \n" + " \n" + "\n"; } public static EDD geterdGlobecBirds() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdGlobecBirds()); } private static String xmlFragment_erdGlobecBirds() throws URISyntaxException { return "\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/globec/").toURI()).toString() + "\n" + " Globec_birds\\.nc\n" + " \n" + " GLOBEC NEP Northern California Current Bird Data NH0005, 2000-2000, 0007\n" + " Trajectory\n" + " trans_id, trans_no\n" + " trans_id, trans_no, longitude, latitude, time, species, behav_code\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://en.wikipedia.org/wiki/Global_Ocean_Ecosystem_Dynamics\n" + " GLOBEC\n" + " \n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "Earth Science > Biological Classification > Animals/Vertebrates > Birds,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "animals, aquatic, area, atmosphere, atmospheric, behavior, biological, biology, biosphere, bird, birds, california, classification, coastal, code, course, current, data, direction, ecosystems, flight, globec, habitat, identifier, marine, nep, nh0005, northern, number, ocean, recorded, ship, species, speed, surface, surveyed, time, transect, unadjusted, vertebrates, wind, wind_speed, winds\n" + " GCMD Science Keywords\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " \n" + "David G. Ainley, Larry B. Spear, Cynthia T. Tynan, John A. Barth, Stephen D. Pierce, R. Glenn Ford and Timothy J. Cowles, 2005. Physical and biological variables affecting seabird distributions during the upwelling season of the northern California Current. Deep Sea Research Part II: Topical Studies in Oceanography, Volume 52, Issues 1-2, January 2005, Pages 123-143\n" + "\n" + "L.B. Spear, N. Nur & D.G. Ainley. 1992. Estimating absolute densities of flying seabirds using analyses of relative movement. Auk 109:385-389.\n" + "\n" + "L.B. Spear & D.G. Ainley. 1997. Flight behaviour of seabirds in relation to wind direction and wing morphology. Ibis 139: 221-233.\n" + "\n" + "L.B. Spear & D.G. Ainley. 1997. Flight speed of seabirds in relation to wind speed and direction. Ibis 139: 234-251.\n" + "\n" + "L.B. Spear, D.G. Ainley, B.D. Hardesty, S.N.G. Howell & S.G. Webb. 2004. Reducing biases affecting at-sea surveys of seabirds: use of multiple observer teams. Marine Ornithology 32: 147?157.\n" + " (local files; contact erd.data@noaa.gov)\n" + " CF Standard Name Table v70\n" + " GLOBEC (GLOBal Ocean ECosystems Dynamics) NEP (Northeast Pacific)\n" + "Northern California Current Bird Data from R/V New Horizon cruises NH0005 and 0007.\n" + "\n" + "As a part of the GLOBEC-Northeast Pacific project, we investigated variation in the abundance of marine birds in the context of biological and physical habitat conditions in the northern portion of the California Current System (CCS) during cruises during the upwelling season 2000. Continuous surveys of seabirds were conducted simultaneously in June (onset of upwelling) and August (mature phase of upwelling).\n" + "\n" + "Seabird surveys were conducted continuously during daylight, using a 300-m-wide transect strip. Within that strip, birds were counted that occurred within the 90 degree quadrant off the ship's bow that offered the best observation conditions.\n" + "\n" + "Observed counts of seabirds recorded as flying in a steady direction were adjusted for the effect of flight speed and direction relative to that of the ship (Spear et al., 1992; Spear and Ainley, 1997b). The effect of such flux is the most serious bias encountered during seabird surveys at sea (Spear et al., 2005). Known as random directional movement (as opposed to nonrandom directional movement, which occurs when birds are attracted or repelled from the survey vessel), this problem usually results in density overestimation because most species fly faster than survey vessels; densities of birds that fly slower or at a similar speed as the survey vessel (e.g., storm-petrels), or are flying in the same direction, are usually underestimated (Spear et al., 1992)\n" + "\n" + "(extracted from: David G. Ainley, Larry B. Spear, Cynthia T. Tynan, John A. Barth, Stephen D. Pierce, R. Glenn Ford and Timothy J. Cowles, 2005. Physical and biological variables affecting seabird distributions during the upwelling season of the northern California Current. Deep Sea Research Part II: Topical Studies in Oceanography, Volume 52, Issues 1-2, January 2005, Pages 123-143)\n" + "\n" + "For more information, see\n" + "http://cis.whoi.edu/science/bcodmo/dataset.cfm?id=10053&flag=view\n" + "or\n" + "http://globec.whoi.edu/jg/info/globec/nep/ccs/birds%7Bdir=globec.whoi.edu/jg/dir/globec/nep/ccs/,data=globec.whoi.edu/jg/serv/globec/nep/ccs/birds.html0%7D\n" + "\n" + "Contact:\n" + "Cynthia T. Tynan, ctynan@whoi.edu, Woods Hole Oceanographic Institution\n" + "David G. Ainley, dainley@penguinscience.com, H.T. Harvey & Associates\n" + "\n" + " \n" + " \n" + " trans_no\n" + " short\n" + " \n" + " 10000\n" + " 24000\n" + " \n" + " Identifier\n" + " Transect Number\n" + " trajectory_id\n" + " \n" + " \n" + " \n" + " trans_id\n" + " int\n" + " \n" + " 0\n" + " 10000000\n" + " Identifier\n" + " ID Number for a Location on the Transect\n" + " \n" + " \n" + " \n" + " lon1000\n" + " longitude\n" + " int\n" + " \n" + " 0.001\n" + " \n" + " \n" + " \n" + " lat1000\n" + " latitude\n" + " int\n" + " \n" + " 0.001\n" + " \n" + " \n" + " \n" + " date_epoch\n" + " time\n" + " int\n" + " \n" + " 959644800\n" + " 966038400\n" + " \n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " area\n" + " float\n" + " \n" + " 0\n" + " 2\n" + " Other\n" + " Ocean Area Surveyed in the Transect\n" + " km2\n" + " \n" + " \n" + " \n" + " behav_code\n" + " behav_code\n" + " byte\n" + " \n" + " 0\n" + " 3\n" + " \n" + "Code Description\n" + "------ --------------------\n" + "1 Flying directionally\n" + "2 Sitting on water\n" + "3 Feeding\n" + "\n" + " Biology\n" + " Behavior Code\n" + " \n" + " \n" + " \n" + " flight_dir\n" + " short\n" + " \n" + " 0\n" + " 10\n" + " 0\n" + " 360\n" + " to nearest 10 degrees\n" + " Biology\n" + " Flight Direction\n" + " 40\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " head_c\n" + " short\n" + " \n" + " 0\n" + " 10\n" + " 0\n" + " 360\n" + " to nearest 10 degrees\n" + " Location\n" + " Ship Course\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " number\n" + " byte\n" + " \n" + " 0\n" + " 125\n" + " Biology\n" + " Unadjusted Number of Birds Recorded\n" + " count\n" + " \n" + " \n" + " \n" + " number_adj\n" + " float\n" + " \n" + " 0\n" + " 1400\n" + " Number of birds recorded after adjustment for the effect of bird movement relative to that of the ship (flux).\n" + " Biology\n" + " Adjusted Number of Birds Recorded\n" + " count\n" + " \n" + " \n" + " \n" + " species\n" + " String\n" + " \n" + " \n" + "Species Code Description\n" + "------------ --------------------\n" + "AKCA Cassin's Auklet\n" + "AKPA Parakeet Auklet\n" + "AKRH Rhinoceros Auklet\n" + "ALBF Black-footed Albatross\n" + "ALLA Laysan Albatross\n" + "COBR Brandt's Cormorant\n" + "COPE Pelagic Cormorant\n" + "FUNO Northern Fulmar\n" + "GUCA California Gull\n" + "GUGW Glaucous-winged Gull\n" + "GUHR Heermann's Gull\n" + "GUPI Pigeon Guillemot\n" + "GURB Ring-bill Gull\n" + "GUSA Sabine's Gull\n" + "GUWE Western Gull\n" + "JALT Long-tailed Jaeger\n" + "JAPA Parasitic Jaeger\n" + "JAPO Pomarine Jaeger\n" + "LOAR Pacific Loon\n" + "LOCO Common Loon\n" + "MUCO Common Murre\n" + "MUMA Marbled Murrelet\n" + "MUXA Xantus' Murrelet\n" + "PELB Brown Pelican\n" + "PHNO Red-necked Phalarope\n" + "PHRE Red Phalarope\n" + "SHFF Flesh-footed Shearwater\n" + "SHPF Pink-footed Shearwater\n" + "SHSO Sooty Shearwater\n" + "SKMA South Polar Skua\n" + "STFT Fork-tailed Storm-Petrel\n" + "STLE Leach's Storm-Petrel\n" + "TEAR Arctic Tern\n" + "\n" + " Biology\n" + " Species\n" + " \n" + " \n" + " \n" + " wspd\n" + " short\n" + " \n" + " 0\n" + " 15\n" + " Caution. Wind speed and direction may not be corrected for ship motion.\n" + " -9999\n" + " Wind\n" + " Wind Speed\n" + " knots\n" + " \n" + " \n" + "\n"; } public static EDD geterdGlobecVpt() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdGlobecVpt()); } private static String xmlFragment_erdGlobecVpt() throws URISyntaxException { return "\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/globec/").toURI()).toString() + "\n" + " Globec_vpt\\.nc\n" + " \n" + " GLOBEC NEP Vertical Plankton Tow (VPT) Data, 1997-2001\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://en.wikipedia.org/wiki/Global_Ocean_Ecosystem_Dynamics\n" + " GLOBEC\n" + " \n" + "Earth Science > Biological Classification > Animals/Vertebrates > Fish,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "Earth Science > Oceans > Aquatic Sciences > Fisheries,\n" + "Earth Science > Oceans > Bathymetry/Seafloor Topography > Bathymetry,\n" + "abundance, animals, aquatic, area, bathymetry, below, biological, biology, biosphere, cast, classification, coastal, code, comments, counted, counter, cruise, data, day, day/night, depth, ecosystems, filtered, fish, fisheries, flag, floor, gear, genus, globec, habitat, identifier, level, life, local, marine, maximum, mesh, minimum, mouth, nep, net, night, noaa, nodc, number, oceans, percent, plankton, program, sample, sciences, sea, sea_floor_depth_below_sea_level, seafloor, seawater, size, species, stage, station, taxonomy, time, topography, tow, type, vertebrates, vertical, volume, vpt, water, within\n" + " GCMD Science Keywords\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " (local files; contact erd.data@noaa.gov)\n" + " CF Standard Name Table v70\n" + " \n" + " Trajectory\n" + " cruise_id\n" + " cruise_id, station_id, longitude, latitude, time, cast_no, counter_id, d_n_flag, gear_area, gear_mesh, gear_type, genus_species, life_stage, local_code, nodc_code, program, sample_id\n" + " GLOBEC (GLOBal Ocean ECosystems Dynamics) NEP (Northeast Pacific)\n" + "California Current Program\n" + "Vertical Plankton Tow (VPT) Data\n" + "\n" + "For more information, see\n" + "http://cis.whoi.edu/science/bcodmo/dataset.cfm?id=10181&flag=view\n" + "or\n" + "http://globec.whoi.edu/jg/info/globec/nep/ccs/vpt%7Bdir=globec.whoi.edu/jg/dir/globec/nep/ccs/,data=globec.coas.oregonstate.edu/jg/serv/vpt.html0%7D\n" + "\n" + "All inquiries about this data should be directed to Dr. William Peterson (bill.peterson@noaa.gov).\n" + "Inquiries about how to access this data should be directed to Dr. Hal Batchelder (hbatchelder@coas.oregonstate.edu).\n" + "\n" + " \n" + " \n" + " cruise_id\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Cruise ID\n" + " trajectory_id\n" + " \n" + " \n" + " \n" + " lon1000\n" + " longitude\n" + " int\n" + " \n" + " 0.001\n" + " \n" + " \n" + " \n" + " lat1000\n" + " latitude\n" + " int\n" + " \n" + " 0.001\n" + " \n" + " \n" + " \n" + " datetime_utc_epoch\n" + " time\n" + " int\n" + " \n" + " 852076800\n" + " 1009929600\n" + " \n" + " sec since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " cast_no\n" + " byte\n" + " \n" + " 0\n" + " 75\n" + " Identifier\n" + " Cast Number Within the Cruise\n" + " \n" + " \n" + " \n" + " stn_id\n" + " station_id\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Station ID\n" + " \n" + " \n" + " \n" + " abund_m3\n" + " float\n" + " \n" + " 0\n" + " 15000\n" + " Density [individuals per m3]\n" + " Other\n" + " Abundance\n" + " count m-3\n" + " \n" + " \n" + " \n" + " comments\n" + " String\n" + " \n" + " Misc. comments pertaining to sample\n" + " Other\n" + " Comments\n" + " \n" + " \n" + " \n" + " counter_id\n" + " String\n" + " \n" + " Initials of Plankton Taxonomist\n" + " Identifier\n" + " Counter ID\n" + " \n" + " \n" + " \n" + " d_n_flag\n" + " String\n" + " \n" + " Other\n" + " Day/Night Flag\n" + " \n" + " \n" + " \n" + " gear_area_m2\n" + " gear_area\n" + " float\n" + " \n" + " 0\n" + " 1\n" + " Other\n" + " Mouth Area of Net\n" + " m2\n" + " \n" + " \n" + " \n" + " gear_mesh\n" + " float\n" + " \n" + " 0\n" + " 1\n" + " Other\n" + " Net's Mesh Size\n" + " mm\n" + " \n" + " \n" + " \n" + " gear_type\n" + " String\n" + " \n" + " Other\n" + " Gear Type\n" + " \n" + " \n" + " \n" + " genus_species\n" + " String\n" + " \n" + " Taxonomy\n" + " Genus Species\n" + " \n" + " \n" + " \n" + " life_stage\n" + " String\n" + " \n" + " \n" + "most are self explanatory; Male, Female, CV ==> Copepodite 5, Zoea, Nauplii, N2 => Nauplius 2, Egg--a few are not, esp. for the euphausiids (Thysanoessa and Euphausia)\n" + "\n" + "Life Stage Info Codes Description\n" + "(partial listing)\n" + "------------------------ -------------------------------------------------\n" + "F2 Second Stage Furcilia (aka Furcilia 2)\n" + "F3 Third Stage Furcilia (aka Furcilia 3)\n" + "F1_0 First Stage Furcilia with 0 legs\n" + "F2_32 or Furcilia_2_3L2S Second Stage Furcilia with 3 pairs of legs total,\n" + " with 2 pairs of legs having setae;\n" + " this xLyS pattern is common, with x and y varying\n" + " depending on stage of development\n" + " Biology\n" + " Life Stage\n" + " \n" + " \n" + " \n" + " local_code\n" + " String\n" + " \n" + " NODC taxonomic code modified for local use\n" + " Identifier\n" + " Local Code\n" + " \n" + " \n" + " \n" + " max_sample_depth\n" + " short\n" + " \n" + " 0\n" + " 200\n" + " Maximum depth of vertical tow [meters]; estimated from wire out and wire angle\n" + " Location\n" + " Maximum Sample Depth\n" + " m\n" + " \n" + " \n" + " \n" + " min_sample_depth\n" + " short\n" + " \n" + " 0\n" + " 10\n" + " Always \"0\" for vertical tows\n" + " Location\n" + " Minimum Sample Depth\n" + " m\n" + " \n" + " \n" + " \n" + " nodc_code\n" + " String\n" + " \n" + " Standard NODC taxonomic code\n" + " Other\n" + " NODC Code\n" + " \n" + " \n" + " \n" + " perc_counted\n" + " float\n" + " \n" + " 0\n" + " 100\n" + " Percentage of sample evaluated for this taxon [0-100%]\n" + " Other\n" + " Percent Counted\n" + " percent\n" + " \n" + " \n" + " \n" + " program\n" + " String\n" + " \n" + " \n" + "Program Codes Description\n" + "------------- ----------------------------------------------------\n" + "LTOP samples collected on Long-term Observation\n" + " Program Cruises (ca. 4-6 cruises per year;\n" + " all sample the Newport Hydrographic (NH) Line;\n" + " some sample other standard lines further south)\n" + "NH more frequent, small vessel, nearshore sampling of\n" + " Newport Hydrographic Line\n" + "MESO_1 samples collected from process cruise in June 2000\n" + "MESO_2 samples collected from process cruise in August 2000\n" + "\n" + " Identifier\n" + " Program\n" + " \n" + " \n" + " \n" + " sample_id\n" + " byte\n" + " \n" + " 0\n" + " 8\n" + " Always \"1\" for VPT casts, which have a single net only\n" + " Identifier\n" + " Sample ID (Net Number)\n" + " \n" + " \n" + " \n" + " vol_filt\n" + " float\n" + " \n" + " 0\n" + " 120\n" + " Other\n" + " Volume Filtered\n" + " m3\n" + " \n" + " \n" + " \n" + " water_depth\n" + " short\n" + " \n" + " 0\n" + " 3500\n" + " Location\n" + " Water Depth\n" + " sea_floor_depth_below_sea_level\n" + " m\n" + " \n" + " \n" + "\n"; } public static EDD geterdGlobecMoc1() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdGlobecMoc1()); } private static String xmlFragment_erdGlobecMoc1() throws URISyntaxException { return "\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/globec/").toURI()).toString() + "\n" + " Globec_moc1\\.nc\n" + " \n" + " GLOBEC NEP MOCNESS Plankton (MOC1) Data, 2000-2002\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://en.wikipedia.org/wiki/Global_Ocean_Ecosystem_Dynamics\n" + " GLOBEC\n" + " \n" + "Earth Science > Biological Classification > Animals/Vertebrates > Fish,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "Earth Science > Oceans > Aquatic Sciences > Fisheries,\n" + "Earth Science > Oceans > Bathymetry/Seafloor Topography > Bathymetry,\n" + "abundance, animals, aquatic, area, bathymetry, below, biological, biology, biosphere, cast, classification, coastal, code, comments, counter, cruise, data, day, day/night, depth, ecosystems, filtered, fish, fisheries, flag, floor, gear, genus, globec, habitat, identifier, level, life, local, marine, maximum, mesh, minimum, moc1, mocness, mouth, nep, net, night, noaa, nodc, number, oceans, plankton, program, sample, sciences, sea, sea_floor_depth_below_sea_level, seafloor, seawater, size, species, stage, station, taxonomy, time, topography, type, vertebrates, volume, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " \n" + "Tucker, G.H., 1951. Relation of fishes and other organisms to the scattering of underwater sound. Journal of Marine Research, 10: 215-238.\n" + "\n" + "Wiebe, P.H., K.H. Burt, S. H. Boyd, A.W. Morton, 1976. The multiple opening/clo sing net and environmental sensing system for sampling zooplankton. Journal of Marine Research, 34(3): 313-326\n" + "\n" + "Wiebe, P.H., A.W. Morton, A.M. Bradley, R.H. Backus, J.E. Craddock, V. Barber, T.J. Cowles and G.R. Flierl, 1985. New developments in the MOCNESS, an apparatu s for sampling zooplankton and micronekton. Marine Biology, 87: 313- 323.\n" + "\n" + " Trajectory\n" + " cruise_id\n" + " cruise_id, longitude, latitude, time, cast_no, station_id, abund_m3, comments, counter_id, d_n_flag, gear_area_m2, gear_mesh, gear_type, genus_species, life_stage, local_code, max_sample_depth, min_sample_depth, nodc_code, program, sample_id, vol_filt, water_depth\n" + " null\n" + " (local files; contact erd.data@noaa.gov)\n" + " CF Standard Name Table v70\n" + " \n" + " GLOBEC (GLOBal Ocean ECosystems Dynamics) NEP (Northeast Pacific) California Current Program\n" + "MOCNESS Plankton (MOC1) Data\n" + "The MOCNESS is based on the Tucker Trawl principle (Tucker, 1951). The MOCNESS-1 has nine rectangular nets (1m x 1.4 m) which are opened and closed sequentially by commands through conducting cable from the surface (Wiebe et al., 1976). In MOCNESS systems, \"the underwater unit sends a data frame, comprised of temperature, depth, conductivity, net-frame angle, flow count, time, number of open net, and net opening/closing, to the deck unit in a compressed hexadecimal format every 2 seconds and from the deck unit to a microcomputer every 4 seconds... Temperature (to approximately 0.01 deg C) and conductivity are measured with SEABIRD sensors. Normally, a modified T.S.K.-flowmeter is used... Both the temperature and conductivity sensors and the flowmeter are mounted on top of the frame so that they face horizontally when the frame is at a towing angle of 45deg... Calculations of salinity (to approximately 0.01 o/oo S), potential temperature (theta), potential density (sigma), the oblique and vertical velocities of the net, and the approximate volume filtered by each net are made after each string of data has been received by the computer.\" (Wiebe et al., 1985) In addition, depending on the particular configuration of the MOCNESS-1, data may have been collected from other sensors attached to the frame : (Transmissometer, Fluorometer, Downwelling light sensor, and the Oxygen sensor). A SeaBird underwater pump was also included in the sensor suit e.\n" + "After retrieval to deck, the contents of the nets were rinsed into the codends a nd transferred to storage bottles, and fixed and preserved with formalin. In the shore laboratory, the contents of the bottles were subsampled and counts and biomass estimates made for selected taxa (see the Proc_Protocol info below). This data object reports only the count information.\n" + "\n" + "For more information, see\n" + "http://cis.whoi.edu/science/bcodmo/dataset.cfm?id=10182&flag=view\n" + "or\n" + "http://globec.whoi.edu/jg/info/globec/nep/ccs/MOC1%7Bdir=globec.whoi.edu/jg/dir/globec/nep/ccs/,data=globec.coas.oregonstate.edu/jg/serv/MOC1.html0%7D\n" + "\n" + "All inquiries about this data should be directed to Dr. William Peterson (bill.peterson@noaa.gov).\n" + "Inquiries about how to access this data should be directed to Dr. Hal Batchelder (hbatchelder@coas.oregonstate.edu).\n" + "\n" + " \n" + " \n" + " cruise_id\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Cruise ID\n" + " trajectory_id\n" + " \n" + " \n" + " \n" + " lon10000\n" + " longitude\n" + " int\n" + " \n" + " 0.0001\n" + " \n" + " \n" + " \n" + " lat10000\n" + " latitude\n" + " int\n" + " \n" + " 0.0001\n" + " \n" + " \n" + " \n" + " datetime_utc_epoch\n" + " time\n" + " int\n" + " \n" + " 955497600\n" + " 1022803200\n" + " \n" + " sec since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " cast_no\n" + " byte\n" + " \n" + " 0\n" + " 30\n" + " Identifier\n" + " Cast Number\n" + " \n" + " \n" + " \n" + " stn_id\n" + " station_id\n" + " String\n" + " \n" + " Identifier\n" + " Station ID\n" + " \n" + " \n" + " \n" + " abund_m3\n" + " float\n" + " \n" + " 0\n" + " 1000\n" + " Density [individuals per m3]\n" + " Other\n" + " Abundance\n" + " count m-3\n" + " \n" + " \n" + " \n" + " comments\n" + " String\n" + " \n" + " Misc. comments pertaining to sample\n" + " Other\n" + " Comments\n" + " \n" + " \n" + " \n" + " counter_id\n" + " String\n" + " \n" + " Initials of Plankton Taxonomist\n" + " Identifier\n" + " Counter ID\n" + " \n" + " \n" + " \n" + " d_n_flag\n" + " String\n" + " \n" + " Other\n" + " Day/Night Flag\n" + " \n" + " \n" + " \n" + " gear_area_m2\n" + " byte\n" + " \n" + " 0\n" + " 10\n" + " Other\n" + " Mouth Area of Net\n" + " m2\n" + " \n" + " \n" + " \n" + " gear_mesh\n" + " float\n" + " \n" + " 0\n" + " 1\n" + " Other\n" + " Net's Mesh Size\n" + " mm\n" + " \n" + " \n" + " \n" + " gear_type\n" + " String\n" + " \n" + " Other\n" + " Gear Type\n" + " \n" + " \n" + " \n" + " genus_species\n" + " String\n" + " \n" + " Taxonomy\n" + " Genus Species\n" + " \n" + " \n" + " \n" + " life_stage\n" + " String\n" + " \n" + " \n" + "most are self explanatory; Male, Female, CV ==> Copepodite 5, Zoea, Nauplii, N2 => Nauplius 2, Egg--a few are not, esp. for the euphausiids (Thysanoessa and Euphausia)\n" + "\n" + "Life Stage Info Codes Description\n" + "(partial listing)\n" + "------------------------ -------------------------------------------------\n" + "F2 Second Stage Furcilia (aka Furcilia 2)\n" + "F3 Third Stage Furcilia (aka Furcilia 3)\n" + "F1_0 First Stage Furcilia with 0 legs\n" + "F2_32 or Furcilia_2_3L2S Second Stage Furcilia with 3 pairs of legs total,\n" + " with 2 pairs of legs having setae;\n" + " this xLyS pattern is common, with x and y varying\n" + " depending on stage of development\n" + " Biology\n" + " Life Stage\n" + " \n" + " \n" + " \n" + " local_code\n" + " String\n" + " \n" + " NODC taxonomic code modified for local use\n" + " Identifier\n" + " Local Code\n" + " \n" + " \n" + " \n" + " max_sample_depth\n" + " float\n" + " \n" + " 0\n" + " 500\n" + " Maximum depth of vertical tow [meters]; estimated from wire out and wire angle\n" + " Location\n" + " Maximum Sample Depth\n" + " m\n" + " \n" + " \n" + " \n" + " min_sample_depth\n" + " float\n" + " \n" + " 0\n" + " 300\n" + " Always \"0\" for vertical tows\n" + " Location\n" + " Minimum Sample Depth\n" + " m\n" + " \n" + " \n" + " \n" + " nodc_code\n" + " String\n" + " \n" + " Other\n" + " NODC Code\n" + " \n" + " \n" + " \n" + " \n" + " program\n" + " String\n" + " \n" + " \n" + "Program Codes Description\n" + "------------- ----------------------------------------------------\n" + "LTOP samples collected on Long-term Observation\n" + " Program Cruises (ca. 4-6 cruises per year;\n" + " all sample the Newport Hydrographic (NH) Line;\n" + " some sample other standard lines further south)\n" + "NH more frequent, small vessel, nearshore sampling of\n" + " Newport Hydrographic Line\n" + "MESO_1 samples collected from process cruise in June 2000\n" + "MESO_2 samples collected from process cruise in August 2000\n" + "\n" + " Identifier\n" + " Program\n" + " \n" + " \n" + " \n" + " sample_id\n" + " byte\n" + " \n" + " 0\n" + " 10\n" + " Always \"1\" for VPT casts, which have a single net only\n" + " Identifier\n" + " Sample ID\n" + " \n" + " \n" + " \n" + " vol_filt\n" + " float\n" + " \n" + " 0\n" + " 1400\n" + " Other\n" + " Volume Filtered\n" + " m3\n" + " \n" + " \n" + " \n" + " water_depth\n" + " short\n" + " \n" + " 0\n" + " 2000\n" + " Location\n" + " Water Depth\n" + " sea_floor_depth_below_sea_level\n" + " m\n" + " \n" + " \n" + "\n"; } public static EDD getearthCubeKgsBoreTempWV() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_earthCubeKgsBoreTempWV()); } private static String xmlFragment_earthCubeKgsBoreTempWV() throws URISyntaxException { return "\n" + " 1000000\n" + " last\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/kgsBoreTempWV/").toURI()) .toString() + "\n" + " false\n" + " .*\\.tsv\n" + " last\n" + " 1\n" + " 3\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " Point\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " John Saucer\n" + " info@geosrv.wvnet.edu\n" + " person\n" + " https://www.wvgs.wvnet.edu/\n" + " https://www.wvgs.wvnet.edu/\n" + " West Virginia Geological and Economic Survey\n" + " apino, bore, borehole, circulation, commodity, county, date, degree, depth, driller, drilling, elevation, ended, field, formation, function, geological, geothermal, header, interest, interval, kentucky, label, lease, length, long, measured, measurement, name, notes, observation, operator, point, procedure, producing, production, quality, reference, related, resource, shape, since, source, spud, srs, state, statement, statistics, status, survey, temperature, temperatures, time, total, true, type, uncertainty, units, URI, vertical, well, West Virginia\n" + " [standard]\n" + " null\n" + " /wfs:FeatureCollection/gml:featureMember\n" + " https://kgs.uky.edu/usgin/services/aasggeothermal/WVBoreholeTemperatures/MapServer/WFSServer?request=GetFeature&service=WFS&typename=aasg:BoreholeTemperature&format="text/xml;%20subType=gml/3.1.1/profiles/gmlsf/1.0.0/0"\n" + " CF Standard Name Table v70\n" + " WellName,APINo,Label,Operator,WellType,Field,County,State,FormationTD,OtherName\n" + " Borehole temperature measurements in West Virginia\n" + " West Virginia Borehole Temperatures, AASG State Geothermal Data, 1936-2010\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:ObservationURI\n" + " ObservationURI\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Observation URI\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:WellName\n" + " WellName\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Well Name\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:APINo\n" + " APINo\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " APINo\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:HeaderURI\n" + " HeaderURI\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Header URI\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:Label\n" + " Label\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Label\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:Operator\n" + " Operator\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Operator\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:SpudDate\n" + " SpudDate\n" + " String\n" + " \n" + " \n" + " Time\n" + " Spud Date\n" + " 1970-01-01\n" + " yyyy-MM-dd'T'HH:mm:ss\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:EndedDrillingDate\n" + " time\n" + " String\n" + " \n" + " \n" + " Time\n" + " Ended Drilling Date\n" + " 1970-01-01\n" + " yyyy-MM-dd'T'HH:mm:ss\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:WellType\n" + " WellType\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Well Type\n" + " \n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:Field\n" + " Field\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Field\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:County\n" + " County\n" + " String\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " County\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:State\n" + " State\n" + " String\n" + " \n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:LatDegree\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location recorded as received from official permit application converted to NAD83 if required\n" + " NAD 83\n" + " Location\n" + " Latitude\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:LongDegree\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location recorded as received from official permit application converted to NAD83 if required\n" + " NAD 83\n" + " Location\n" + " Longitude\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:DrillerTotalDepth\n" + " DrillerTotalDepth\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Location\n" + " Driller Total Depth\n" + " ft \n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:DepthReferencePoint\n" + " DepthReferencePoint\n" + " String\n" + " \n" + " \n" + " Location\n" + " Depth Reference Point\n" + " \n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:WellBoreShape\n" + " WellBoreShape\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Well Bore Shape\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:TrueVerticalDepth\n" + " TrueVerticalDepth\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Location\n" + " True Vertical Depth\n" + " ft \n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:ElevationGL\n" + " ElevationGL\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Location\n" + " Elevation GL\n" + " ft \n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:FormationTD\n" + " FormationTD\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Formation TD\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:MeasuredTemperature\n" + " MeasuredTemperature\n" + " float\n" + " \n" + " \n" + " 200\n" + " 50 \n" + " Temperature\n" + " Measured Temperature\n" + " Temperature log evaluated by WVGES staff for deepest stable log segment to extract data otherwise used given bottom hole temperature on log header if available\n" + " Well Temperature Log\n" + " degree_F \n" + " \n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:DepthOfMeasurement\n" + " DepthOfMeasurement\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Location\n" + " Depth Of Measurement\n" + " ft \n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:MeasurementFormation\n" + " MeasurementFormation\n" + " String\n" + " \n" + " \n" + " Other\n" + " Measurement Formation\n" + " \n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:RelatedResource\n" + " RelatedResource\n" + " String\n" + " \n" + " \n" + " Other\n" + " Related Resource\n" + " \n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:TimeSinceCirculation\n" + " TimeSinceCirculation\n" + " short\n" + " \n" + " 32767 \n" + " Time\n" + " Time Since Circulation\n" + " ? \n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:OtherName\n" + " OtherName\n" + " String\n" + " \n" + " \n" + " Other\n" + " Other Name\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:LeaseName\n" + " LeaseName\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Lease Name\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:Notes\n" + " Notes\n" + " String\n" + " \n" + " \n" + " Other\n" + " Notes\n" + " \n" + " \n" + "\n"; } public static EDD gettestTableWithDepth() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTableWithDepth()); } private static String xmlFragment_testTableWithDepth() throws URISyntaxException { return "\n" + " 60\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/tao/daily/").toURI()).toString() + "\n" + " false\n" + " airt[0-9].*_dy\\.cdf\n" + " last\n" + " time\n" + " global:site_code time\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " array, station, wmo_platform_code, longitude, latitude\n" + " array, station, wmo_platform_code, longitude, latitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " GTMBA Project Office/NOAA/PMEL\n" + " Dai.C.McClurg@noaa.gov\n" + " https://www.pmel.noaa.gov/gtmba/mission\n" + " \n" + " https://www.pmel.noaa.gov/gtmba/mission\n" + " NOAA PMEL, TAO/TRITON, RAMA, PIRATA\n" + " air, air_temperature\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " \n" + " null\n" + " TAO/TRITON, RAMA, PIRATA\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " This is the summary\n" + " This is EDDTableWithDepth\n" + " \n" + " \n" + " global:array\n" + " array\n" + " String\n" + " \n" + " Identifier\n" + " Array\n" + " \n" + " \n" + " \n" + " global:site_code\n" + " station\n" + " String\n" + " \n" + " \n" + " timeseries_id\n" + " Identifier\n" + " Station\n" + " \n" + " \n" + " \n" + " global:wmo_platform_code\n" + " wmo_platform_code\n" + " int\n" + " \n" + " Identifier\n" + " WMO Platform Code\n" + " 2147483647\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " \n" + " Location\n" + " Nominal Longitude\n" + " longitude\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " \n" + " Location\n" + " Nominal Latitude\n" + " latitude\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " double\n" + " \n" + " \n" + " Time\n" + " Centered Time\n" + " time\n" + " \n" + " \n" + " \n" + " depth\n" + " depth\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " AT_21\n" + " AT_21\n" + " float\n" + " \n" + " \n" + " -10\n" + " 40\n" + " Temperature\n" + " Air Temperature\n" + " air_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " QAT_5021\n" + " QAT_5021\n" + " byte\n" + " \n" + " \n" + " 0\n" + " 6\n" + " false\n" + " Quality: 0=missing data, 1=highest, 2=standard, 3=lower, 4=questionable, 5=bad, -9=contact Dai.C.McClurg@noaa.gov. To get probably valid data only, request QAT_5021>=1 and QAT_5021<=3.\n" + " Quality\n" + " Air Temperature Quality\n" + " \n" + " \n" + " \n" + " SAT_6021\n" + " SAT_6021\n" + " byte\n" + " \n" + " \n" + " 0\n" + " 8\n" + " false\n" + " Source Codes:\n" + "0 = No Sensor, No Data\n" + "1 = Real Time (Telemetered Mode)\n" + "2 = Derived from Real Time\n" + "3 = Temporally Interpolated from Real Time\n" + "4 = Source Code Inactive at Present\n" + "5 = Recovered from Instrument RAM (Delayed Mode)\n" + "6 = Derived from RAM\n" + "7 = Temporally Interpolated from RAM\n" + " Other\n" + " Air Temperature Source\n" + " \n" + " \n" + "\n"; } public static EDD geterdGtsppBest() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdGtsppBest()); } private static String xmlFragment_erdGtsppBest() throws URISyntaxException { return "\n" + " 1000000\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/points/gtsppNcCf/").toURI()) .toString() + "\n" + " false\n" + " .*\\.nc\n" + " last\n" + " time\n" + " time \n" + " \n" + " \n" + " 2022-02-01 csun writeGTSPPnc40.f90 Version 1.8\n" + ".tgz files from ftp.nodc.noaa.gov /pub/data.nodc/gtspp/bestcopy/netcdf (https://www.nodc.noaa.gov/GTSPP/)\n" + "2022-02-10 Most recent ingest, clean, and reformat at ERD (erd.data at noaa.gov).\n" + " erdGtsppBest\n" + " trajectory, org, type, platform, cruise \n" + " \n" + " \n" + " trajectory\n" + " String\n" + " \n" + " \n" + " org\n" + " String\n" + " \n" + " \n" + " type\n" + " String\n" + " \n" + " \n" + " platform\n" + " String\n" + " \n" + " \n" + " cruise\n" + " String\n" + " \n" + " \n" + " station_id\n" + " int\n" + " \n" + " \n" + " longitude\n" + " float\n" + " \n" + " \n" + " latitude\n" + " float\n" + " \n" + " \n" + " time\n" + " double\n" + " \n" + " \n" + " depth\n" + " float\n" + " \n" + " \n" + " temperature\n" + " float\n" + " \n" + " \n" + " salinity\n" + " float\n" + " \n" + "\n"; } public static EDD geterdFedRockfishStation() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdFedRockfishStation()); } private static String xmlFragment_erdFedRockfishStation() throws URISyntaxException { return "\n" + " 15000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/rockfish20130409/").toURI()) .toString() + "\n" + " false\n" + " rockfish_header_.{4}\\.nc\n" + " last\n" + " time\n" + " time\n" + " \n" + " \n" + " Trajectory\n" + " cruise\n" + " cruise,ctd_index,ctd_no,station,time,longitude,latitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " Keith Sakuma\n" + " Keith.Sakuma@noaa.gov\n" + " person\n" + " 2013-04-08 source files from Keith Sakuma (FED) to Lynn Dewitt (ERD) to Bob Simons (ERD)\n" + "2013-04-09 Bob Simons (erd.data@noaa.gov) converted data files for 1987-2011 from .csv to .nc with Projects.convertRockfish().\n" + "2017-02-03 Bob Simons (erd.data@noaa.gov) converted data files for 2012-2015 from xlsx to .nc with Projects.convertRockfish().\n" + " null\n" + " https://www.fisheries.noaa.gov/west-coast/science-data/molecular-ecology-and-genetic-analysis-california-salmon-and-groundfish\n" + " NOAA SWFSC FED\n" + " bottom, bucket, California, coast, cruise, ctd, data, depth, FED, fisheries, fixed, fluorometer, header, hydrographic, index, juvenile, latitude, longitude, midwater, NMFS, NOAA, pacific, rockfish, salinity, species, station, survey, SWFSC, temperature, thermosalinometer, time, transimissometer, trawl\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " \n" + "SWFSC FED Mid Water Trawl Juvenile Rockfish Survey: Station Information and Surface Data.\n" + "Surveys have been conducted along the central California coast in May/June \n" + "every year since 1983. In 2004 the survey area was expanded to cover the \n" + "entire coast from San Diego to Cape Mendocino. The survey samples a series \n" + "of fixed trawl stations using a midwater trawl. The midwater trawl survey \n" + "gear captures significant numbers of approximately 10 rockfish species during\n" + "their pelagic juvenile stage (i.e., 50-150 days old), by which time annual\n" + "reproductive success has been established. Catch-per-unit-effort data from\n" + "the survey are analyzed and serve as the basis for predicting future \n" + "recruitment to rockfish fisheries. Results for several species (e.g., \n" + "bocaccio, chilipepper [S. goodei], and widow rockfish [S. entomelas]) have\n" + "shown that the survey data can be useful in predicting year-class strength\n" + "in age-based stock assessments.\n" + "\n" + "The survey's data on YOY Pacific whiting has also been used in the stock\n" + "assessment process. To assist in obtaining additional northward spatial\n" + "coverage of YOY Pacific whiting off Oregon and Washington, in 2001 the\n" + "Pacific Whiting Conservation Cooperative in cooperation with the NOAA NMFS\n" + "Northwest Fisheries Science Center began a midwater trawl survey patterned\n" + "after the NOAA NMFS SWFSC Fisheries Ecology Division's (FED) existing survey. \n" + "Both surveys work cooperatively together each year in order to resolve \n" + "interannual abundance patterns of YOY rockfish and Pacific whiting on a \n" + "coastwide basis, which provides expedient, critical information that can be \n" + "used in the fisheries management process.\n" + "\n" + "The large quantity of physical data collected during the surveys (e.g., CTD\n" + "with attached transimissometer and fluorometer, thermosalinometer, and ADCP)\n" + "have provided a better understanding of the hydrographic conditions off the\n" + "California coast and analysis of these data have been distributed through the\n" + "publication of NOAA NMFS Technical Memoranda.\n" + "\n" + "For more information, see \n" + "https://www.fisheries.noaa.gov/west-coast/science-data/molecular-ecology-and-genetic-analysis-california-salmon-and-groundfish \n" + "and http://www.sanctuarysimon.org/projects/project_info.php?projectID=100118\n" + " (local files; contact erd.data@noaa.gov)\n" + " CF Standard Name Table v70\n" + " SWFSC FED Mid Water Trawl Juvenile Rockfish Survey, Surface Data, 1987-2015\n" + " \n" + " \n" + " cruise\n" + " String\n" + " \n" + " \n" + " trajectory_id\n" + " The first two digits are the last two digits of the year and the last two are the consecutive cruise number for that particular vessel (01, 02, 03, ...).\n" + " Identifier\n" + " Cruise\n" + " \n" + " \n" + " \n" + " ctd_index\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " 300\n" + " 0\n" + " Identifier\n" + " CTD Index\n" + " \n" + " \n" + " \n" + " ctd_no\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " 7\n" + " 1\n" + " Identifier\n" + " CTD Number\n" + " \n" + " \n" + " \n" + " station\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " 5000\n" + " 0\n" + " Identifier\n" + " Station\n" + " \n" + " \n" + " \n" + " time\n" + " double\n" + " \n" + " \n" + " Time\n" + " Time\n" + " time\n" + " \n" + " \n" + " \n" + " longitude\n" + " float\n" + " \n" + " \n" + " Location\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " float\n" + " \n" + " \n" + " Location\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " bottom_depth\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " 4000\n" + " 0\n" + " Location\n" + " Bottom Depth\n" + " down\n" + " meters\n" + " \n" + " \n" + " \n" + " bucket_temperature\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " Bucket Temperature\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " bucket_salinity\n" + " float\n" + " \n" + " \n" + " 37\n" + " 32\n" + " Salinity\n" + " Bucket Practical Salinity\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " ts_temperature\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " The intake for the water for the thermosalinomter is usually a few meters below the surface.\n" + " Temperature\n" + " Thermosalinomter Temperature\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " ts_salinity\n" + " float\n" + " \n" + " \n" + " 37\n" + " 32\n" + " The intake for the water for the thermosalinomter is usually a few meters below the surface.\n" + " Salinity\n" + " Thermosalinomter Practical Salinity\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + "\n"; } public static EDD gettestSimpleTestNcTable() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testSimpleTestNcTable()); } private static String xmlFragment_testSimpleTestNcTable() throws URISyntaxException { return "\n" + " 90\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/").toURI()).toString() + "\n" + " false\n" + " simpleTest\\.nc\n" + " last\n" + " false\n" + " \n" + " \n" + " Point\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " ???\n" + " NOAA NMFS SWFSC ERD\n" + " data, local, longs, source, strings\n" + " [standard]\n" + " null\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " My summary.\n" + " My Title\n" + " \n" + " \n" + " days\n" + " time\n" + " byte\n" + " \n" + " Unknown\n" + " 1970-01-01\n" + " \n" + " \n" + " \n" + " hours\n" + " byte\n" + " \n" + " Unknown\n" + " 1970-01-01T00Z\n" + " \n" + " \n" + " \n" + " minutes\n" + " byte\n" + " \n" + " Unknown\n" + " 1970-01-01T00:00Z\n" + " \n" + " \n" + " \n" + " seconds\n" + " byte\n" + " \n" + " Unknown\n" + " not valid\n" + " \n" + " \n" + " \n" + " millis\n" + " byte\n" + " \n" + " Unknown\n" + " 1970-01-01T00:00:00.000Z\n" + " \n" + " \n" + " \n" + " bytes\n" + " latitude\n" + " byte\n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " shorts\n" + " longitude\n" + " short\n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " ints\n" + " int\n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " floats\n" + " float\n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " \n" + " doubles\n" + " double\n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " Strings\n" + " String\n" + " \n" + " Unknown\n" + " \n" + " \n" + "\n"; } public static EDD gettestTimeAxis() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTimeAxis()); } private static String xmlFragment_testTimeAxis() throws URISyntaxException { return "\n" + " 10080\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/lisirdTss/").toURI()).toString() + "\n" + " true\n" + " historical_tsi\\.csv\n" + " last\n" + " 1\n" + " 2\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " http://lasp.colorado.edu/lisird/\n" + " LISIRD\n" + " data, historical, interactive, irradiance, LASP, local, reconstruction, solar, source, time, total, tsi\n" + " [standard]\n" + " null\n" + " http://lasp.colorado.edu/lisird/tss/historical_tsi.html\n" + " CF Standard Name Table v70\n" + " [The summary of testTimeAxis]\n" + " Historical Total Solar Irradiance Reconstruction -- testTimeAxis\n" + " \n" + " \n" + " time (years since 0000-01-01)\n" + " time\n" + " float\n" + " \n" + " \n" + " Time\n" + " Year\n" + " time\n" + " P1Y\n" + " 1\n" + " 1970-01-01T00:00:00.000Z\n" + " years since 0000-01-01\n" + " \n" + " \n" + " \n" + " Irradiance (W/m^2)\n" + " irradiance\n" + " double\n" + " \n" + " \n" + " 1360\n" + " 1362\n" + " Optical Properties\n" + " Total Solar Irradiance\n" + " W/m^2\n" + " 4\n" + " \n" + " \n" + "\n"; } public static EDD geterdGtsppBestNc() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdGtsppBestNc()); } private static String xmlFragment_erdGtsppBestNc() throws URISyntaxException { return "\n" + " 1000000\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/gtspp/bestNcConsolidated/").toURI()) .toString() + "\n" + " true\n" + " .*\\.nc\n" + " 1\n" + " last\n" + " time\n" + " time trajectory\n" + " \n" + " \n" + " TrajectoryProfile\n" + " depth\n" + " trajectory, org, type, platform, cruise\n" + " station_id, longitude, latitude, time\n" + " trajectory, org, type, platform, cruise\n" + " EPSG:4326\n" + " COARDS, WOCE, GTSPP, CF-1.6, ACDD-1.3\n" + " NOAA NESDIS NODC (IN295)\n" + " https://www.nodc.noaa.gov/GTSPP/\n" + " nodc.gtspp@noaa.gov \n" + " longitude,latitude,station_id&time%3E=max(time)-7days&time%3C=max(time)&.draw=markers&.marker=10|5\n" + " The GTSPP Continuously Managed Data Base\n" + " 1.8 \n" + " \n" + " 2022-02-01 csun writeGTSPPnc40.f90 Version 1.8\n" + ".tgz files from ftp.nodc.noaa.gov /pub/data.nodc/gtspp/bestcopy/netcdf (https://www.nodc.noaa.gov/GTSPP/)\n" + "2022-02-10 Most recent ingest, clean, and reformat at ERD (erd.data at noaa.gov).\n" + " erdGtsppBest\n" + " https://www.nodc.noaa.gov/GTSPP/\n" + " NOAA NODC\n" + " \n" + "Oceans > Ocean Temperature > Water Temperature,\n" + "Oceans > Salinity/Density > Salinity,\n" + "cruise, data, density, depth, global, gtspp, identifier, noaa, nodc, observation, ocean, oceans, organization, profile, program, salinity, sea, sea_water_practical_salinity, sea_water_temperature, seawater, station, temperature, temperature-salinity, time, type, water\n" + " NODC Data Types, CF Standard Names, GCMD Science Keywords\n" + " NODC_GTSPP\n" + " null\n" + " gov.noaa.nodc\n" + " Joint IODE/JCOMM Global Temperature-Salinity Profile Programme\n" + " https://www.nodc.noaa.gov/GTSPP/\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " \n" + " The Global Temperature-Salinity Profile Programme (GTSPP) develops and maintains a global ocean temperature and salinity resource with data that are both up-to-date and of the highest quality. It is a joint World Meteorological Organization (WMO) and Intergovernmental Oceanographic Commission (IOC) program. It includes data from XBTs, CTDs, moored and drifting buoys, and PALACE floats. For information about organizations contributing data to GTSPP, see http://gosic.org/goos/GTSPP-data-flow.htm . The U.S. National Oceanographic Data Center (NODC) maintains the GTSPP Continuously Managed Data Base and releases new 'best-copy' data once per month.\n" + "\n" + "WARNING: This dataset has a *lot* of data. If you request too much data, your request will fail.\n" + "* If you don't specify a longitude and latitude bounding box, don't request more than a month's data at a time.\n" + "* If you do specify a longitude and latitude bounding box, you can request data for a proportionally longer time period.\n" + "Requesting data for a specific station_id may be slow, but it works.\n" + "\n" + "*** This ERDDAP dataset has data for the entire world for all available times (currently, up to and including the January 2022 data) but is a subset of the original NODC 'best-copy' data. It only includes data where the quality flags indicate the data is 1=CORRECT, 2=PROBABLY GOOD, or 5=MODIFIED. It does not include some of the metadata, any of the history data, or any of the quality flag data of the original dataset. You can always get the complete, up-to-date dataset (and additional, near-real-time data) from the source: https://www.nodc.noaa.gov/GTSPP/ . Specific differences are:\n" + "* Profiles with a position_quality_flag or a time_quality_flag other than 1|2|5 were removed.\n" + "* Rows with a depth (z) value less than -0.4 or greater than 10000 or a z_variable_quality_flag other than 1|2|5 were removed.\n" + "* Temperature values less than -4 or greater than 40 or with a temperature_quality_flag other than 1|2|5 were set to NaN.\n" + "* Salinity values less than 0 or greater than 41 or with a salinity_quality_flag other than 1|2|5 were set to NaN.\n" + "* Time values were converted from \"days since 1900-01-01 00:00:00\" to \"seconds since 1970-01-01T00:00:00\".\n" + "\n" + "See the Quality Flag definitions on page 5 and \"Table 2.1: Global Impossible Parameter Values\" on page 61 of\n" + "https://www.nodc.noaa.gov/GTSPP/document/qcmans/GTSPP_RT_QC_Manual_20090916.pdf .\n" + "The Quality Flag definitions are also at\n" + "https://www.nodc.noaa.gov/GTSPP/document/qcmans/qcflags.htm .\n" + "\n" + " now-45days\n" + " Global Temperature and Salinity Profile Programme (GTSPP) Data, 1985-present\n" + " \n" + " \n" + " trajectory\n" + " String\n" + " \n" + " Identifier\n" + " Trajectory ID\n" + " trajectory_id\n" + " Constructed from org_type_platform_cruise\n" + " \n" + " \n" + " \n" + " org\n" + " String\n" + " \n" + " Identifier\n" + " Organization\n" + " From the first 2 characters of stream_ident:\n" + "Code Meaning\n" + "AD Australian Oceanographic Data Centre\n" + "AF Argentina Fisheries (Fisheries Research and Development National Institute (INIDEP), Mar del Plata, Argentina\n" + "AO Atlantic Oceanographic and Meteorological Lab\n" + "AP Asia-Pacific (International Pacific Research Center/ Asia-Pacific Data-Research Center)\n" + "BI BIO Bedford institute of Oceanography\n" + "CF Canadian Navy\n" + "CS CSIRO in Australia\n" + "DA Dalhousie University\n" + "FN FNOC in Monterey, California\n" + "FR Orstom, Brest\n" + "FW Fresh Water Institute (Winnipeg)\n" + "GE BSH, Germany\n" + "IC ICES\n" + "II IIP\n" + "IK Institut fur Meereskunde, Kiel\n" + "IM IML\n" + "IO IOS in Pat Bay, BC\n" + "JA Japanese Meteorologocal Agency\n" + "JF Japan Fisheries Agency\n" + "ME EDS\n" + "MO Moncton\n" + "MU Memorial University\n" + "NA NAFC\n" + "NO NODC (Washington)\n" + "NW US National Weather Service\n" + "OD Old Dominion Univ, USA\n" + "RU Russian Federation\n" + "SA St Andrews\n" + "SI Scripps Institute of Oceanography\n" + "SO Southampton Oceanographic Centre, UK\n" + "TC TOGA Subsurface Data Centre (France)\n" + "TI Tiberon lab US\n" + "UB University of BC\n" + "UQ University of Quebec at Rimouski\n" + "VL Far Eastern Regional Hydromet. Res. Inst. of V\n" + "WH Woods Hole\n" + "\n" + "from https://www.nodc.noaa.gov/GTSPP/document/codetbls/gtsppcode.html#ref006\n" + "\n" + " \n" + " \n" + " \n" + " type\n" + " String\n" + " \n" + " Identifier\n" + " Data Type\n" + " From the 3rd and 4th characters of stream_ident:\n" + "Code Meaning\n" + "AR Animal mounted recorder\n" + "BA BATHY message\n" + "BF Undulating Oceanographic Recorder (e.g. Batfish CTD)\n" + "BO Bottle\n" + "BT general BT data\n" + "CD CTD down trace\n" + "CT CTD data, up or down\n" + "CU CTD up trace\n" + "DB Drifting buoy\n" + "DD Delayed mode drifting buoy data\n" + "DM Delayed mode version from originator\n" + "DT Digital BT\n" + "IC Ice core\n" + "ID Interpolated drifting buoy data\n" + "IN Ship intake samples\n" + "MB MBT\n" + "MC CTD and bottle data are mixed for the station\n" + "MI Data from a mixed set of instruments\n" + "ML Minilog\n" + "OF Real-time oxygen and fluorescence\n" + "PF Profiling float\n" + "RM Radio message\n" + "RQ Radio message with scientific QC\n" + "SC Sediment core\n" + "SG Thermosalinograph data\n" + "ST STD data\n" + "SV Sound velocity probe\n" + "TE TESAC message\n" + "TG Thermograph data\n" + "TK TRACKOB message\n" + "TO Towed CTD\n" + "TR Thermistor chain\n" + "XB XBT\n" + "XC Expendable CTD\n" + "\n" + "from https://www.nodc.noaa.gov/GTSPP/document/codetbls/gtsppcode.html#ref082\n" + "\n" + " \n" + " \n" + " \n" + " platform\n" + " String\n" + " \n" + " Identifier\n" + " GTSPP Platform Code\n" + " See the list of platform codes (sorted in various ways) at https://www.nodc.noaa.gov/GTSPP/document/codetbls/calllist.html\n" + " https://www.nodc.noaa.gov/gtspp/document/codetbls/callist.html\n" + " \n" + " \n" + " \n" + " cruise\n" + " String\n" + " \n" + " Identifier\n" + " Cruise_ID\n" + " Radio callsign + year for real time data, or NODC reference number for delayed mode data. See\n" + "https://www.nodc.noaa.gov/GTSPP/document/codetbls/calllist.html .\n" + "'X' indicates a missing value.\n" + "Two or more adjacent spaces in the original cruise names have been compacted to 1 space.\n" + " \n" + " \n" + " \n" + " station_id\n" + " station_id\n" + " int\n" + " \n" + " Identifier\n" + " Station ID Number\n" + " profile_id\n" + " Identification number of the station (profile) in the GTSPP Continuously Managed Database\n" + " 2147483647\n" + " 2147483647\n" + " \n" + " \n" + " \n" + " longitude\n" + " longitude\n" + " float\n" + " \n" + " %9.4f\n" + " 502\n" + " F9.4\n" + " 180.0\n" + " -180.0\n" + " 180.0\n" + " -180.0\n" + " Location\n" + " Longitude\n" + " longitude\n" + " degrees_east\n" + " NaN\n" + " NaN\n" + " \n" + " \n" + " \n" + " latitude\n" + " latitude\n" + " float\n" + " \n" + " %8.4f\n" + " 500\n" + " F8.4\n" + " 90.0\n" + " -90.0\n" + " 90.0\n" + " -90.0\n" + " Location\n" + " Latitude\n" + " latitude\n" + " degrees_north\n" + " NaN\n" + " NaN\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " double\n" + " \n" + " Time\n" + " time\n" + " NaN\n" + " NaN\n" + " \n" + " \n" + " \n" + " depth\n" + " depth\n" + " float\n" + " \n" + " Z\n" + " %6.2f\n" + " 3\n" + " F6.2\n" + " Depth of the Observations\n" + " depth\n" + " down\n" + " 5000\n" + " 0\n" + " Location\n" + " m\n" + " NaN\n" + " NaN\n" + " \n" + " \n" + " \n" + " temperature\n" + " temperature\n" + " float\n" + " \n" + " %9.4f\n" + " 28\n" + " F9.4\n" + " time latitude longitude depth\n" + " time: point longitude: point latitude: point depth: point\n" + " 0.0\n" + " 32.0\n" + " Temperature\n" + " Sea Water Temperature\n" + " sea_water_temperature\n" + " degree_C\n" + " NaN\n" + " NaN\n" + " \n" + " \n" + " \n" + " salinity\n" + " salinity\n" + " float\n" + " \n" + " %9.4f\n" + " 41\n" + " F9.4\n" + " time latitude longitude depth\n" + " time: point longitude: point latitude: point depth: point\n" + " 32.0\n" + " 37.0\n" + " Salinity\n" + " Practical Salinity\n" + " sea_water_practical_salinity\n" + " PSU\n" + " PSU\n" + " NaN\n" + " NaN\n" + " \n" + " \n" + "\n"; } public static EDD geterdNph() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdNph()); } private static String xmlFragment_erdNph() throws URISyntaxException { return "\n" + " 15000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/isaac/").toURI()).toString() + "\n" + " false\n" + " NPH_IDS\\.nc\n" + " last\n" + " time\n" + " time\n" + " false\n" + " time,year,month,longitude,latitude,area,maxSLP\n" + " longitude,latitude,month&.draw=markers\n" + " \n" + " \n" + " Point\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erdNph\n" + " https://onlinelibrary.wiley.com/doi/10.1002/grl.50100/abstract\n" + " NOAA ERD\n" + " area, areal, california, ccs, center, centered, contour, current, data, extent, high, hpa, level, maximum, month, north, nph, pacific, pressure, sea, system, time, year\n" + " [standard]\n" + " null\n" + " Schroeder, Isaac D., Bryan A. Black, William J. Sydeman, Steven J. Bograd, Elliott L. Hazen, Jarrod A. Santora, and Brian K. Wells. \"The North Pacific High and wintertime pre-conditioning of California current productivity\", Geophys. Res. Letters, VOL. 40, 541-546, doi:10.1002/grl.50100, 2013\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " time, year, month\n" + " Variations in large-scale atmospheric forcing influence upwelling dynamics and ecosystem productivity in the California Current System (CCS). In this paper, we characterize interannual variability of the North Pacific High over 40 years and investigate how variation in its amplitude and position affect upwelling and biology. We develop a winter upwelling \"pre-conditioning\" index and demonstrate its utility to understanding biological processes. Variation in the winter NPH can be well described by its areal extent and maximum pressure, which in turn is predictive of winter upwelling. Our winter pre-conditioning index explained 64% of the variation in biological responses (fish and seabirds). Understanding characteristics of the NPH in winter is therefore critical to predicting biological responses in the CCS.\n" + " North Pacific High, 1967 - 2014\n" + " \n" + " \n" + " time\n" + " time\n" + " double\n" + " \n" + " \n" + " Time\n" + " time\n" + " 1970-01-01\n" + " \n" + " \n" + " \n" + " year\n" + " year\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Time\n" + " \n" + " \n" + " \n" + " month\n" + " month\n" + " byte\n" + " \n" + " \n" + " 127 \n" + " Time\n" + " \n" + " \n" + " longitude\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " longitude\n" + " \n" + " \n" + " \n" + " latitude\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " latitude\n" + " \n" + " \n" + " \n" + " area\n" + " area\n" + " float\n" + " \n" + " \n" + " Pressure\n" + " \n" + " \n" + " \n" + " maxSLP\n" + " maxSLP\n" + " float\n" + " \n" + " \n" + " Pressure\n" + " \n" + " \n" + "\n"; } public static EDD gettestTimePrecisionMillisTable() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTimePrecisionMillisTable()); } private static String xmlFragment_testTimePrecisionMillisTable() throws URISyntaxException { return "\n" + " 1\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/dominic2/").toURI()).toString() + "\n" + " false\n" + " .*\\.nc\n" + " \n" + " Other\n" + " http://www.goes.noaa.gov/\n" + " (local files)\n" + " \n" + " \n" + " OB_time\n" + " time\n" + " double\n" + " \n" + " Time\n" + " 1970-01-01T00:00:00.000Z\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " ECEF_X\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " IB_time\n" + " double\n" + " \n" + " Other\n" + " 1970-01-01T00:00:00.000Z\n" + " seconds since 1980-01-01T00:00:00Z\n" + " \n" + " \n" + "\n"; } public static EDD getLiquidR_HBG3_2015_weather() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_LiquidR_HBG3_2015_weather()); } private static String xmlFragment_LiquidR_HBG3_2015_weather() throws URISyntaxException { return "\n" + " 1440\n" + " longitude,latitude,temperature&time>=now-7days&time<=now&.draw=markers&.marker=10|5\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/LiquidR_HBG3_2015/").toURI()) .toString() + "\n" + " false\n" + " weather.*\\.csv\n" + " last\n" + " ISO-8859-1\n" + " 1\n" + " 2\n" + " \n" + " \n" + " \n" + " \n" + " datetime\n" + " datetime\n" + " false\n" + " \n" + " Trajectory\n" + " vehicleName, weather, feed_version\n" + " vehicleName, weather, feed_version\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " Liquid Robotics\n" + " sotiria.lampoudi@liquidr.com\n" + " provided the glider time and all operational support\n" + " http://liquidr.com/\n" + " Tracy Villareal\n" + " tracyv@austin.utexas.edu\n" + " person\n" + " https://www.utmsi.utexas.edu/component/cobalt/item/9-marine-science/330-villareal-tracy-a?Itemid=550\n" + " A script frequently retrieves new data from Liquid Robotics' Data Portal and stores it in a file at NOAA NMFS SWFSC ERD. (erd.data at noaa.gov)\n" + " https://oceanview.pfeg.noaa.gov/MAGI/\n" + " Liquid Robotics, UT Austin, NOAA NMFS SWFSC ERD\n" + " atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "atmospheric, avg_wind_direction, avg_wind_speed, bar, data, datetime, direction, feed, feed_version, latitude, local, longitude, meteorology, name, pressure, source, speed, std_dev_wind_direction, std_dev_wind_speed, surface, temperature, time, vehicle, vehicleName, version, weather, wind, wind_from_direction, wind_speed, winds, liquid, robotics, liquid robotics, wave, glider, wave glider, Honey Badger, 2015, MAGI, chlorophyll, bloom, phytoplankton, nitrogen-fixing, diatom\n" + " GCMD Science Keywords\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " Liquid Robotics Wave Glider, Honey Badger (G3), 2015, Weather. The MAGI mission is to use the Wave Glider to sample the late summer chlorophyll bloom that develops near 30°N, with the goal of using the camera and LISST-Holo to try to identify species in the blooms and then follow the development of phytoplankton aggregates. These aggregates have recently been shown to be a significant part of the total amount of carbon that sinks to the deep sea. Karl et al (2012) found that in each of the past 13 years, there was a flux of material to 4,000 m (the summer export pulse) that represented ~20% of the total annual flux. Work based on satellite ocean color data over the past decade has revealed the existence of large phytoplankton blooms in the Pacific Ocean that cover thousands of km2, persist for weeks or longer, and are often dominated by nitrogen-fixing diatom symbioses (Wilson et al. 2008). We hope to be able to examine whether this aggregation is occurring in the vast oceanic regions north and east of Hawai'i and provide a basin-scale context for the ALOHA observations. These events have proven difficult to study outside of the time series station ALOHA at Hawai'i.\n" + " Liquid Robotics Wave Glider, Honey Badger (G3), 2015, Weather\n" + " \n" + " \n" + " vehicleName\n" + " vehicleName\n" + " String\n" + " \n" + " \n" + " trajectory_id\n" + " Identifier\n" + " Vehicle Name\n" + " \n" + " \n" + " \n" + " weather*\n" + " weather\n" + " String\n" + " \n" + " \n" + " Meteorology\n" + " Weather\n" + " \n" + " \n" + " \n" + " feed_version\n" + " feed_version\n" + " float\n" + " \n" + " \n" + " Other\n" + " Feed Version\n" + " \n" + " \n" + " \n" + " datetime\n" + " time\n" + " String\n" + " \n" + " \n" + " Time\n" + " Datetime\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " \n" + " \n" + " latitude (decimal degrees)\n" + " latitude\n" + " double\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " Latitude\n" + " 0.0\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " longitude (decimal degrees)\n" + " longitude\n" + " double\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " Longitude\n" + " 0.0\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " temperature (C)\n" + " temperature\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " Temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " pressure (mBar)\n" + " pressure\n" + " float\n" + " \n" + " \n" + " 950\n" + " 1050\n" + " Pressure\n" + " Pressure\n" + " mBar\n" + " \n" + " \n" + " \n" + " avg_wind_speed (kt)\n" + " avg_wind_speed\n" + " float\n" + " \n" + " \n" + " 15.0\n" + " 0.0\n" + " Wind\n" + " Wind Speed\n" + " wind_speed\n" + " knots\n" + " \n" + " \n" + " \n" + " std_dev_wind_speed (kt)\n" + " std_dev_wind_speed\n" + " float\n" + " \n" + " \n" + " 15.0\n" + " 0.0\n" + " Wind\n" + " Wind Speed\n" + " wind_speed\n" + " knots\n" + " \n" + " \n" + " \n" + " avg_wind_direction (degrees T)\n" + " avg_wind_direction\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " Wind\n" + " Wind From Direction\n" + " wind_from_direction\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " std_dev_wind_direction (degrees T)\n" + " std_dev_wind_direction\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " Wind\n" + " Wind From Direction\n" + " wind_from_direction\n" + " degrees_true\n" + " \n" + " \n" + "\n"; } public static EDD gettestPrecision() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testPrecision()); } private static String xmlFragment_testPrecision() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/pacioos/").toURI()).toString() + "\n" + " wqb04_.*\\.nc\n" + " false\n" + " .*\n" + " last\n" + " false\n" + " time\n" + " time,temperature&time>=max(time)-3days&.draw=lines\n" + " time,temperature,salinity,turbidity,chlorophyll,oxygen,oxygen_saturation&time>=max(time)-3days\n" + " \n" + " \n" + " 2013-05-12\n" + " 2013-05-12\n" + " 2019-04-29\n" + " 2019-04-29\n" + " \n" + " \n" + " http://pacioos.org/water/wqbuoy-hilo/\n" + " http://pacioos.org\n" + " station_name, longitude, latitude, depth\n" + " now-90minutes\n" + " \n" + " \n" + " time\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " latitude\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " longitude\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " depth\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " station_name\n" + " int\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " \n" + " temperature\n" + " float\n" + " \n" + " Other\n" + " null\n" + " null\n" + " \n" + " \n" + " \n" + " salinity\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " turbidity\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " chlorophyll\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " oxygen\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " oxygen_saturation\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " ph\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " temperature_raw\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " temperature_dm_qd\n" + " int\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " salinity_raw\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " salinity_dm_qd\n" + " int\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " turbidity_raw\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " turbidity_dm_qd\n" + " int\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " chlorophyll_raw\n" + " float\n" + " \n" + " \n" + " chlorophyll_dm_qd\n" + " int\n" + " \n" + " \n" + " oxygen_raw\n" + " float\n" + " \n" + " \n" + " oxygen_dm_qd\n" + " int\n" + " \n" + " \n" + " oxygen_saturation_raw\n" + " float\n" + " \n" + " \n" + " oxygen_saturation_dm_qd\n" + " int\n" + " \n" + " \n" + " ph_raw\n" + " float\n" + " \n" + " \n" + " ph_dm_qd\n" + " int\n" + " \n" + " \n"; } public static EDD geterdCAMarCatSY() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdCAMarCatSY()); } private static String xmlFragment_erdCAMarCatSY() throws URISyntaxException { return "\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/erdCAMarCatSY/").toURI()) .toString() + "\n" + " true\n" + " .*\\.nc\n" + " last\n" + " time\n" + " fish port\n" + " \n" + " Other\n" + " time, year, fish, port, landings\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " California Department of Fish and Game\n" + " institution\n" + " http://www.dfg.ca.gov/\n" + " null\n" + " https://oceanview.pfeg.noaa.gov/las_fish1/doc/names_describe.html\n" + " CA DFG, NOAA ERD\n" + " \n" + "Earth Science > Biological Classification > Animals/Vertebrates > Fish,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "Earth Science > Oceans > Aquatic Sciences > Fisheries,\n" + "abundance, animals, aquatic, biological, biosphere, california, catch, centered, classification, coastal, dfg, ecosystems, erd, fish, fish abundance, fish species, fisheries, habitat, identifier, landings, list, marine, market, name, noaa, oceans, port, sciences, short, species, time, vertebrates, year, yearly\n" + " GCMD Science Keywords\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " Janet Mason, NOAA/NMFS/SWFSC Environmental Research Division\n" + " https://www.pfeg.noaa.gov\n" + " Janet.Mason@noaa.gov\n" + " https://oceanview.pfeg.noaa.gov/thredds/dodsC/CA_market_catch/ca_fish_grouped_short.nc\n" + " CF Standard Name Table v70\n" + " Database of fish and invertebrates caught off California and landed in California, including commercial freshwater catches in California through but not after 1971 and some maricultured shellfish such as oysters through 1980. For more information, see\n" + "https://oceanview.pfeg.noaa.gov/las_fish1/doc/names_describe.html and\n" + "https://oceanview.pfeg.noaa.gov/las_fish1/doc/marketlist.html .\n" + "\n" + "This dataset has the sums of the monthly values for each calendar year.\n" + "\n" + " California Fish Market Catch Landings, Short List, 1928-2002, Yearly\n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " double\n" + " \n" + " Centered Time\n" + " \n" + " \n" + " \n" + " year\n" + " short\n" + " \n" + " 32767 \n" + " Time\n" + " Year\n" + " \n" + " \n" + " \n" + " fish\n" + " String\n" + " \n" + " Fish Species\n" + " \n" + " \n" + " \n" + " port\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " landings\n" + " int\n" + " \n" + " Fish Abundance\n" + " \n" + " \n" + "\n"; } public static EDD geterdCAMarCatSM() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdCAMarCatSM()); } private static String xmlFragment_erdCAMarCatSM() throws URISyntaxException { return "\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/erdCAMarCatSM/").toURI()) .toString() + "\n" + " true\n" + " .*\\.nc\n" + " last\n" + " time\n" + " fish port\n" + " \n" + " Other\n" + " time, year, fish, port, landings\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " California Department of Fish and Game\n" + " institution\n" + " http://www.dfg.ca.gov/\n" + " null\n" + " https://oceanview.pfeg.noaa.gov/las_fish1/doc/names_describe.html\n" + " CA DFG, NOAA ERD\n" + " \n" + "Earth Science > Biological Classification > Animals/Vertebrates > Fish,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "Earth Science > Oceans > Aquatic Sciences > Fisheries,\n" + "abundance, animals, aquatic, biological, biosphere, california, catch, centered, classification, coastal, dfg, ecosystems, erd, fish, fish abundance, fish species, fisheries, habitat, identifier, landings, list, marine, market, monthly, name, noaa, oceans, port, sciences, short, species, time, vertebrates, year\n" + " GCMD Science Keywords\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " Janet Mason, NOAA/NMFS/SWFSC Environmental Research Division\n" + " https://www.pfeg.noaa.gov\n" + " Janet.Mason@noaa.gov\n" + " https://oceanview.pfeg.noaa.gov/thredds/dodsC/CA_market_catch/ca_fish_grouped_short.nc\n" + " CF Standard Name Table v70\n" + " Database of fish and invertebrates caught off California and landed in California, including commercial freshwater catches in California through but not after 1971 and some maricultured shellfish such as oysters through 1980. For more information, see\n" + "https://oceanview.pfeg.noaa.gov/las_fish1/doc/names_describe.html and\n" + "https://oceanview.pfeg.noaa.gov/las_fish1/doc/marketlist.html .\n" + " California Fish Market Catch Landings, Short List, 1928-2002, Monthly\n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " double\n" + " \n" + " Centered Time\n" + " \n" + " \n" + " \n" + " \n" + " year\n" + " short\n" + " \n" + " 32767 \n" + " Time\n" + " Year\n" + " \n" + " \n" + " \n" + " fish\n" + " String\n" + " \n" + " Fish Species\n" + " \n" + " \n" + " \n" + " port\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " landings\n" + " int\n" + " \n" + " Fish Abundance\n" + " \n" + " \n" + "\n"; } public static EDD geterdCAMarCatLM() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdCAMarCatLM()); } private static String xmlFragment_erdCAMarCatLM() throws URISyntaxException { return "\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/erdCAMarCatLM/").toURI()) .toString() + "\n" + " true\n" + " .*\\.nc\n" + " last\n" + " time\n" + " fish port\n" + " \n" + " Other\n" + " fish, port\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " California Department of Fish and Game\n" + " institution\n" + " http://www.dfg.ca.gov/\n" + " null\n" + " https://oceanview.pfeg.noaa.gov/las_fish1/doc/names_describe.html\n" + " CA DFG, NOAA ERD\n" + " \n" + "Earth Science > Biological Classification > Animals/Vertebrates > Fish,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "Earth Science > Oceans > Aquatic Sciences > Fisheries,\n" + "abundance, animals, aquatic, biological, biosphere, california, catch, centered, classification, coastal, dfg, ecosystems, erd, fish, fish abundance, fish species, fisheries, habitat, identifier, landings, list, long, marine, market, monthly, name, noaa, oceans, port, sciences, species, time, vertebrates, year\n" + " GCMD Science Keywords\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " Janet Mason, NOAA/NMFS/SWFSC Environmental Research Division\n" + " https://www.pfeg.noaa.gov\n" + " Janet.Mason@noaa.gov\n" + " https://oceanview.pfeg.noaa.gov/thredds/dodsC/CA_market_catch/ca_fish_grouped.nc\n" + " CF Standard Name Table v70\n" + " Database of fish and invertebrates caught off California and landed in California, including commercial freshwater catches in California through but not after 1971 and some maricultured shellfish such as oysters through 1980. For more information, see\n" + "https://oceanview.pfeg.noaa.gov/las_fish1/doc/names_describe.html and\n" + "https://oceanview.pfeg.noaa.gov/las_fish1/doc/marketlist.html .\n" + " California Fish Market Catch Landings, Long List, 1928-2002, Monthly\n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " double\n" + " \n" + " Centered Time\n" + " \n" + " \n" + " \n" + " year\n" + " short\n" + " \n" + " 32767 \n" + " Time\n" + " Year\n" + " \n" + " \n" + " \n" + " fish\n" + " String\n" + " \n" + " Fish Species\n" + " \n" + " \n" + " \n" + " port\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " landings\n" + " int\n" + " \n" + " Fish Abundance\n" + " \n" + " \n" + "\n"; } public static EDD geterdCAMarCatLY() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdCAMarCatLY()); } private static String xmlFragment_erdCAMarCatLY() throws URISyntaxException { return "\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/erdCAMarCatLY/").toURI()) .toString() + "\n" + " true\n" + " .*\\.nc\n" + " last\n" + " time\n" + " fish port\n" + " \n" + " Other\n" + " time, year, fish, port, landings\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " California Department of Fish and Game\n" + " institution\n" + " http://www.dfg.ca.gov/\n" + " null\n" + " https://oceanview.pfeg.noaa.gov/las_fish1/doc/names_describe.html\n" + " \n" + "Earth Science > Biological Classification > Animals/Vertebrates > Fish,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "Earth Science > Oceans > Aquatic Sciences > Fisheries,\n" + "abundance, animals, aquatic, biological, biosphere, california, catch, centered, classification, coastal, dfg, ecosystems, erd, fish, fish abundance, fish species, fisheries, habitat, identifier, landings, list, long, marine, market, name, noaa, oceans, port, sciences, species, time, vertebrates, year, yearly\n" + " GCMD Science Keywords\n" + " CA DFG, NOAA ERD\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " Janet Mason, NOAA/NMFS/SWFSC Environmental Research Division\n" + " https://www.pfeg.noaa.gov\n" + " Janet.Mason@noaa.gov\n" + " https://oceanview.pfeg.noaa.gov/thredds/dodsC/CA_market_catch/ca_fish_grouped.nc\n" + " CF Standard Name Table v70\n" + " Database of fish and invertebrates caught off California and landed in California, including commercial freshwater catches in California through but not after 1971 and some maricultured shellfish such as oysters through 1980. For more information, see\n" + "https://oceanview.pfeg.noaa.gov/las_fish1/doc/names_describe.html and\n" + "https://oceanview.pfeg.noaa.gov/las_fish1/doc/marketlist.html .\n" + "\n" + "This dataset has the sums of the monthly values for each calendar year.\n" + "\n" + " California Fish Market Catch Landings, Long List, 1928-2002, Yearly\n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " double\n" + " \n" + " Centered Time\n" + " \n" + " \n" + " \n" + " year\n" + " short\n" + " \n" + " 32767 \n" + " Time\n" + " Year\n" + " \n" + " \n" + " \n" + " fish\n" + " String\n" + " \n" + " Fish Species\n" + " \n" + " \n" + " \n" + " port\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " landings\n" + " int\n" + " \n" + " Fish Abundance\n" + " \n" + " \n" + "\n"; } public static EDD getnwioosCoral() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nwioosCoral()); } private static String xmlFragment_nwioosCoral() { return " \n" + " http://nwioos.coas.oregonstate.edu:8080/dods/drds/Coral%201980-2005\n" + " CORAL_1980_2005\n" + " \n" + " \n" + " \n" + " NWFSC Coral Data Collected off West Coast of US (1980-2005)\n" + " \n" + "This data contains the locations of some observations of\n" + "cold-water/deep-sea corals off the west coast of the United States.\n" + "Records of coral catch originate from bottom trawl surveys conducted\n" + "from 1980 to 2001 by the Alaska Fisheries Science Center (AFSC) and\n" + "2001 to 2005 by the Northwest Fisheries Science Center (NWFSC).\n" + "Locational information represent the vessel mid positions (for AFSC\n" + "survey trawls) or \"best position\" (i.e., priority order: 1) gear\n" + "midpoint 2) vessel midpoint, 3) vessel start point, 4) vessel end\n" + "point, 5) station coordinates for NWFSC survey trawls) conducted as\n" + "part of regular surveys of groundfish off the coasts of Washington,\n" + "Oregon and California by NOAA Fisheries. Only records where corals\n" + "were identified in the total catch are included. Each catch sample\n" + "of coral was identified down to the most specific taxonomic level\n" + "possible by the biologists onboard, therefore identification was\n" + "dependent on their expertise. When positive identification was not\n" + "possible, samples were sometimes archived for future identification\n" + "by systematist experts. Data were compiled by the NWFSC, Fishery\n" + "Resource Analysis & Monitoring Division\n" + "\n" + "Purpose - Examination of the spatial and temporal distributions of\n" + "observations of cold-water/deep-sea corals off the west coast of the\n" + "United States, including waters off the states of Washington, Oregon,\n" + "and California. It is important to note that these records represent\n" + "only presence of corals in the area swept by the trawl gear. Since\n" + "bottom trawls used during these surveys are not designed to sample\n" + "epibenthic invertebrates, absence of corals in the catch does not\n" + "necessary mean they do not occupy the area swept by the trawl gear.\n" + "\n" + "Data Credits - NOAA Fisheries, Alaska Fisheries Science Center,\n" + "Resource Assessment & Conservation Engineering Division (RACE) NOAA\n" + "Fisheries, Northwest Fisheries Science Center, Fishery Resource\n" + "Analysis & Monitoring Division (FRAM)\n" + "\n" + "Contact: Curt Whitmire, NOAA NWFSC, Curt.Whitmire@noaa.gov\n" + "\n" + " NOAA NWFSC\n" + " http://nwioos.coas.oregonstate.edu:8080/dods/drds/Coral%201980-2005.info\n" + " \n" + "Earth Science > Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "Earth Science > Biological Classification > Animals/Invertebrates > Cnidarians > Anthozoans/Hexacorals > Hard Or Stony Corals,\n" + "1980-2005, abbreviation, atmosphere, beginning, coast, code, collected, coral, data, depth, family, genus, height, identifier, institution, noaa, nwfsc, off, order, scientific, species, station, survey, taxa, taxonomic, taxonomy, time, west, west coast, year\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " Point\n" + " longitude, latitude, depth, time, institution, institution_id, species_code, taxa_scientific, taxonomic_order, order_abbreviation, taxonomic_family, family_abbreviation, taxonomic_genus\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " \n" + " \n" + " \n" + " LONGITUDE_DD\n" + " longitude\n" + " \n" + " -125.99 -117.2767\n" + " \n" + " \n" + " \n" + " \n" + " LATITUDE_DD\n" + " latitude\n" + " \n" + " 32.5708 48.9691\n" + " \n" + " \n" + " \n" + " \n" + " DEPTH_METERS\n" + " depth\n" + " \n" + " -11 -1543\n" + " 0\n" + " 1500\n" + " \n" + " Depth\n" + " -1\n" + " m\n" + " \n" + " \n" + " \n" + " YEAR_SURVEY\n" + " time\n" + " \n" + " Time\n" + " Time (Beginning of Survey Year)\n" + " years since 0000-01-01\n" + " \n" + " \n" + " \n" + " INSTITUTION\n" + " institution\n" + " \n" + " Identifier\n" + " Institution\n" + " \n" + " \n" + " \n" + " INSTITUTION_ID\n" + " institution_id\n" + " \n" + " 38807.0 2.00503017472E11\n" + " Identifier\n" + " Institution ID\n" + " \n" + " \n" + " \n" + " SPECIES_CODE\n" + " species_code\n" + " \n" + " 41000.0 144115.0\n" + " Taxonomy\n" + " Species Code\n" + " \n" + " \n" + " \n" + " TAXA_SCIENTIFIC\n" + " taxa_scientific\n" + " \n" + " Taxonomy\n" + " Taxa Scientific\n" + " \n" + " \n" + " \n" + " TAXONOMIC_ORDER\n" + " taxonomic_order\n" + " \n" + " \n" + " Taxonomy\n" + " Taxonomic Order\n" + " \n" + " \n" + " \n" + " ORDER_ABBREVIATION\n" + " order_abbreviation\n" + " \n" + " \n" + " Taxonomy\n" + " Order Abbreviation\n" + " \n" + " \n" + " \n" + " TAXONOMIC_FAMILY\n" + " taxonomic_family\n" + " \n" + " \n" + " Taxonomy\n" + " Taxonomic Family\n" + " \n" + " \n" + " \n" + " FAMILY_ABBREVIATION\n" + " family_abbreviation\n" + " \n" + " \n" + " Taxonomy\n" + " Family Abbreviation\n" + " \n" + " \n" + " \n" + " TAXONOMIC_GENUS\n" + " taxonomic_genus\n" + " \n" + " Taxonomy\n" + " Taxonomic Genus\n" + " \n" + " \n" + "\n"; } public static EDD geterdCinpKfmT() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdCinpKfmT()); } private static String xmlFragment_erdCinpKfmT() throws URISyntaxException { return "\n" + " 10080\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/KFMTemperature/").toURI()) .toString() + "\n" + " false\n" + " KFMTemperature_.*\\.nc(|.gz)\n" + " last\n" + " ^KFMTemperature_\n" + " \\.nc$\n" + " .*\n" + " station\n" + " TIME\n" + " \n" + " TimeSeries\n" + " station, longitude, latitude\n" + " station, longitude, latitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " CF Standard Name Table v70\n" + " Channel Islands, Kelp Forest Monitoring, Sea Temperature, 1993-2007\n" + " David_Kushner@nps.gov\n" + " erd.data@noaa.gov\n" + " institution\n" + " \n" + " https://www.nps.gov/chis/naturescience/index.htm\n" + " CINP\n" + " \n" + "Earth Science > Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "Earth Science > Oceans > Ocean Temperature > Water Temperature,\n" + "aquatic, atmosphere, biosphere, channel, cinp, coastal, depth, ecosystems, forest, habitat, height, identifier, islands, kelp, marine, monitoring, ocean, oceans, sea, sea_water_temperature, seawater, station, temperature, time, water\n" + " GCMD Science Keywords\n" + " (local files)\n" + " This dataset from the Channel Islands National Park's Kelp Forest Monitoring Program has subtidal temperature data taken at permanent monitoring sites. Since 1993, remote temperature loggers manufactured by Onset Computer Corporation were deployed at each site approximately 10-20 cm from the bottom in a underwater housing. Since 1993, three models of temperature loggers (HoboTemp (tm), StowAway (R) and Tidbit(R)) were used to collect temperature data every 1-5 hours depending on the model used.\n" + " \n" + " \n" + " station\n" + " String\n" + " \n" + " Identifier\n" + " Station\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " LON\n" + " longitude\n" + " float\n" + " \n" + " -120.4\n" + " -118.4\n" + " \n" + " \n" + " \n" + " LAT\n" + " latitude\n" + " float\n" + " \n" + " 32.5\n" + " 34.5\n" + " \n" + " \n" + " \n" + " DEPTH\n" + " depth\n" + " double\n" + " \n" + " 0\n" + " 20\n" + " \n" + " \n" + " \n" + " TIME\n" + " time\n" + " double\n" + " \n" + " 7.463865E8\n" + " 1.1843511E9\n" + " sec since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " Temperature\n" + " temperature\n" + " float\n" + " \n" + " 0\n" + " 32\n" + " Temperature\n" + " Sea Water Temperature\n" + " \n" + " \n" + "\n"; } public static EDD getepaseamapTimeSeriesProfiles() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_epaseamapTimeSeriesProfiles()); } private static String xmlFragment_epaseamapTimeSeriesProfiles() throws URISyntaxException { return "\n" + " \n" + "\n" + " \n" + " 1000000000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/epaseamapTimeSeriesProfiles/").toURI()) .toString() + "\n" + " false\n" + " \n" + " erddap_test_.*\\.nc\n" + " last\n" + " ^erddap_test_\n" + " \\.nc$\n" + " .*\n" + " station_name\n" + "\n" + "\n" + " time\n" + " \n" + " \n" + " null\n" + " \n" + " http://www.epa.gov/gmpo/seamap/about.html\n" + " EPA SEAMAP GOM\n" + " \n" + "Oceans > Ocean Chemistry > Ammonia,\n" + "Oceans > Ocean Chemistry > Nitrogen,\n" + "Oceans > Ocean Chemistry > Phosphate,\n" + "Oceans > Ocean Chemistry > Chlorophyll,\n" + "Oceans > Ocean Temperature > Water Temperature,\n" + "Oceans > Salinity/Density > Salinity\n" + "\n" + " GCMD Science Keywords\n" + " [standard]\n" + " http://testbedapps.sura.org/thredds/catalog/shelf_hypoxia_scan/Observations/CTD/netcdf/catalog.html\n" + " EPA Gulf of Mexico Program SEAMAP fixed \n" + "station time series profiles with Hypoxia related observations at \n" + "multiple depths.\n" + "Temperature, Salinity, Dissovled Nitrogen, Chlorophyll, Ammonium and \n" + "Phosphate for the period 2006 through 2008. Location is in the Gulf of \n" + "Mexico.\n" + "\n" + " EPA SeaMap water station profiles in Gulf of Mexico\n" + " TimeSeriesProfile\n" + " station_name, station, longitude, latitude\n" + " time\n" + " station_name, station, longitude, latitude\n" + " \n" + " \n" + " station_name \n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " station\n" + " station\n" + " int\n" + " \n" + " Identifier\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " float\n" + " time\n" + " \n" + " time\n" + " profile_id\n" + " true\n" + " \n" + " \n" + " \n" + " z\n" + " depth\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " temp\n" + " WaterTemperature\n" + " double\n" + " \n" + " Temperature\n" + " Sea Water Temperature\n" + " sea_water_temperature\n" + " \n" + " \n" + " \n" + " salt\n" + " salinity\n" + " double\n" + " \n" + " Salinity\n" + " Salinity\n" + " sea_water_salinity\n" + " \n" + " \n" + " \n" + " chl\n" + " chlorophyll\n" + " double\n" + " \n" + " Ocean Color\n" + " Chlorophyll\n" + " concentration_of_chlorophyll_in_sea_water\n" + " mg_m-3\n" + " \n" + " \n" + " \n" + " NO23\n" + " Nitrogen\n" + " double\n" + " \n" + " Dissolved Nutrients\n" + " Nitrogen\n" + " mass_concentration_of_inorganic_nitrogen_in_sea_water\n" + " percent\n" + " \n" + " \n" + " \n" + " PO4\n" + " Phosphate\n" + " double\n" + " \n" + " Dissolved Nutrients\n" + " Phosphate\n" + " mass_concentration_of_phosphate_in_sea_water\n" + " percent\n" + " \n" + " \n" + " \n" + " NH4\n" + " Ammonium\n" + " double\n" + " \n" + " Dissolved Nutrients\n" + " Ammonium\n" + " percent\n" + " \n" + " \n" + "\n"; } public static EDD getfedCalLandings() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_fedCalLandings()); } private static String xmlFragment_fedCalLandings() throws URISyntaxException { return "\n" + " 15000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/fedCalLandings/").toURI()) .toString() + "\n" + " true\n" + " .*\\.nc\n" + " 1\n" + " last\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " region year\n" + " \n" + " Other\n" + " market_category, description, nominal_species, species_group, area, region, block, imported, region_caught\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " \n" + " https://oceanview.pfeg.noaa.gov/PaCOOS/mkt_catch\n" + " NOAA SWFSC FED\n" + " \n" + "Earth Science > Biological Classification > Animals/Vertebrates > Fish,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "Earth Science > Oceans > Aquatic Sciences > Fisheries,\n" + "about, animals, aquatic, area, biological, biosphere, block, california, category, caught, classification, coastal, comments, commercial, description, ecosystems, fed, fish, fish species, fisheries, group, habitat, identifier, imported, landings, marine, market, month, noaa, nominal, oceans, pounds, productivity, region, sciences, species, swfsc, taxonomy, time, vertebrates, year\n" + " GCMD Science Keywords\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " \n" + "The Groundfish Analysis Team at the SWFSC Fisheries Ecology Division (Santa\n" + "Cruz) completed work on a California commercial landings database, which\n" + "includes landings from 1931 through 2007. Landings from 1931 through 1968\n" + "were recovered using funds and services provided by the NESDIS Climate\n" + "Database Modernization Program (CDMP). The recovered data, when combined with\n" + "more recent landings estimates from the California Cooperative Groundfish\n" + "Survey from 1969 to 2007, forms one of the longest detailed catch records in\n" + "the US. The 1931-68 period includes monthly summaries of catches by 10-minute\n" + "geographic blocks. These data are now openly available to the public for use\n" + "in stock assessments and monitoring of climate effects. Pearson is currently\n" + "working with the California Department of Fish and Game to extend the\n" + "geographic summary information to more recent years. Also, the taxa reported\n" + "in the historical data are the \"market categories\" used by fish processors,\n" + "and may involve multiple species groupings. A project has been initiated to\n" + "resolve historical landings to provide best estimates for individual species.\n" + "\n" + "When using this data it is critical to understand that a market category is\n" + "NOT a species code - it is a sort group. While landings in some market\n" + "categories may consist entirely of the species for which they are named,\n" + "landings in other market categories may contain few of the species for which\n" + "they are named.\n" + "\n" + "General Notes:\n" + "The data from 1930-1932 has a lot of unknown block data. When the trawl\n" + "landing data is entered, some of this may be resolved. At the same time,\n" + "some gear data will be available.\n" + "\n" + "When Source Corp finishes data entry of the landing receipt data, gear code\n" + "data will be available from 1951-1968; however, this will not be completed\n" + "until around 2011.\n" + "\n" + "Block Maps: https://oceanview.pfeg.noaa.gov/PaCOOS/mkt_catch/ca_landings_info.html\n" + "Data Source: California Department of Fish & Game.\n" + "Data Assembly: NOAA SWFSC FED; Contact: Don.Pearson@noaa.gov\n" + " California Commercial Fish Landings, 1931-1978\n" + " \n" + " \n" + " market_category\n" + " short\n" + " \n" + " \n" + "When using this data it is critical to understand that a market category is\n" + "NOT a species code - it is a sort group. While landings in some market\n" + "categories may consist entirely of the species for which they are named,\n" + "landings in other market categories may contain few of the species for which\n" + "they are named. This is particularly true for the rockfish market\n" + "categories. For example, we know that only about 50% of the fish landed in\n" + "market category 253 (bocaccio) prior to 1991 were actually bocaccio. We are\n" + "currently in the process of estimating species specific landings from 1930\n" + "through 1968 (we already have the estimates from 1969-2007).\n" + "\n" + "Many market categories were used in the past which are no longer included in\n" + "current market category definitions used by Fish and Game. In addition, some\n" + "market categories have been redefined including 264, 265, and 266. This\n" + "column uses the currently accepted codes and old codes were converted to new\n" + "codes. In addition, codes which are no longer used by Fish and Game, but\n" + "which were used in the past, are now included in the MASTER_MARKET_CATEGORIES\n" + "table.\n" + " Identifier\n" + " Market Category\n" + " \n" + " \n" + " \n" + " description\n" + " String\n" + " \n" + " Identifier\n" + " Description of Market Category\n" + " \n" + " \n" + " \n" + " nominal_species\n" + " String\n" + " \n" + " Fish Species\n" + " Nominal Species of Market Category\n" + " \n" + " \n" + " \n" + " species_group\n" + " String\n" + " \n" + " Taxonomy\n" + " Species Group of Market Category\n" + " \n" + " \n" + " \n" + " comments\n" + " String\n" + " \n" + " Other\n" + " Comments about Market Category\n" + " \n" + " \n" + " \n" + " area\n" + " String\n" + " \n" + " This column indicates the general area where the fish were caught if known. The values used are: Northern California, Central California, San Francisco Bay, Southern California, Mexico, Oregon, Washington, Unknown, and many international codes.\n" + " Location\n" + " Area\n" + " \n" + " \n" + " \n" + " region\n" + " short\n" + " \n" + " This is the California marine region in which the fish were landed. No values were present from 1951-1968. Marine regions were originally identified using 2 different numbering schemes: 10, 20, 30, 40, 50, 60, 70, 80; or 1, 2, 3, 4, 5, 6, 7, 8. For this table, the first series was converted to the second series. Definitions: 1=Crescent City area, 2=Eureka area, 3=San Francisco Bay, 4=San Francisco Ocean, 5=Monterey, 6=Santa Barbara/Morro Bay, 7=Los Angeles, 8=San Diego.\n" + " Location\n" + " Region\n" + " \n" + " \n" + " \n" + " block\n" + " short\n" + " \n" + " This column contains Fish and Game block number. Some block numbers are not present on charts, in particular, blocks >1299 are not shown on charts. All block numbers > 1299 (and some less than 1300) are used for fish imported into California. The AREA column indicates where the fish were imported from. In order to get only fish caught in California waters, you must restrict block number to less than 900. Block 0 indicates unknown area. Some information on area can be obtained from the REGION column; however, REGION is where the fish were landed and may not be where they were actually caught. This could be a problem for the northern and southern regions where fish could have been caught outside state waters. Caution should be used when using data with block=0.\n" + " Location\n" + " Block\n" + " \n" + " \n" + " \n" + " imported\n" + " String\n" + " \n" + " 'N': the fish were likely to have been caught by US vessels and landed in California. 'Y': the fish were caught and landed outside California and imported to California.\n" + " Other\n" + " Imported\n" + " \n" + " \n" + " \n" + " region_caught\n" + " short\n" + " \n" + " This column was created by Pearson. It is the best guess of what CDFG region the fish were caught in. It was created by using block number (if known). If the block is unknown, then the REGION value is used (note that REGION is actually where the fish were landed).\n" + " Location\n" + " Region Caught\n" + " \n" + " \n" + " \n" + " time\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " year\n" + " short\n" + " \n" + " Time\n" + " Year\n" + " \n" + " \n" + " \n" + " month\n" + " short\n" + " \n" + " Time\n" + " Month\n" + " \n" + " \n" + " \n" + " pounds\n" + " int\n" + " \n" + " Productivity\n" + " Pounds\n" + " pounds\n" + " \n" + " \n" + "\n"; } public static EDD gettestEDDTableCopyFiles() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testEDDTableCopyFiles()); } private static String xmlFragment_testEDDTableCopyFiles() throws URISyntaxException { return "\n" + " 14400\n" + " 1000000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/testEDDTableCopyFiles/").toURI()) .toString() + "\n" + " 1977\\.nc\n" + " true\n" + " .*\n" + " http://localhost:8080/erddap/files/fedCalLandings/\n" + " .*/(|[3|4]/)\n" + " last\n" + " 0\n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " region year\n" + " false\n" + " \n" + " \n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " ???\n" + " ???\n" + " area, block, category, caught, comments, data, description, group, imported, local, market, market_category, month, nominal, nominal_species, pounds, region, region_caught, row, source, species, species_group, taxonomy, time, year\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " region, year, area, imported, region_caught, comments\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " row\n" + " row\n" + " byte\n" + " \n" + " \n" + " Unknown\n" + " Row\n" + " \n" + " \n" + " \n" + " region\n" + " region\n" + " short\n" + " \n" + " \n" + " Location\n" + " Region\n" + " \n" + " \n" + " \n" + " year\n" + " year\n" + " short\n" + " \n" + " \n" + " Time\n" + " Year\n" + " \n" + " \n" + " \n" + " market_category\n" + " market_category\n" + " short\n" + " \n" + " \n" + " Unknown\n" + " Market Category\n" + " \n" + " \n" + " \n" + " month\n" + " month\n" + " short\n" + " \n" + " \n" + " Time\n" + " Month\n" + " \n" + " \n" + " \n" + " block\n" + " block\n" + " short\n" + " \n" + " \n" + " Unknown\n" + " Block\n" + " \n" + " \n" + " \n" + " pounds\n" + " pounds\n" + " int\n" + " \n" + " \n" + " Unknown\n" + " Pounds\n" + " \n" + " \n" + " \n" + " area\n" + " area\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Area\n" + " \n" + " \n" + " \n" + " imported\n" + " imported\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Imported\n" + " \n" + " \n" + " \n" + " region_caught\n" + " region_caught\n" + " short\n" + " \n" + " \n" + " Location\n" + " Region Caught\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " double\n" + " \n" + " \n" + " Time\n" + " Time\n" + " time\n" + " \n" + " \n" + " \n" + " description\n" + " description\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Description\n" + " \n" + " \n" + " \n" + " nominal_species\n" + " nominal_species\n" + " String\n" + " \n" + " \n" + " Taxonomy\n" + " Nominal Species\n" + " \n" + " \n" + " \n" + " species_group\n" + " species_group\n" + " String\n" + " \n" + " \n" + " Taxonomy\n" + " Species Group\n" + " \n" + " \n" + " \n" + " comments\n" + " comments\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Comments\n" + " \n" + " \n" + "\n"; } public static EDD getndbcSosWaves() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_ndbcSosWaves()); } private static String xmlFragment_ndbcSosWaves() { return "\n" + " https://sdf.ndbc.noaa.gov/sos/server.php\n" + " 1.0.0\n" + " IOOS_NDBC\n" + " 1440\n" + " .+\n" + " true\n" + " urn:ioos:network:noaa.nws.ndbc:all\n" + " featureofinterest=BBOX:\n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, sensor_id\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://sdf.ndbc.noaa.gov/sos/\n" + " NOAA NDBC\n" + " \n" + "Earth Science > Atmosphere > Altitude > Station Height,\n" + "Earth Science > Oceans > Ocean Temperature > Water Temperature,\n" + "Earth Science > Oceans > Ocean Waves > Significant Wave Height,\n" + "Earth Science > Oceans > Ocean Waves > Swells,\n" + "Earth Science > Oceans > Ocean Waves > Wave Frequency,\n" + "Earth Science > Oceans > Ocean Waves > Wave Period,\n" + "Earth Science > Oceans > Ocean Waves > Wave Speed/Direction,\n" + "Earth Science > Oceans > Ocean Waves > Wind Waves,\n" + "altitude, atmosphere, bandwidths, calculation, center, coordinate, direction, energy, frequencies, height, identifier, mean, mean_wave_direction, method, ndbc, noaa, number, ocean, oceans, peak, period, polar, principal, rate, sampling, sea, sea_surface_swell_wave_period, sea_surface_swell_wave_significant_height, sea_surface_swell_wave_to_direction, sea_surface_wave_mean_period, sea_surface_wave_peak_period, sea_surface_wave_significant_height, sea_surface_wave_to_direction, sea_surface_wind_wave_period, sea_surface_wind_wave_significant_height, sea_surface_wind_wave_to_direction, sea_water_temperature, seawater, sensor, significant, sos, spectral, speed, station, surface, surface waves, swell, swells, temperature, time, water, wave, waves, wind\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " The NOAA NDBC SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have waves data.\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables.\n" + " NOAA NDBC SOS, waves\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " depth (m)\n" + " -1\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " \n" + " Always check the quality_flags before using this data.\n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " \n" + " \n" + " \n" + " sea_surface_wave_significant_height (m)\n" + " sea_surface_wave_significant_height\n" + " float\n" + " \n" + " \n" + " Surface Waves\n" + " Sea Surface Wave Significant Height\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " sea_surface_wave_significant_height\n" + " m\n" + " \n" + " \n" + " \n" + " sea_surface_wave_peak_period (s)\n" + " sea_surface_wave_peak_period\n" + " float\n" + " \n" + " \n" + " Surface Waves\n" + " Sea Surface Wave Peak Period\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " sea_surface_wave_peak_period\n" + " s\n" + " \n" + " \n" + " \n" + " sea_surface_wave_mean_period (s)\n" + " sea_surface_wave_mean_period\n" + " float\n" + " \n" + " \n" + " Surface Waves\n" + " Sea Surface Wave Mean Period\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " sea_surface_wave_mean_period\n" + " s\n" + " \n" + " \n" + " \n" + " sea_surface_swell_wave_significant_height (m)\n" + " sea_surface_swell_wave_significant_height\n" + " float\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Surface Waves\n" + " Sea Surface Swell Wave Significant Height\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " sea_surface_swell_wave_significant_height\n" + " m\n" + " \n" + " \n" + " \n" + " sea_surface_swell_wave_period (s)\n" + " sea_surface_swell_wave_period\n" + " float\n" + " \n" + " \n" + " 20.0\n" + " 0.0\n" + " Surface Waves\n" + " Sea Surface Swell Wave Period\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " sea_surface_swell_wave_period\n" + " s\n" + " \n" + " \n" + " \n" + " sea_surface_wind_wave_significant_height (m)\n" + " sea_surface_wind_wave_significant_height\n" + " float\n" + " \n" + " \n" + " Surface Waves\n" + " Sea Surface Wind Wave Significant Height\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " sea_surface_wind_wave_significant_height\n" + " m\n" + " \n" + " \n" + " \n" + " sea_surface_wind_wave_period (s)\n" + " sea_surface_wind_wave_period\n" + " float\n" + " \n" + " \n" + " Surface Waves\n" + " Sea Surface Wind Wave Period\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " sea_surface_wind_wave_period\n" + " s\n" + " \n" + " \n" + " \n" + " sea_water_temperature (c)\n" + " sea_water_temperature\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " Sea Water Temperature\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " sea_surface_wave_to_direction (degree)\n" + " sea_surface_wave_to_direction\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " Surface Waves\n" + " Sea Surface Wave To Direction\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " sea_surface_wave_to_direction\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " sea_surface_swell_wave_to_direction (degree)\n" + " sea_surface_swell_wave_to_direction\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " Surface Waves\n" + " Sea Surface Swell Wave To Direction\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " sea_surface_swell_wave_to_direction\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " sea_surface_wind_wave_to_direction (degree)\n" + " sea_surface_wind_wave_to_direction\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " Surface Waves\n" + " Sea Surface Wind Wave To Direction\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " sea_surface_wind_wave_to_direction\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " number_of_frequencies (count)\n" + " number_of_frequencies\n" + " short\n" + " \n" + " \n" + " Surface Waves\n" + " Number Of Frequencies\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " count\n" + " \n" + " \n" + " \n" + " center_frequencies (Hz)\n" + " center_frequencies\n" + " String\n" + " \n" + " \n" + " Surface Waves\n" + " Center Frequencies\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " Hz\n" + " \n" + " \n" + " \n" + " bandwidths (Hz)\n" + " bandwidths\n" + " String\n" + " \n" + " \n" + " Surface Waves\n" + " Bandwidths\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " Hz\n" + " \n" + " \n" + " \n" + " spectral_energy (m**2/Hz)\n" + " spectral_energy\n" + " String\n" + " \n" + " \n" + " Surface Waves\n" + " Spectral Energy\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " m^2/Hz\n" + " \n" + " \n" + " \n" + " mean_wave_direction (degree)\n" + " mean_wave_direction\n" + " String\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " Surface Waves\n" + " Mean Wave Direction\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " mean_wave_direction\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " principal_wave_direction (degree)\n" + " principal_wave_direction\n" + " String\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " Surface Waves\n" + " Principal Wave Direction\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " polar_coordinate_r1 (1)\n" + " polar_coordinate_r1\n" + " String\n" + " \n" + " \n" + " Surface Waves\n" + " Polar Coordinate R1\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " 1\n" + " \n" + " \n" + " \n" + " polar_coordinate_r2 (1)\n" + " polar_coordinate_r2\n" + " String\n" + " \n" + " \n" + " Surface Waves\n" + " Polar Coordinate R2\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " 1\n" + " \n" + " \n" + " \n" + " calculation_method\n" + " calculation_method\n" + " String\n" + " \n" + " \n" + " Surface Waves\n" + " Calculation Method\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " \n" + " \n" + " \n" + " sampling_rate (Hz)\n" + " sampling_rate\n" + " short\n" + " \n" + " \n" + " Surface Waves\n" + " Sampling Rate\n" + " http://mmisw.org/ont/cf/parameter/waves\n" + " Hz\n" + " \n" + " \n" + "\n"; } public static EDD gettestTablePseudoSourceNames() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTablePseudoSourceNames()); } private static String xmlFragment_testTablePseudoSourceNames() throws URISyntaxException { return "\n" + " 1440\n" + " 1\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/miniNdbc/").toURI()).toString() + "\n" + " false\n" + " NDBC_.*\\.nc\n" + " \n" + " last\n" + " TIME\n" + " \"***fileName,NDBC_(.*)_met\\\\.nc,1\", TIME\n" + " \n" + " TimeSeries\n" + " station, parentDir, longitude, latitude\n" + " station, longitude, latitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://www.ndbc.noaa.gov/\n" + " NOAA NDBC, CoastWatch WCN\n" + " lots of keywords\n" + " GCMD Science Keywords\n" + " [standard]\n" + " https://www.ndbc.noaa.gov/\n" + " A great summary.\n" + " A Great Title\n" + " \n" + " \n" + " ***fileName,NDBC_(.*)_met\\.nc,1\n" + " station\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " ***pathName,.*[/\\\\]([a-zA-Z]*)[/\\\\]NDBC_.*_met\\.nc,1\n" + " parentDir\n" + " String\n" + " \n" + " Identifier\n" + " Parent Directory\n" + " \n" + " \n" + " \n" + " LON\n" + " longitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " LAT\n" + " latitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " TIME\n" + " time\n" + " double\n" + " \n" + " null\n" + " \n" + " \n" + " \n" + " =7\n" + " luckySeven\n" + " float\n" + " \n" + " fixed value\n" + " Other\n" + " m\n" + " \n" + " \n" + " \n" + " global:geospatial_lat_min\n" + " geoLatMin\n" + " float\n" + " \n" + " Location\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " global:zztop\n" + " globalZztop\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " variable:LAT:actual_range\n" + " latActualRangeMin\n" + " double \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " variable:DEPTH:positive\n" + " depthPositive\n" + " String\n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " variable:DEPTH:zztop\n" + " depthZztop\n" + " String\n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " WD\n" + " wd\n" + " short\n" + " \n" + " 0\n" + " 360\n" + " 32767\n" + " Wind\n" + " \n" + " \n" + " \n" + " \n" + " variable:WSPD:actual_range\n" + " wspdRange\n" + " String\n" + " \n" + " Wind\n" + " \n" + " \n" + "\n"; } public static EDD getfsuNoaaShipWTEP() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_fsuNoaaShipWTEP()); } private static String xmlFragment_fsuNoaaShipWTEP() throws URISyntaxException { return "\n" + " &time>=max(time)-7days&time<=max(time)&flag=~\"ZZZ.*\"\n" + " &time>=max(time)-7days&time<=max(time)&flag=~\"ZZZ.*\"&.marker=10|5\n" + " SAMOS\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/fsuNoaaShipWTEP/").toURI()).toString() + "\n" + " true\n" + " WTEP_.*\\.nc\n" + " last\n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " \n" + " null\n" + " null\n" + "\n" + " Trajectory\n" + " ID, site\n" + " ID, site, IMO, cruise_id, expocode, facility, platform, platform_version\n" + "\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " samos@coaps.fsu.edu\n" + " Shipboard Automated Meteorological and Oceanographic System (SAMOS)\n" + " group\n" + " https://samos.coaps.fsu.edu/html/\n" + " https://samos.coaps.fsu.edu/html/\n" + " FSU\n" + " \n" + "Earth Science > Atmosphere > Atmospheric Pressure > Atmospheric Pressure Measurements,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Sea Level Pressure,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Static Pressure,\n" + "Earth Science > Atmosphere > Atmospheric Temperature > Air Temperature,\n" + "Earth Science > Atmosphere > Atmospheric Temperature > Surface Air Temperature,\n" + "Earth Science > Atmosphere > Atmospheric Water Vapor > Humidity,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "Earth Science > Oceans > Salinity/Density > Conductivity,\n" + "Earth Science > Oceans > Salinity/Density > Salinity,\n" + "air, air_pressure, air_temperature, atmosphere, atmospheric, calender, conductivity, control, course, data, date, day, density, direction, dyson, earth, electrical, file, flags, from, fsu, ground, heading, history, humidity, information, level, measurements, meteorological, meteorology, oceans, oscar, over, platform, pressure, quality, relative, relative_humidity, salinity, sea, sea_water_electrical_conductivity, sea_water_practical_salinity, seawater, speed, static, surface, temperature, time, vapor, water, wind, wind_from_direction, wind_speed, winds\n" + " GCMD Science Keywords\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " https://tds.coaps.fsu.edu/thredds/catalog/samos/data/research/WTEP/catalog.xml\n" + " CF Standard Name Table v70\n" + " NOAA Ship Oscar Dyson Underway Meteorological Data (delayed ~10 days for quality control) are from the Shipboard Automated Meteorological and Oceanographic System (SAMOS) program.\n" + "\n" + "IMPORTANT: ALWAYS USE THE QUALITY FLAG DATA! Each data variable's metadata includes a qcindex attribute which indicates a character number in the flag data. ALWAYS check the flag data for each row of data to see which data is good (flag='Z') and which data isn't. For example, to extract just data where time (qcindex=1), latitude (qcindex=2), longitude (qcindex=3), and airTemperature (qcindex=12) are 'good' data, include this constraint in your ERDDAP query:\n" + " flag=~\"ZZZ........Z.*\"\n" + "in your query.\n" + "'=~' indicates this is a regular expression constraint.\n" + "The 'Z's are literal characters. In this dataset, 'Z' indicates 'good' data.\n" + "The '.'s say to match any character.\n" + "The '*' says to match the previous character 0 or more times.\n" + "(Don't include backslashes in your query.)\n" + "See the tutorial for regular expressions at\n" + "http://www.vogella.com/tutorials/JavaRegularExpressions/article.html\n" + " NOAA Ship Oscar Dyson Underway Meteorological Data, Quality Controlled\n" + " \n" + "\n" + " \n" + " global:ID\n" + " ID\n" + " String\n" + " \n" + " Identifier\n" + " Call Sign\n" + " trajectory_id\n" + " \n" + " \n" + " \n" + " global:site\n" + " site\n" + " String\n" + " \n" + " Identifier\n" + " Ship Name\n" + " \n" + " \n" + " \n" + " global:IMO\n" + " IMO\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + "\n" + " \n" + " global:Cruise_id\n" + " cruise_id\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " global:EXPOCODE\n" + " expocode\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " global:facility\n" + " facility\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " global:platform\n" + " platform\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " global:platform_version\n" + " platform_version\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " int\n" + " \n" + " \n" + " null\n" + " Time\n" + " time\n" + " null\n" + " null\n" + " minutes since 1980-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " \n" + " Location\n" + " null\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " \n" + " Location\n" + " null\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " P\n" + " airPressure\n" + " float\n" + " \n" + " \n" + " 1050.0\n" + " 950.0\n" + " -8888.0\n" + " Pressure\n" + " Atmospheric Pressure\n" + " null\n" + " air_pressure\n" + " \n" + " \n" + " \n" + " T\n" + " airTemperature\n" + " float\n" + " \n" + " \n" + " 40.0\n" + " -10.0\n" + " -8888.0\n" + " Temperature\n" + " Air Temperature\n" + " air_temperature\n" + " null\n" + " null\n" + " degree_C \n" + " \n" + " \n" + " \n" + " CNDC\n" + " conductivity\n" + " float\n" + " \n" + " \n" + " 4\n" + " 0\n" + " -8888.0\n" + " Salinity\n" + " Conductivity\n" + " null\n" + " -9999.0\n" + " measured\n" + " 16\n" + " sea_water_electrical_conductivity\n" + " siemens meter-1\n" + " \n" + " \n" + " \n" + " RH\n" + " relativeHumidity\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " -8888.0\n" + " Meteorology\n" + " Relative Humidity\n" + " null\n" + " relative_humidity\n" + " \n" + " \n" + " \n" + " SSPS\n" + " salinity\n" + " float\n" + " \n" + " \n" + " 37.0\n" + " 32.0\n" + " -8888.0\n" + " Salinity\n" + " Salinity\n" + " null\n" + " -9999.0\n" + " calculated\n" + " 15\n" + " Sea Water Practical Salinity\n" + " sea_water_practical_salinity\n" + " \n" + " \n" + " \n" + " TS\n" + " seaTemperature\n" + " float\n" + " \n" + " \n" + " 40.0\n" + " -10.0\n" + " -8888.0\n" + " Temperature\n" + " Sea Water Temperature\n" + " null\n" + " -9999.0\n" + " measured\n" + " celsius\n" + " 14\n" + " sea_water_temperature\n" + " 12\n" + " degree_C \n" + " \n" + " \n" + " \n" + " DIR\n" + " windDirection\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " -8888.0\n" + " Wind\n" + " Earth Relative Wind Direction\n" + " null\n" + " wind_from_direction\n" + " \n" + " \n" + " \n" + " SPD\n" + " windSpeed\n" + " float\n" + " \n" + " \n" + " 15.0\n" + " 0.0\n" + " -8888.0\n" + " Wind\n" + " Earth Relative Wind Speed\n" + " null\n" + " wind_speed\n" + " \n" + " \n" + " \n" + " PL_CRS\n" + " platformCourse\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " -8888.0\n" + " Unknown\n" + " Platform Course\n" + " null\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " PL_HD\n" + " platformHeading\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " -8888.0\n" + " Unknown\n" + " Platform Heading\n" + " null\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " PL_SPD\n" + " platformSpeed\n" + " float\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " -8888.0\n" + " Other\n" + " null\n" + " Platform Speed Over Ground\n" + " \n" + " \n" + " \n" + " PL_WDIR\n" + " platformWindDirection\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " -8888.0\n" + " Wind\n" + " null\n" + " Platform Relative Wind Direction\n" + " wind_from_direction\n" + " \n" + " \n" + " \n" + " PL_WSPD\n" + " platformWindSpeed\n" + " float\n" + " \n" + " \n" + " 15.0\n" + " 0.0\n" + " -8888.0\n" + " Wind\n" + " null\n" + " Platform Relative Wind Speed\n" + " wind_speed\n" + " \n" + " \n" + " \n" + " flag\n" + " flag\n" + " String\n" + " \n" + " \n" + " Quality\n" + " Quality Control Flags\n" + " null\n" + " \n" + " \n" + "\n"; } public static EDD getfsuNoaaShipWTEPnrt() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_fsuNoaaShipWTEPnrt()); } private static String xmlFragment_fsuNoaaShipWTEPnrt() throws URISyntaxException { return "\n" + " &time>=max(time)-7days&time<=max(time)&flag=~\"ZZZ.*\"\n" + " &time>=max(time)-7days&time<=max(time)&flag=~\"ZZZ.*\"&.marker=10|5\n" + " SAMOS\n" + " 240\n" + " \n" + " " + Path.of(EDDTestDataset.class.getResource("/data/fsuNoaaShipWTEP/").toURI()).toString() + "/\n" + " true\n" // + " WTEP_.*\\.nc\n" + " last\n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " \n" + "\n" + " Trajectory\n" + " ID, site\n" + " ID, site, IMO, cruise_id, expocode, facility, platform, platform_version\n" + "\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " samos@coaps.fsu.edu\n" + " Shipboard Automated Meteorological and Oceanographic System (SAMOS)\n" + " https://samos.coaps.fsu.edu/html/\n" + " institution\n" + " https://samos.coaps.fsu.edu/html/\n" + " FSU\n" + " \n" + "Earth Science > Atmosphere > Atmospheric Pressure > Atmospheric Pressure Measurements,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Sea Level Pressure,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Static Pressure,\n" + "Earth Science > Atmosphere > Atmospheric Temperature > Air Temperature,\n" + "Earth Science > Atmosphere > Atmospheric Temperature > Surface Air Temperature,\n" + "Earth Science > Atmosphere > Atmospheric Water Vapor > Humidity,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "Earth Science > Oceans > Salinity/Density > Conductivity,\n" + "Earth Science > Oceans > Salinity/Density > Salinity,\n" + "air, air_pressure, air_temperature, atmosphere, atmospheric, calender, conductivity, control, course, data, date, day, density, direction, Dyson, earth, electrical, file, flags, from, fsu, ground, heading, history, humidity, information, level, measurements, meteorological, meteorology, oceans, Oscar, over, platform, pressure, quality, relative, relative_humidity, salinity, sea, sea_water_electrical_conductivity, sea_water_practical_salinity, seawater, speed, static, surface, temperature, time, vapor, water, wind, wind_from_direction, wind_speed, winds\n" + " GCMD Science Keywords\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " https://tds.coaps.fsu.edu/thredds/catalog/samos/data/quick/WTEP/2022/catalog.xml\n" + " CF Standard Name Table v70\n" + " NOAA Ship Oscar Dyson Underway Meteorological Data (Near Real Time, updated daily) are from the Shipboard Automated Meteorological and Oceanographic System (SAMOS) program.\n" + "\n" + "IMPORTANT: ALWAYS USE THE QUALITY FLAG DATA! Each data variable's metadata includes a qcindex attribute which indicates a character number in the flag data. ALWAYS check the flag data for each row of data to see which data is good (flag='Z') and which data isn't. For example, to extract just data where time (qcindex=1), latitude (qcindex=2), longitude (qcindex=3), and airTemperature (qcindex=12) are 'good' data, include this constraint in your ERDDAP query:\n" + " flag=~\"ZZZ........Z.*\"\n" + "in your query.\n" + "'=~' indicates this is a regular expression constraint.\n" + "The 'Z's are literal characters. In this dataset, 'Z' indicates 'good' data.\n" + "The '.'s say to match any character.\n" + "The '*' says to match the previous character 0 or more times.\n" + "(Don't include backslashes in your query.)\n" + "See the tutorial for regular expressions at\n" + "http://www.vogella.com/tutorials/JavaRegularExpressions/article.html\n" + " NOAA Ship Oscar Dyson Underway Meteorological Data, Near Real Time\n" + " \n" + "\n" + " \n" + " global:ID\n" + " ID\n" + " String\n" + " \n" + " Identifier\n" + " Call Sign\n" + " trajectory_id\n" + " \n" + " \n" + " \n" + " global:site\n" + " site\n" + " String\n" + " \n" + " Identifier\n" + " Ship Name\n" + " \n" + " \n" + " \n" + " global:IMO\n" + " IMO\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + "\n" + " \n" + " global:Cruise_id\n" + " cruise_id\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " global:EXPOCODE\n" + " expocode\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " global:facility\n" + " facility\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " global:platform\n" + " platform\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " global:platform_version\n" + " platform_version\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " int\n" + " \n" + " \n" + " 2147483647 \n" + " Time\n" + " time\n" + " null\n" + " minutes since 1980-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " \n" + " Location\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " \n" + " Location\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " P\n" + " airPressure\n" + " float\n" + " \n" + " \n" + " 1050.0\n" + " 950.0\n" + " -8888.0\n" + " Pressure\n" + " Atmospheric Pressure\n" + " air_pressure\n" + " \n" + " \n" + " \n" + " T\n" + " airTemperature\n" + " float\n" + " \n" + " \n" + " 40.0\n" + " -10.0\n" + " -8888.0\n" + " Temperature\n" + " Air Temperature\n" + " air_temperature\n" + " null\n" + " degree_C \n" + " \n" + " \n" + " \n" + " CNDC\n" + " conductivity\n" + " float\n" + " \n" + " \n" + " 4\n" + " 0\n" + " -8888.0\n" + " Salinity\n" + " Conductivity\n" + " sea_water_electrical_conductivity\n" + " \n" + " \n" + " \n" + " RH\n" + " relativeHumidity\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " -8888.0\n" + " Meteorology\n" + " Relative Humidity\n" + " relative_humidity\n" + " \n" + " \n" + " \n" + " SSPS\n" + " salinity\n" + " float\n" + " \n" + " \n" + " 37.0\n" + " 32.0\n" + " -8888.0\n" + " Salinity\n" + " Sea Water Practical Salinity\n" + " sea_water_practical_salinity\n" + " \n" + " \n" + " \n" + " TS\n" + " seaTemperature\n" + " float\n" + " \n" + " \n" + " 40.0\n" + " -10.0\n" + " -8888.0\n" + " Temperature\n" + " Sea Water Temperature\n" + " sea_water_temperature\n" + " null\n" + " degree_C \n" + " \n" + " \n" + " \n" + " DIR\n" + " windDirection\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " -8888.0\n" + " Wind\n" + " Earth Relative Wind Direction\n" + " wind_from_direction\n" + " \n" + " \n" + " \n" + " SPD\n" + " windSpeed\n" + " float\n" + " \n" + " \n" + " 15.0\n" + " 0.0\n" + " -8888.0\n" + " Wind\n" + " Earth Relative Wind Speed\n" + " wind_speed\n" + " \n" + " \n" + " \n" + " PL_CRS\n" + " platformCourse\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " -8888.0\n" + " Unknown\n" + " Platform Course\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " PL_HD\n" + " platformHeading\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " -8888.0\n" + " Unknown\n" + " Platform Heading\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " PL_SPD\n" + " platformSpeed\n" + " float\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " -8888.0\n" + " Other\n" + " Platform Speed Over Ground\n" + " \n" + " \n" + " \n" + " PL_WDIR\n" + " platformWindDirection\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " -8888.0\n" + " Wind\n" + " Platform Relative Wind Direction\n" + " wind_from_direction\n" + " \n" + " \n" + " \n" + " PL_WSPD\n" + " platformWindSpeed\n" + " float\n" + " \n" + " \n" + " 15.0\n" + " 0.0\n" + " -8888.0\n" + " Wind\n" + " Platform Relative Wind Speed\n" + " wind_speed\n" + " \n" + " \n" + " \n" + " flag\n" + " flag\n" + " String\n" + " \n" + " \n" + " Quality\n" + " Quality Control Flags\n" + " \n" + " \n" + "\n"; } public static EDD getpmelTaoDyAirt() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_pmelTaoDyAirt()); } private static String xmlFragment_pmelTaoDyAirt() throws URISyntaxException { return "\n" + " 1000000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/tao/daily/").toURI()).toString() + "\n" + " false\n" + " airt[0-9].*_dy\\.cdf\n" + " last\n" + " time\n" + " global:site_code time\n" + " longitude,latitude,AT_21&time>=now-7days\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " array, station, wmo_platform_code, longitude, latitude, depth\n" + " array, station, wmo_platform_code, longitude, latitude, depth\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " GTMBA Project Office/NOAA/PMEL\n" + " Dai.C.McClurg@noaa.gov\n" + " group\n" + " https://www.pmel.noaa.gov/gtmba/mission\n" + " \n" + " https://www.pmel.noaa.gov/gtmba/mission\n" + " NOAA PMEL, TAO/TRITON, RAMA, PIRATA\n" + " \n" + "Earth Science > Atmosphere > Atmospheric Temperature > Air Temperature,\n" + "Earth Science > Atmosphere > Atmospheric Temperature > Surface Air Temperature,\n" + "air, air_temperature, atmosphere, atmospheric, buoys, centered, daily, depth, identifier, noaa, pirata, pmel, quality, rama, source, station, surface, tao, temperature, time, triton\n" + " GCMD Science Keywords\n" + " Request for Acknowledgement: If you use these data in publications or presentations, please acknowledge the GTMBA Project Office of NOAA/PMEL. Also, we would appreciate receiving a preprint and/or reprint of publications utilizing the data for inclusion in our bibliography. Relevant publications should be sent to: GTMBA Project Office, NOAA/Pacific Marine Environmental Laboratory, 7600 Sand Point Way NE, Seattle, WA 98115\n" + "\n" + "[standard]\n" + " null\n" + " \n" + " TAO/TRITON, RAMA, PIRATA\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " This dataset has daily Air Temperature data from the\n" + "TAO/TRITON (Pacific Ocean, https://www.pmel.noaa.gov/gtmba/ ),\n" + "RAMA (Indian Ocean, https://www.pmel.noaa.gov/gtmba/pmel-theme/indian-ocean-rama ), and\n" + "PIRATA (Atlantic Ocean, http://www.pmel.noaa.gov/gtmba/pirata/ )\n" + "arrays of moored buoys which transmit oceanographic and meteorological data to shore in real-time via the Argos satellite system. These buoys are major components of the CLIVAR climate analysis project and the GOOS, GCOS, and GEOSS observing systems. Daily averages are computed starting at 00:00Z and are assigned an observation 'time' of 12:00Z. For more information, see\n" + "https://www.pmel.noaa.gov/gtmba/mission .\n" + " now-3days\n" + " TAO/TRITON, RAMA, and PIRATA Buoys, Daily, 1977-present, Air Temperature\n" + " \n" + " \n" + " global:array\n" + " array\n" + " String\n" + " \n" + " Identifier\n" + " Array\n" + " \n" + " \n" + " \n" + " global:site_code\n" + " station\n" + " String\n" + " \n" + " \n" + " timeseries_id\n" + " Identifier\n" + " Station\n" + " \n" + " \n" + " \n" + " global:wmo_platform_code\n" + " wmo_platform_code\n" + " int\n" + " \n" + " Identifier\n" + " WMO Platform Code\n" + " 2147483647\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " Location\n" + " Nominal Longitude\n" + " longitude\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " Location\n" + " Nominal Latitude\n" + " latitude\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " float\n" + " \n" + " \n" + " Time\n" + " Centered Time\n" + " time\n" + " \n" + " \n" + " \n" + " depth\n" + " depth\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " Height\n" + " down\n" + " Z\n" + " Location\n" + " Depth\n" + " down\n" + " depth\n" + " \n" + " \n" + " \n" + " AT_21\n" + " AT_21\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " -10\n" + " 40\n" + " Temperature\n" + " Air Temperature\n" + " air_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " QAT_5021\n" + " QAT_5021\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " 0\n" + " 6\n" + " false\n" + " Quality: 0=missing data, 1=highest, 2=standard, 3=lower, 4=questionable, 5=bad, -9=contact Dai.C.McClurg@noaa.gov. To get probably valid data only, request QAT_5021>=1 and QAT_5021<=3.\n" + " Quality\n" + " Air Temperature Quality\n" + " \n" + " \n" + " \n" + " SAT_6021\n" + " SAT_6021\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " 0\n" + " 8\n" + " false\n" + " Source Codes:\n" + "0 = No Sensor, No Data\n" + "1 = Real Time (Telemetered Mode)\n" + "2 = Derived from Real Time\n" + "3 = Temporally Interpolated from Real Time\n" + "4 = Source Code Inactive at Present\n" + "5 = Recovered from Instrument RAM (Delayed Mode)\n" + "6 = Derived from RAM\n" + "7 = Temporally Interpolated from RAM\n" + " Other\n" + " Air Temperature Source\n" + " \n" + " \n" + "\n"; } public static EDD getminiNdbc410() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_miniNdbc410()); } private static String xmlFragment_miniNdbc410() throws URISyntaxException { return "\n" + " 1440\n" + " 10\n" + " \n" + " miniNdbc summary\n" + " NDBC Standard Meteorological Buoy Data\n" + " \n" + "\n" + "\n" + " 1440\n" + " 10\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/miniNdbc/").toURI()).toString() + "\n" + " false\n" + " NDBC_4102._met\\.nc\n" + " false\n" + " last\n" + " ^NDBC_\n" + " _met\\.nc$\n" + " .*\n" + " station\n" + " TIME\n" + " station TIME\n" + " \n" + " TimeSeries\n" + " station, prefix, longitude, latitude\n" + " station, prefix, longitude, latitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://www.ndbc.noaa.gov/\n" + " NOAA NDBC, CoastWatch WCN\n" + " keyword1, keyword2\n" + " GCMD Science Keywords\n" + " [standard]\n" + " https://www.ndbc.noaa.gov/\n" + " miniNdbc4102 summary\n" + " NDBC Standard Meteorological Buoy Data 4102\n" + " \n" + " \n" + " station\n" + " station\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " =4102\n" + " prefix\n" + " float\n" + " \n" + " fixed value\n" + " Other\n" + " m\n" + " \n" + " \n" + " \n" + " LON\n" + " longitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " LAT\n" + " latitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " TIME\n" + " time\n" + " double\n" + " \n" + " null\n" + " \n" + " \n" + " \n" + " WD\n" + " wd\n" + " short\n" + " \n" + " 0\n" + " 360\n" + " 32767\n" + " Wind\n" + " \n" + " \n" + " \n" + " WSPD\n" + " wspd\n" + " float\n" + " \n" + " 0\n" + " 15\n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + " \n" + " ATMP\n" + " atmp\n" + " float\n" + " \n" + " 0\n" + " 40\n" + " -9999999\n" + " Temperature\n" + " \n" + " \n" + " \n" + " WTMP\n" + " wtmp\n" + " float\n" + " \n" + " 0\n" + " 32\n" + " -9999999\n" + " Temperature\n" + " \n" + " \n" + "\n" + "\n" + "\n" + " 1440\n" + " 10\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/miniNdbc/").toURI()).toString() + "\n" + " false\n" + " NDBC_4103._met\\.nc\n" + " false\n" + " last\n" + " ^NDBC_\n" + " _met\\.nc$\n" + " .*\n" + " station\n" + " TIME\n" + " station TIME\n" + " \n" + " TimeSeries\n" + " station, longitude, latitude\n" + " station, longitude, latitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://www.ndbc.noaa.gov/\n" + " NOAA NDBC, CoastWatch WCN\n" + " keyword3, keyword4\n" + " GCMD Science Keywords\n" + " [standard]\n" + " https://www.ndbc.noaa.gov/\n" + " miniNdbc4103 summary\n" + " NDBC Standard Meteorological Buoy Data 4103\n" + " \n" + " \n" + " station\n" + " station\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " =4103\n" + " prefix\n" + " float\n" + " \n" + " Other\n" + " m\n" + " \n" + " \n" + " \n" + " LON\n" + " longitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " LAT\n" + " latitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " TIME\n" + " time\n" + " double\n" + " \n" + " null\n" + " \n" + " \n" + " \n" + " WD\n" + " wd\n" + " short\n" + " \n" + " 32767\n" + " Wind\n" + " \n" + " \n" + " \n" + " WSPD\n" + " wspd\n" + " float\n" + " \n" + " -9999999\n" + " Wind\n" + " \n" + " \n" + " \n" + " ATMP\n" + " atmp\n" + " float\n" + " \n" + " -9999999\n" + " Temperature\n" + " \n" + " \n" + " \n" + " WTMP\n" + " wtmp\n" + " float\n" + " \n" + " -9999999\n" + " Temperature\n" + " \n" + " \n" + "\n" + "\n"; } public static EDD gettestEDDTableCacheFiles() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testEDDTableCacheFiles()); } private static String xmlFragment_testEDDTableCacheFiles() throws URISyntaxException { return "\n" + " 1000000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largePoints/testEDDTableCacheFiles/").toURI()) .toString() + "\n" + " false\n" + " .*\\.nc\n" + " http://localhost:8080/erddap/files/erdGtsppBest/\n" + " 1\n" + " last\n" + " time\n" + " time \n" + " 2\n" + " \n" + " \n" + " 2018-08-01 csun writeGTSPPnc40.f90 Version 1.8\n" + ".tgz files from ftp.nodc.noaa.gov /pub/gtspp/best_nc/ (https://www.nodc.noaa.gov/GTSPP/)\n" + "2018-08-11 Most recent ingest, clean, and reformat at ERD (erd.data at noaa.gov).\n" + " erdGtsppBest\n" + " trajectory, org, type, platform, cruise \n" + " \n" + " \n" + " trajectory\n" + " String\n" + " \n" + " \n" + " org\n" + " String\n" + " \n" + " \n" + " type\n" + " String\n" + " \n" + " \n" + " platform\n" + " String\n" + " \n" + " \n" + " cruise\n" + " String\n" + " \n" + " \n" + " station_id\n" + " int\n" + " \n" + " \n" + " longitude\n" + " float\n" + " \n" + " \n" + " latitude\n" + " float\n" + " \n" + " \n" + " time\n" + " double\n" + " \n" + " \n" + " depth\n" + " float\n" + " \n" + " \n" + " temperature\n" + " float\n" + " \n" + " \n" + " salinity\n" + " float\n" + " \n" + "\n"; } public static EDD gettestEDDGridFromNcFilesUnpacked() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testEDDGridFromNcFilesUnpacked()); } private static String xmlFragment_testEDDGridFromNcFilesUnpacked() throws URISyntaxException { return "\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/nc/").toURI()).toString() + "\n" + " scale_factor\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " Interim-MUR(nrt) will be replaced by MUR-Final in about 3 days; MUR = "Multi-scale Ultra-high Resolution"; produced under NASA MEaSUREs program.\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " ghrsst@podaac.jpl.nasa.gov\n" + " GHRSST\n" + " https://podaac.jpl.nasa.gov/\n" + " null\n" + " null\n" + " https://podaac.jpl.nasa.gov/\n" + " analysed, analysed_sst, daily, data, day, earth, environments, foundation, high, interim, jet, laboratory, making, measures, multi, multi-scale, mur, near, near real time, near-real-time, nrt, ocean, oceans,\n" + "Oceans > Ocean Temperature > Sea Surface Temperature,\n" + "product, propulsion, real, records, research, resolution, scale, sea, sea_surface_foundation_temperature, sst, surface, system, temperature, time, ultra, ultra-high, use\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Interim-Multi-scale Ultra-high Resolution (MUR)(nrt) will be replaced by MUR-Final in about 3 days; MUR = "Multi-scale Ultra-high Resolution"; produced under NASA Making Earth System Data Records for Use in Research Environments (MEaSUREs) program.\n" + " null\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " Latitude\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " Longitude\n" + " \n" + " \n" + " \n" + " analysed_sst\n" + " analysed_sst\n" + " double\n" + " \n" + " \n" + " 305.0\n" + " 273.0\n" + " null\n" + " Temperature\n" + " \n" + " \n" + "\n"; } public static EDD gettestUInt16FileUnpacked() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testUInt16FileUnpacked()); } private static String xmlFragment_testUInt16FileUnpacked() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/unsigned/").toURI()).toString() + "\n" + " 9km_aggregate__MODIS_AQUA_L3_SST_THERMAL_8DAY_9KM_DAYTIME.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Translated to CF-1.0 Conventions by Netcdf-Java CDM (NetcdfCFWriter)\n" + "Original Dataset = file:/usr/ftp/ncml/catalog_ncml/OceanTemperature/modis/aqua/11um/9km/aggregate__MODIS_AQUA_L3_SST_THERMAL_8DAY_9KM_DAYTIME.ncml; Translation Date = Fri Oct 30 09:44:07 GMT-08:00 2015\n" + " ???\n" + " null\n" + " ???\n" + " null\n" + " aqua, data, earth, Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature, image, imaging, L3, l3m_data, l3m_qual, mapped, moderate, modis, modisa, ocean, oceans, quality, resolution, science, sea, sea_surface_temperature, smi, spectroradiometer, standard, surface, temperature, time\n" + " GCMD Science Keywords\n" + " null\n" + " null\n" + " [standard]\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Moderate Resolution Imaging Spectroradiometer on Aqua (MODISA) Level-3 Standard Mapped Image\n" + " null\n" + " null\n" + " null\n" + " MODISA L3 SMI,\n" + " null\n" + " null\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " Time\n" + " \n" + " \n" + " \n" + " Number_of_Lines \n" + " latitude \n" + " \n" + " \n" + " Location\n" + " Latitude\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " Number_of_Columns \n" + " longitude\n" + " \n" + " \n" + " Location\n" + " Longitude\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " l3m_data\n" + " sst\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " null\n" + " Temperature\n" + " Sea Surface Temperature\n" + " sea_surface_temperature\n" + " deg_C\n" + " \n" + " \n" + " \n" + " l3m_qual\n" + " sst_quality\n" + " float\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " null\n" + " Quality\n" + " Sea Surface Temperature Quality\n" + " \n" + " \n" + "\n"; } public static EDD gettestSuperPreciseTimeUnits() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testSuperPreciseTimeUnits()); } private static String xmlFragment_testSuperPreciseTimeUnits() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/nc/").toURI()).toString() + "\n" + " superPreciseTimeUnits.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " CF-1.6, ACDD-1.3, ISO-8601, COARDS\n" + " ???\n" + " SPRL\n" + " atmosphere, atmospheric, climate, cygnss, data, earth, Earth Science > Atmosphere > Atmospheric Winds > Surface Winds, fetch, global, gps, level, limited, mean, mean_square_slope, mean_square_slope_uncertainty, merra, merra-2, merra2_wind_speed, num_merra2_wind_speed_samples, num_mss_samples, num_wind_speed_samples, num_yslf_wind_speed_samples, number, positioning, quality, record, reference, samples, science, sea, slope, speed, sprl, square, statistics, surface, system, time, uncertainty, version, wind, wind_speed, wind_speed_uncertainty, winds, young, yslf, yslf_wind_speed, yslf_wind_speed_uncertainty\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " institution\n" + " ​https://podaac.jpl.nasa.gov\n" + " CYGNSS is a NASA Earth Venture mission, managed by the Earth System Science Pathfinder Program. The mission consists of a constellation of eight small satellites. The eight observatories comprise a constellation that measures the ocean surface wind field with very high temporal resolution and spatial coverage, under all precipitating conditions, and over the full dynamic range of wind speeds experienced in a tropical cyclone. The CYGNSS observatories fly in 510 km circular orbits at a common inclination of 35°. Each observatory includes a Delay Doppler Mapping Instrument (DDMI) consisting of a modified Global Positioning System (GPS) receiver capable of measuring surface scattering, a low gain zenith antenna for measurement of the direct GPS signal, and two high gain nadir antennas for measurement of the weaker scattered signal. Each DDMI is capable of measuring 4 simultaneous bi-static reflections, resulting in a total of 32 wind measurements per second by the full constellation.\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " null\n" + " Time\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " \n" + " \n" + " \n" + " wind_speed\n" + " wind_speed\n" + " float\n" + " \n" + " \n" + " null\n" + " 15.0\n" + " 0.0\n" + " Wind\n" + " \n" + " \n" + " \n" + " wind_speed_uncertainty\n" + " wind_speed_uncertainty\n" + " float\n" + " \n" + " \n" + " null\n" + " 15.0\n" + " 0.0\n" + " Quality\n" + " wind_speed\n" + " \n" + " \n" + " \n" + " num_wind_speed_samples\n" + " num_wind_speed_samples\n" + " int\n" + " \n" + " \n" + " null\n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " yslf_wind_speed\n" + " yslf_wind_speed\n" + " float\n" + " \n" + " \n" + " null\n" + " 150.0\n" + " -50.0\n" + " Wind\n" + " \n" + " \n" + " \n" + " yslf_wind_speed_uncertainty\n" + " yslf_wind_speed_uncertainty\n" + " float\n" + " \n" + " \n" + " null\n" + " 15.0\n" + " 0.0\n" + " Quality\n" + " wind_speed\n" + " \n" + " \n" + " \n" + " num_yslf_wind_speed_samples\n" + " num_yslf_wind_speed_samples\n" + " int\n" + " \n" + " \n" + " null\n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " mean_square_slope\n" + " mean_square_slope\n" + " float\n" + " \n" + " \n" + " null\n" + " 0.05\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " mean_square_slope_uncertainty\n" + " mean_square_slope_uncertainty\n" + " float\n" + " \n" + " \n" + " null\n" + " 0.1\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " num_mss_samples\n" + " num_mss_samples\n" + " int\n" + " \n" + " \n" + " null\n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " merra2_wind_speed\n" + " merra2_wind_speed\n" + " float\n" + " \n" + " \n" + " null\n" + " 15.0\n" + " 0.0\n" + " Wind\n" + " wind_speed\n" + " \n" + " \n" + " \n" + " num_merra2_wind_speed_samples\n" + " num_merra2_wind_speed_samples\n" + " int\n" + " \n" + " \n" + " null\n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + "\n"; } public static EDD geterdMPOC1day() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdMPOC1day()); } private static String xmlFragment_erdMPOC1day() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/satellite/MPOC/1day/").toURI()).toString() + "\n" + " true\n" + " .*_4km\\.nc\n" + " last\n" + " 5\n" + " false\n" + " \n" + " \n" + " CF-1.6, COARDS, ACDD-1.3\n" + " group\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Datafiles are downloaded ASAP from https://oceandata.sci.gsfc.nasa.gov/MODIS-Aqua/L3SMI to NOAA NMFS SWFSC ERD.\n" + "NOAA NMFS SWFSC ERD (erd.data@noaa.gov) uses ERDDAP to add the time variable and slightly modify the metadata.\n" + "Direct read of HDF4 file through CDM library.\n" + " null\n" + " https://dx.doi.org\n" + " https://coastwatch.pfeg.noaa.gov/infog/MPOC_las.html\n" + " NASA/GSFC OBPG\n" + " 443/555, biology, carbon, center, chemistry, chlorophyll, color, concentration, data, ecology, flight, goddard, group, gsfc, image, imaging, L3, laboratory, level, level-3, mapped, moderate, modis, mole, mole_concentration_of_particulate_organic_carbon_in_sea_water, nasa, ocean, ocean color, oceans,\n" + "Earth Science > Oceans > Ocean Chemistry > Chlorophyll; Oceans > Ocean Optics > Ocean Color,\n" + "optics, organic, particulate, poc, processing, resolution, sea, seawater, smi, space, spectroradiometer, standard, stramski, time, version, water\n" + " GCMD Science Keywords\n" + " null\n" + " null\n" + " https://science.nasa.gov/earth-science/earth-science-data/data-information-policy/\n" + "[standard]\n" + " null\n" + " null\n" + " null\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " null\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " MODIS Aqua, Level-3 Standard Mapped Image (SMI), Global, 4km, Particulate Organic Carbon (POC) (1 Day Composite)\n" + " now-4days\n" + " MODIS Aqua, Level-3 SMI, Global, 4km, Particulate Organic Carbon, 2003-present (1 Day Composite)\n" + " null\n" + " \n" + " \n" + " ***fileName,timeFormat=yyyyDDD,A(\\d{7})\\.L3m_DAY_POC_poc_4km\\.nc,1\n" + " time\n" + " \n" + " \n" + " Time\n" + " Centered Time\n" + " time\n" + " seconds since 1970-01-01T12:00:00Z\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " poc\n" + " poc\n" + " float\n" + " \n" + " \n" + " null\n" + " null\n" + " 10\n" + " 1000\n" + " Log\n" + " null\n" + " null\n" + " null\n" + " Ocean Color\n" + " null\n" + " Stramski, D., et al. "Relationships between the surface concentration of particulate organic carbon and optical properties in the eastern South Pacific and eastern Atlantic Oceans." Biogeosciences 5.1 (2008): 171-201.\n" + " \n" + " \n" + "\n"; } public static EDD gettestGridCopy() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGridCopy()); } private static String xmlFragment_testGridCopy() throws URISyntaxException { return "\n" + " 60\n" + " true\n" + "\n" + " 60\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/erdQSwind1day/").toURI()).toString() + "\n" + " \n" + " true\n" + " .*\\.nc(|.gz)\n" + " last\n" + " \n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " null\n" + " CF Standard Name Table v70\n" + " Remote Sensing Systems, Inc\n" + "2008-08-29T00:31:43Z NOAA CoastWatch (West Coast Node) and NOAA SFSC ERD\n" + "\n" + " \n" + " \n" + " time\n" + " \n" + " \n" + " altitude\n" + " \n" + " \n" + " latitude\n" + " \n" + " \n" + " longitude\n" + " \n" + " \n" + " x_wind\n" + " float\n" + " \n" + " \n" + " y_wind\n" + " float\n" + " \n" + " \n" + " mod\n" + " float\n" + " \n" + "\n" + "\n"; } public static EDD gettestOnlySince() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testOnlySince()); } private static String xmlFragment_testOnlySince() { return "\n" + " \n" + " now-4days\n" + " \n" + " https://coastwatch.pfeg.noaa.gov/erddap/griddap/erdMWchla1day \n" + " \n" + "\n"; } public static EDD getnosSosATemp() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosSosATemp()); } private static String xmlFragment_nosSosATemp() { return "\n" + " \n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/SOS\n" + " 1.0.0\n" + " IOOS_NOS\n" + " 1440\n" + " .+\n" + " true\n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, sensor_id\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/\n" + " NOAA NOS\n" + " \n" + "Earth Science > Atmosphere > Altitude > Station Height,\n" + "Earth Science > Atmosphere > Atmospheric Temperature > Air Temperature,\n" + "air, air_temperature, altitude, atmosphere, atmospheric, experimental, height, identifier, noaa, nos, sensor, sos, station, temperature, time\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " The NOAA NOS SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have air temperature data. ****These services are for testing and evaluation use only****\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables.\n" + " NOAA NOS SOS, EXPERIMENTAL, 1853-present, Air Temperature\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " ioos:VerticalPosition\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/air_temperature\n" + " \n" + " \n" + " \n" + " air_temperature (C)\n" + " air_temperature\n" + " float\n" + " \n" + " -10\n" + " 40\n" + " Temperature\n" + " Air Temperature\n" + " http://mmisw.org/ont/cf/parameter/air_temperature\n" + " air_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " quality_flags\n" + " quality_flags\n" + " String\n" + " \n" + " Quality\n" + " Quality Flags\n" + " http://mmisw.org/ont/cf/parameter/air_temperature\n" + " \n" + " \n" + "\n"; } public static EDD getnosSosBPres() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosSosBPres()); } private static String xmlFragment_nosSosBPres() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/SOS\n" + " 1.0.0\n" + " IOOS_NOS\n" + " 1440\n" + " .+\n" + " true\n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, sensor_id\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/\n" + " NOAA NOS\n" + " \n" + "Earth Science > Atmosphere > Altitude > Station Height,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Atmospheric Pressure Measurements,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Sea Level Pressure,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Static Pressure,\n" + "air, air_pressure, altitude, atmosphere, atmospheric, barometric, experimental, height, identifier, level, measurements, noaa, nos, pressure, sea, sensor, sos, static, station, time\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " The NOAA NOS SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have barometric pressure data. ****These services are for testing and evaluation use only****\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables.\n" + " NOAA NOS SOS, EXPERIMENTAL, 1853-present, Barometric Pressure\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " ioos:VerticalPosition\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/air_pressure\n" + " \n" + " \n" + " \n" + " air_pressure (mb)\n" + " air_pressure\n" + " float\n" + " \n" + " 950\n" + " 1050\n" + " Pressure\n" + " Barometric Pressure\n" + " http://mmisw.org/ont/cf/parameter/air_pressure\n" + " air_pressure\n" + " millibars\n" + " \n" + " \n" + " \n" + " quality_flags\n" + " quality_flags\n" + " String\n" + " \n" + " Quality\n" + " Quality Flags\n" + " http://mmisw.org/ont/cf/parameter/air_pressure\n" + " \n" + " \n" + "\n"; } public static EDD getnosSosCond() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosSosCond()); } private static String xmlFragment_nosSosCond() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/SOS\n" + " 1.0.0\n" + " IOOS_NOS\n" + " 1440\n" + " .+\n" + " true\n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, sensor_id\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/\n" + " NOAA NOS\n" + " \n" + "Earth Science > Atmosphere > Altitude > Station Height,\n" + "Earth Science > Oceans > Salinity/Density > Conductivity,\n" + "altitude, atmosphere, conductivity, density, electrical, experimental, height, identifier, noaa, nos, oceans, salinity, sea, sea_water_electrical_conductivity, seawater, sensor, sos, station, time, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " The NOAA NOS SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have conductivity data. ****These services are for testing and evaluation use only****\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables.\n" + " NOAA NOS SOS, EXPERIMENTAL, 1902-present, Conductivity\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " ioos:VerticalPosition\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/sea_water_electrical_conductivity\n" + " \n" + " \n" + " \n" + " sea_water_electrical_conductivity (mS/cm)\n" + " conductivity\n" + " float\n" + " \n" + " Salinity\n" + " Electrical Conductivity\n" + " http://mmisw.org/ont/cf/parameter/sea_water_electrical_conductivity\n" + " sea_water_electrical_conductivity\n" + " mS cm-1\n" + " \n" + " \n" + " \n" + " quality_flags\n" + " quality_flags\n" + " String\n" + " \n" + " Quality\n" + " Quality Flags\n" + " http://mmisw.org/ont/cf/parameter/sea_water_electrical_conductivity\n" + " \n" + " \n" + "\n"; } public static EDD getnosSosCurrents() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosSosCurrents()); } private static String xmlFragment_nosSosCurrents() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/SOS\n" + " 1.0.0\n" + " IOOS_NOS\n" + " 1440\n" + " .+\n" + " true\n" + " \n" + " \n" + " \n" + " TimeSeriesProfile\n" + " station_id, longitude, latitude, sensor_id\n" + " time\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/\n" + " NOAA NOS\n" + " \n" + "Earth Science > Atmosphere > Altitude > Station Height,\n" + "Earth Science > Oceans > Ocean Circulation > Ocean Currents,\n" + "altitude, atmosphere, circulation, current, currents, direction, experimental, height, identifier, noaa, nos, ocean, oceans, sea, sea_water_speed, seawater, sensor, sos, speed, station, time, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " The NOAA NOS SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have currents data. ****These services are for testing and evaluation use only****\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables. Requests for data from this dataset MUST be for 96 hours worth of data or less.\n" + " NOAA NOS SOS, EXPERIMENTAL, Currents\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " bin_distance (m)\n" + " -1\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " \n" + " \n" + " \n" + " sensor_depth (m)\n" + " sensor_depth\n" + " int\n" + " \n" + " 0\n" + " 100\n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " m\n" + " \n" + " \n" + " \n" + " direction_of_sea_water_velocity (degree)\n" + " direction_of_sea_water_velocity\n" + " float\n" + " \n" + " 0\n" + " 360\n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " direction_of_sea_water_velocity\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " sea_water_speed (cm/s)\n" + " sea_water_speed\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/sea_water_speed\n" + " sea_water_speed\n" + " cm s-1\n" + " \n" + " \n" + " \n" + " platform_orientation (degree)\n" + " platform_orientation\n" + " float\n" + " \n" + " 0\n" + " 360\n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " platform_pitch_angle (degree)\n" + " platform_pitch_angle\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " degrees\n" + " \n" + " \n" + " \n" + " platform_roll_angle (degree)\n" + " platform_roll_angle\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " degrees\n" + " \n" + " \n" + " \n" + " sea_water_temperature (C)\n" + " sea_water_temperature\n" + " float\n" + " \n" + " 0\n" + " 32\n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " orientation\n" + " orientation\n" + " String\n" + " \n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " \n" + " \n" + " \n" + " sampling_rate (Hz)\n" + " sampling_rate\n" + " float\n" + " \n" + " 0\n" + " 10000\n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " Hz\n" + " \n" + " \n" + " \n" + " reporting_interval (s)\n" + " reporting_interval\n" + " int\n" + " \n" + " 0\n" + " 3600\n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " s\n" + " \n" + " \n" + " \n" + " processing_level\n" + " processing_level\n" + " String\n" + " \n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " \n" + " \n" + " \n" + " bin_size (m)\n" + " bin_size\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " m\n" + " \n" + " \n" + " \n" + " first_bin_center (m)\n" + " first_bin_center\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " m\n" + " \n" + " \n" + " \n" + " number_of_bins\n" + " number_of_bins\n" + " int\n" + " \n" + " 0\n" + " 100\n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " \n" + " \n" + " \n" + " bin (count)\n" + " bin\n" + " int\n" + " \n" + " 0\n" + " 100\n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity\n" + " count\n" + " \n" + " \n" + "\n"; } public static EDD getnosSosSalinity() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosSosSalinity()); } private static String xmlFragment_nosSosSalinity() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/SOS\n" + " 1.0.0\n" + " IOOS_NOS\n" + " 1440\n" + " .+\n" + " true\n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, sensor_id\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/\n" + " NOAA NOS\n" + " \n" + "Earth Science > Atmosphere > Altitude > Station Height,\n" + "Earth Science > Oceans > Salinity/Density > Salinity,\n" + "altitude, atmosphere, density, experimental, height, identifier, noaa, nos, oceans, salinity, sea, sea_water_practical_salinity, seawater, sensor, sos, station, time, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " The NOAA NOS SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have salinity data. ****These services are for testing and evaluation use only****\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables.\n" + " NOAA NOS SOS, EXPERIMENTAL, 1902-present, Salinity\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " ioos:VerticalPosition\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/sea_water_salinity\n" + " \n" + " \n" + " \n" + " sea_water_salinity (psu)\n" + " sea_water_salinity\n" + " float\n" + " \n" + " 0 \n" + " 37.0\n" + " Salinity\n" + " http://mmisw.org/ont/cf/parameter/sea_water_salinity\n" + " Sea Water Practical Salinity\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + "\n"; } public static EDD getnosSosWind() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosSosWind()); } private static String xmlFragment_nosSosWind() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/SOS\n" + " 1.0.0\n" + " IOOS_NOS\n" + " 1440\n" + " .+\n" + " true\n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, sensor_id\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/\n" + " NOAA NOS\n" + " \n" + "Earth Science > Atmosphere > Altitude > Station Height,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "altitude, atmosphere, atmospheric, direction, experimental, from, gust, height, identifier, noaa, nos, sensor, sos, speed, station, surface, time, wind, wind_from_direction, wind_speed, wind_speed_of_gust, winds\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " The NOAA NOS SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have wind data. ****These services are for testing and evaluation use only****\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables.\n" + " NOAA NOS SOS, EXPERIMENTAL, Wind\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " ioos:VerticalPosition\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/wind_speed\n" + " \n" + " \n" + " \n" + " wind_from_direction (degree)\n" + " wind_from_direction\n" + " float\n" + " \n" + " 0\n" + " 3600\n" + " Wind\n" + " http://mmisw.org/ont/cf/parameter/wind_from_direction\n" + " wind_from_direction\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " wind_speed (m/s)\n" + " wind_speed\n" + " float\n" + " \n" + " 0\n" + " 1500\n" + " Wind\n" + " http://mmisw.org/ont/cf/parameter/wind_speed\n" + " wind_speed\n" + " m s-1\n" + " \n" + " \n" + " \n" + " wind_speed_of_gust (m/s)\n" + " wind_speed_of_gust\n" + " float\n" + " \n" + " 0\n" + " 300\n" + " Wind\n" + " http://mmisw.org/ont/cf/parameter/wind_speed_of_gust\n" + " wind_speed_of_gust\n" + " m s-1\n" + " \n" + " \n" + "\n"; } public static EDD getnosSosWLevel() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosSosWLevel()); } private static String xmlFragment_nosSosWLevel() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/SOS\n" + " 1.0.0\n" + " IOOS_NOS\n" + " 1440\n" + " .+\n" + " true\n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, sensor_id\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/\n" + " NOAA NOS\n" + " Oceans > Bathymetry/Seafloor Topography > Bathymetry\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " The NOAA NOS SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have water surface height above a reference datum. ****These services are for testing and evaluation use only****\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables.\n" + " NOAA NOS SOS, EXPERIMENTAL, 1853-present, Water Level\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " ioos:VerticalPosition\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/water_surface_height_above_reference_datum\n" + " \n" + " \n" + " \n" + " water_surface_height_above_reference_datum (m)\n" + " water_level\n" + " float\n" + " \n" + " -5\n" + " 5\n" + " Sea Level\n" + " http://mmisw.org/ont/cf/parameter/water_surface_height_above_reference_datum\n" + " water_surface_height_above_reference_datum\n" + " m\n" + " \n" + " \n" + " \n" + " datum_id\n" + " datum_id\n" + " String\n" + " \n" + " Sea Level\n" + " http://mmisw.org/ont/cf/parameter/water_surface_height_above_reference_datum\n" + " \n" + " \n" + " \n" + " vertical_position (m)\n" + " vertical_position\n" + " float\n" + " \n" + " Sea Level\n" + " http://mmisw.org/ont/cf/parameter/water_surface_height_above_reference_datum\n" + " m\n" + " \n" + " \n" + " \n" + " sigma\n" + " sigma\n" + " float\n" + " \n" + " Location\n" + " Sigma\n" + " http://mmisw.org/ont/cf/parameter/water_surface_height_above_reference_datum\n" + " \n" + " \n" + " \n" + " quality_flags\n" + " quality_flags\n" + " String\n" + " \n" + " Quality\n" + " Quality Flags\n" + " http://mmisw.org/ont/cf/parameter/water_surface_height_above_reference_datum\n" + " \n" + " \n" + "\n"; } public static EDD getnosSosWTemp() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosSosWTemp()); } private static String xmlFragment_nosSosWTemp() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/SOS\n" + " 1.0.0\n" + " IOOS_NOS\n" + " 1440\n" + " .+\n" + " true\n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, sensor_id\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/\n" + " NOAA NOS\n" + " \n" + "Earth Science > Atmosphere > Altitude > Station Height,\n" + "Earth Science > Oceans > Ocean Temperature > Water Temperature,\n" + "altitude, atmosphere, experimental, height, identifier, noaa, nos, ocean, oceans, sea, sea_water_temperature, seawater, sensor, sos, station, temperature, time, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " The NOAA NOS SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have water temperature data. ****These services are for testing and evaluation use only****\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables.\n" + " NOAA NOS SOS, EXPERIMENTAL, 1853-present, Water Temperature\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " ioos:VerticalPosition\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/sea_water_temperature\n" + " \n" + " \n" + " \n" + " sea_water_temperature (C)\n" + " sea_water_temperature\n" + " float\n" + " \n" + " 0\n" + " 32\n" + " Temperature\n" + " http://mmisw.org/ont/cf/parameter/sea_water_temperature\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " quality_flags\n" + " quality_flags\n" + " String\n" + " \n" + " Quality\n" + " Quality Flags\n" + " http://mmisw.org/ont/cf/parameter/sea_water_temperature\n" + " \n" + " \n" + "\n"; } public static EDD getndbcSosCurrents() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_ndbcSosCurrents()); } private static String xmlFragment_ndbcSosCurrents() { return "\n" + " https://sdf.ndbc.noaa.gov/sos/server.php\n" + " 1.0.0\n" + " IOOS_NDBC\n" + " 1440\n" + " .+\n" + " true\n" + " urn:ioos:network:noaa.nws.ndbc:all\n" + " featureofinterest=BBOX:\n" + " \n" + " TimeSeriesProfile\n" + " station_id, longitude, latitude, sensor_id\n" + " time\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://sdf.ndbc.noaa.gov/sos/\n" + " NOAA NDBC\n" + " \n" + "Earth Science > Oceans > Ocean Circulation > Ocean Currents,\n" + "Earth Science > Oceans > Ocean Temperature > Water Temperature,\n" + "angle, atmosphere, bad, beam, bin, circulation, correlation, currents, depth, direction, direction_of_sea_water_velocity, echo, error, flags, good, height, identifier, intensity, magnitude, ndbc, noaa, ocean, oceans, orientation, percent, pitch, platform, quality, rejected, roll, sea, sea_water_speed, sea_water_temperature, seawater, sensor, sos, speed, station, temperature, time, upward, upward_sea_water_velocity, velocity, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " The NOAA NDBC SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have currents data.\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables.\n" + "\n" + "WARNING: Always check the quality_flags before using this data. A simple criterion is: only use a row of data if the first quality_flags value for the row (overall bin status) is 3 (good data/passed quality test). You can do this by appending &quality_flags=~\"3;.*\" to your request.\n" + " NOAA NDBC SOS, 2007-present, currents\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " depth (m)\n" + " -1\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " Always check the quality_flags before using this data.\n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " \n" + " \n" + " \n" + " bin (count)\n" + " bin\n" + " byte\n" + " \n" + " \n" + " 127 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Bin\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " count\n" + " \n" + " \n" + " \n" + " direction_of_sea_water_velocity (degree)\n" + " direction_of_sea_water_velocity\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " 0.5\n" + " -0.5\n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Direction Of Sea Water Velocity\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " direction_of_sea_water_velocity\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " sea_water_speed (cm/s)\n" + " sea_water_speed\n" + " float\n" + " \n" + " \n" + " 0.5\n" + " 0.0\n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Sea Water Speed\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " sea_water_speed\n" + " cm/s\n" + " \n" + " \n" + " \n" + " upward_sea_water_velocity (cm/s)\n" + " upward_sea_water_velocity\n" + " float\n" + " \n" + " \n" + " 0.5\n" + " -0.5\n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Upward Sea Water Velocity\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " upward_sea_water_velocity\n" + " cm/s\n" + " \n" + " \n" + " \n" + " error_velocity (cm/s)\n" + " error_velocity\n" + " float\n" + " \n" + " \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Error Velocity\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " cm/s\n" + " \n" + " \n" + " \n" + " platform_orientation (degree)\n" + " platform_orientation\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Platform Orientation\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " platform_pitch_angle (degree)\n" + " platform_pitch_angle\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Platform Pitch Angle\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " degree\n" + " \n" + " \n" + " \n" + " platform_roll_angle (degree)\n" + " platform_roll_angle\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Platform Roll Angle\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " degree\n" + " \n" + " \n" + " \n" + " sea_water_temperature (C)\n" + " sea_water_temperature\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Always check the quality_flags before using this data.\n" + " Temperature\n" + " Sea Water Temperature\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " sea_water_temperature\n" + " Cel\n" + " \n" + " \n" + " \n" + " pct_good_3_beam (%)\n" + " pct_good_3_beam\n" + " byte\n" + " \n" + " \n" + " 127 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Percent Good 3 Beam\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " percent\n" + " \n" + " \n" + " \n" + " pct_good_4_beam (%)\n" + " pct_good_4_beam\n" + " byte\n" + " \n" + " \n" + " 127 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Percent Good 4 Beam\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " percent\n" + " \n" + " \n" + " \n" + " pct_rejected (%)\n" + " pct_rejected\n" + " byte\n" + " \n" + " \n" + " 127 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Percent Rejected\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " percent\n" + " \n" + " \n" + " \n" + " pct_bad (%)\n" + " pct_bad\n" + " byte\n" + " \n" + " \n" + " 127 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Percent Bad\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " percent\n" + " \n" + " \n" + " \n" + " echo_intensity_beam1 (count)\n" + " echo_intensity_beam1\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Echo Intensity Beam 1\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " count\n" + " \n" + " \n" + " \n" + " echo_intensity_beam2 (count)\n" + " echo_intensity_beam2\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Echo Intensity Beam #2\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " count\n" + " \n" + " \n" + " \n" + " echo_intensity_beam3 (count)\n" + " echo_intensity_beam3\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Echo Intensity Beam 3\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " count\n" + " \n" + " \n" + " \n" + " echo_intensity_beam4 (count)\n" + " echo_intensity_beam4\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Echo Intensity Beam 4\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " count\n" + " \n" + " \n" + " \n" + " correlation_magnitude_beam1 (count)\n" + " correlation_magnitude_beam1\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Correlation Magnitude Beam 1\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " count\n" + " \n" + " \n" + " \n" + " correlation_magnitude_beam2 (count)\n" + " correlation_magnitude_beam2\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Correlation Magnitude Beam #2\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " count\n" + " \n" + " \n" + " \n" + " correlation_magnitude_beam3 (count)\n" + " correlation_magnitude_beam3\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Correlation Magnitude Beam 3\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " count\n" + " \n" + " \n" + " \n" + " correlation_magnitude_beam4 (count)\n" + " correlation_magnitude_beam4\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Always check the quality_flags before using this data.\n" + " Currents\n" + " Correlation Magnitude Beam 4\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " count\n" + " \n" + " \n" + " \n" + " quality_flags\n" + " quality_flags\n" + " String\n" + " \n" + " \n" + " Always check the quality_flags before using this data.\n" + " These nine, semi-colon-separated quality flags represent the results of the following quality tests based on their position (left to right) in the flags field:\n" + "Flag# Meaning\n" + "----- ------------------------------------------\n" + " 1 The overall bin status\n" + " 2 The ADCP Built-In Test (BIT) status\n" + " 3 The Error Velocity test status\n" + " 4 The Percent Good test status\n" + " 5 The Correlation Magnitude test status\n" + " 6 The Vertical Velocity test status\n" + " 7 The North Horizontal Velocity test status\n" + " 8 The East Horizontal Velocity test status\n" + " 9 The Echo Intensity test status\n" + "\n" + "Valid flag values are:\n" + "0 = quality not evaluated\n" + "1 = failed quality test\n" + "2 = questionable or suspect data\n" + "3 = good data/passed quality test\n" + "9 = missing data\n" + " Quality\n" + " Quality Flags\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " \n" + " \n" + "\n"; } public static EDD getndbcSosSalinity() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_ndbcSosSalinity()); } private static String xmlFragment_ndbcSosSalinity() { return "\n" + " https://sdf.ndbc.noaa.gov/sos/server.php\n" + " 1.0.0\n" + " IOOS_NDBC\n" + " 1440\n" + " .+\n" + " true\n" + " urn:ioos:network:noaa.nws.ndbc:all\n" + " featureofinterest=BBOX:\n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, sensor_id\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://sdf.ndbc.noaa.gov/sos/\n" + " NOAA NDBC\n" + " \n" + "Earth Science > Atmosphere > Altitude > Station Height,\n" + "Earth Science > Oceans > Salinity/Density > Salinity,\n" + "altitude, atmosphere, density, height, identifier, ndbc, noaa, oceans, salinity, sea, sea_water_practical_salinity, seawater, sensor, sos, station, time, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " The NOAA NDBC SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have sea_water_practical_salinity data.\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables.\n" + " NOAA NDBC SOS, 2007-present, sea_water_practical_salinity\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " depth (m)\n" + " -1\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " \n" + " Always check the quality_flags before using this data.\n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/sea_water_salinity\n" + " \n" + " \n" + " \n" + " sea_water_salinity (psu)\n" + " sea_water_salinity\n" + " float\n" + " \n" + " 32.0\n" + " 37.0\n" + " Salinity\n" + " http://mmisw.org/ont/cf/parameter/sea_water_salinity\n" + " Sea Water Practical Salinity\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + "\n"; } public static EDD getndbcSosWTemp() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_ndbcSosWTemp()); } private static String xmlFragment_ndbcSosWTemp() { return "\n" + " http://sdf.ndbc.noaa.gov/sos/server.php\n" + " 1.0.0\n" + " IOOS_NDBC\n" + " 1440\n" + " .+\n" + " true\n" + " urn:ioos:network:noaa.nws.ndbc:all\n" + " featureofinterest=BBOX:\n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, sensor_id\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " http://sdf.ndbc.noaa.gov/sos/\n" + " NOAA NDBC\n" + " \n" + "Earth Science > Atmosphere > Altitude > Station Height,\n" + "Earth Science > Oceans > Ocean Temperature > Water Temperature,\n" + "altitude, atmosphere, height, identifier, ndbc, noaa, ocean, oceans, sea, sea_water_temperature, seawater, sensor, sos, station, temperature, time, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v29\n" + " The NOAA NDBC SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have sea_water_temperature data.\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables.\n" + " NOAA NDBC SOS, 2006-present, sea_water_temperature\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " depth (m)\n" + " -1\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " \n" + " Always check the quality_flags before using this data.\n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/sea_water_temperature\n" + " \n" + " \n" + " \n" + " sea_water_temperature (C)\n" + " sea_water_temperature\n" + " float\n" + " \n" + " 0\n" + " 32\n" + " Temperature\n" + " Sea Water Temperature\n" + " http://mmisw.org/ont/cf/parameter/sea_water_temperature\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + "\n"; } public static EDD getndbcSosWLevel() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_ndbcSosWLevel()); } private static String xmlFragment_ndbcSosWLevel() { return "\n" + " https://sdf.ndbc.noaa.gov/sos/server.php\n" + " 1.0.0\n" + " IOOS_NDBC\n" + " 1440\n" + " .+\n" + " true\n" + " urn:ioos:network:noaa.nws.ndbc:all\n" + " featureofinterest=BBOX:\n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, sensor_id\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://sdf.ndbc.noaa.gov/sos/\n" + " NOAA NDBC\n" + " Oceans > Bathymetry/Seafloor Topography > Bathymetry,\n" + "altitude, atmosphere, averaging, below, depth, floor, height, identifier, interval, level, ndbc, noaa, sea, sea level, sensor, sos, station, surface, time\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " The NOAA NDBC SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have sea_floor_depth_below_sea_surface data.\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables.\n" + " NOAA NDBC SOS, 2008-present, sea_floor_depth_below_sea_surface\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " sea_floor_depth_below_sea_surface (m)\n" + " -1\n" + " 0\n" + " 8000\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " \n" + " Always check the quality_flags before using this data.\n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/sea_floor_depth_below_sea_surface\n" + " \n" + " \n" + " \n" + " averaging interval (s)\n" + " averaging_interval\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " Sea Level\n" + " Averaging Interval\n" + " http://mmisw.org/ont/cf/parameter/sea_floor_depth_below_sea_surface\n" + " s\n" + " \n" + " \n" + "\n"; } public static EDD getndbcSosWind() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_ndbcSosWind()); } private static String xmlFragment_ndbcSosWind() { return "\n" + " https://sdf.ndbc.noaa.gov/sos/server.php\n" + " 1.0.0\n" + " IOOS_NDBC\n" + " 1440\n" + " .+\n" + " true\n" + " urn:ioos:network:noaa.nws.ndbc:all\n" + " featureofinterest=BBOX:\n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, sensor_id\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://sdf.ndbc.noaa.gov/sos/\n" + " NOAA NDBC\n" + " \n" + "Earth Science > Atmosphere > Altitude > Station Height,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Vertical Wind Motion,\n" + "air, altitude, atmosphere, atmospheric, direction, from, gust, height, identifier, ndbc, noaa, sensor, sos, speed, station, surface, time, upward, velocity, wind, wind_from_direction, wind_speed, wind_speed_of_gust, winds\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " The NOAA NDBC SOS server is part of the IOOS DIF SOS Project. The stations in this dataset have winds data.\n" + "\n" + "Because of the nature of SOS requests, requests for data MUST include constraints for the longitude, latitude, time, and/or station_id variables.\n" + " NOAA NDBC SOS, 2006-present, winds\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " depth (m)\n" + " -1\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " Always check the quality_flags before using this data.\n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/winds\n" + " \n" + " \n" + " \n" + " wind_from_direction (degree)\n" + " wind_from_direction\n" + " float\n" + " \n" + " 0\n" + " 360\n" + " Wind\n" + " Wind From Direction\n" + " http://mmisw.org/ont/cf/parameter/winds\n" + " wind_from_direction\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " wind_speed (m/s)\n" + " wind_speed\n" + " float\n" + " \n" + " 0\n" + " 15\n" + " Wind\n" + " Wind Speed\n" + " http://mmisw.org/ont/cf/parameter/winds\n" + " wind_speed\n" + " m s-1\n" + " \n" + " \n" + " \n" + " wind_speed_of_gust (m/s)\n" + " wind_speed_of_gust\n" + " float\n" + " \n" + " 0\n" + " 30\n" + " Wind\n" + " Wind Speed of Gust\n" + " http://mmisw.org/ont/cf/parameter/winds\n" + " wind_speed_of_gust\n" + " m s-1\n" + " \n" + " \n" + " \n" + " upward_air_velocity (m/s)\n" + " upward_air_velocity\n" + " float\n" + " \n" + " 0\n" + " 10\n" + " Wind\n" + " Upward Air Velocity\n" + " http://mmisw.org/ont/cf/parameter/winds\n" + " m s-1\n" + " \n" + " \n" + "\n"; } public static EDD getgomoosBuoy() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_gomoosBuoy()); } private static String xmlFragment_gomoosBuoy() { return "\n" + " http://neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi\n" + " 1.0.0\n" + " OOSTethys\n" + " 1440\n" + " .+\n" + " false\n" + " ALL_PLATFORMS\n" + " BBOX=\n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " Eric Bridger\n" + " ebridger@gmri.org\n" + " person\n" + " null\n" + " https://tidesandcurrents.noaa.gov/gomoos.html\n" + " GoMOOS\n" + " \n" + "Earth Science > Atmosphere > Air Quality > Visibility,\n" + "Earth Science > Atmosphere > Altitude > Station Height,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Atmospheric Pressure Measurements,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Sea Level Pressure,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Static Pressure,\n" + "Earth Science > Atmosphere > Atmospheric Temperature > Air Temperature,\n" + "Earth Science > Atmosphere > Atmospheric Temperature > Surface Air Temperature,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "Earth Science > Oceans > Ocean Chemistry > Chlorophyll,\n" + "Earth Science > Oceans > Ocean Circulation > Ocean Currents,\n" + "Earth Science > Oceans > Ocean Temperature > Water Temperature,\n" + "Earth Science > Oceans > Ocean Waves > Significant Wave Height,\n" + "Earth Science > Oceans > Ocean Waves > Swells,\n" + "Earth Science > Oceans > Ocean Waves > Wave Period,\n" + "Earth Science > Oceans > Salinity/Density > Conductivity,\n" + "Earth Science > Oceans > Salinity/Density > Density,\n" + "Earth Science > Oceans > Salinity/Density > Salinity,\n" + "air, air_pressure_at_sea_level, air_temperature, altitude, atmosphere, atmospheric, boston harbor, buzzards bay, cape cod, chemistry, chlorophyll, circulation, color, concentration, concentration_of_chlorophyll_in_sea_water, conductivity, currents, data, density, direction, direction_of_sea_water_velocity, dominant, dominant_wave_period, electrical, from, gomoos, gulf of maine, gust, height, identifier, level, long island sound, measurements, meteorology, narragansett bay, ocean, ocean color, ocean currents, ocean observations, oceanography, oceans, period, pressure, quality, salinity, sea, sea_water_density, sea_water_electrical_conductivity, sea_water_practical_salinity, sea_water_speed, sea_water_temperature, seawater, sensor, server, significant, significant_height_of_wind_and_swell_waves, sos, speed, static, station, surface, surface waves, swell, swells, temperature, time, velocity, visibility, visibility_in_air, water, water temperature, wave, waves, weather, wind, wind_from_direction, wind_speed, wind_speed_of_gust, winds\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " [standard]\n" + " Sensor Data from the GoMOOS SOS Server, 2000-present\n" + " \n" + " PlatformName\n" + " longitude\n" + " latitude\n" + " depth\n" + " 0\n" + " 0\n" + " -1\n" + " time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " air_temperature\n" + " double\n" + " \n" + " 0.0\n" + " 32.0\n" + " Temperature\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:air_temperature\n" + " Air Temperature\n" + " air_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " chlorophyll\n" + " double\n" + " \n" + " 0.03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:chlorophyll\n" + " Chlorophyll\n" + " concentration_of_chlorophyll_in_sea_water\n" + " mg m-3\n" + " \n" + " \n" + " \n" + " direction_of_sea_water_velocity\n" + " double\n" + " \n" + " 0\n" + " 360\n" + " Currents\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:direction_of_sea_water_velocity\n" + " Direction of Sea Water Velocity\n" + " direction_of_sea_water_velocity\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " dominant_wave_period\n" + " double\n" + " \n" + " 0\n" + " 20\n" + " Surface Waves\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:dominant_wave_period\n" + " Dominant Wave Period\n" + " dominant_wave_period\n" + " s\n" + " \n" + " \n" + " \n" + " sea_level_pressure\n" + " double\n" + " \n" + " 950\n" + " 1050\n" + " Pressure\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:sea_level_pressure\n" + " Air Pressure at Sea Level\n" + " air_pressure_at_sea_level\n" + " hPa\n" + " \n" + " \n" + " \n" + " sea_water_density\n" + " double\n" + " \n" + " 20\n" + " 28\n" + " Other\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:sea_water_density\n" + " Sea Water Density\n" + " sea_water_density\n" + " kg m-3\n" + " \n" + " \n" + " \n" + " sea_water_electrical_conductivity\n" + " double\n" + " \n" + " 0\n" + " 40\n" + " Salinity\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:sea_water_electrical_conductivity\n" + " Sea Water Electrical Conductivity\n" + " sea_water_electrical_conductivity\n" + " S m-1\n" + " \n" + " \n" + " \n" + " sea_water_salinity\n" + " double\n" + " \n" + " 32\n" + " 37\n" + " Salinity\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:sea_water_salinity\n" + " Sea Water Practical Salinity\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " sea_water_speed\n" + " double\n" + " \n" + " 0\n" + " 50\n" + " Currents\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:sea_water_speed\n" + " Sea Water Speed\n" + " sea_water_speed\n" + " cm s-1\n" + " \n" + " \n" + " \n" + " sea_water_temperature\n" + " double\n" + " \n" + " 0\n" + " 32\n" + " Temperature\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:sea_water_temperature\n" + " Sea Water Temperature\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " significant_height_of_wind_and_swell_waves\n" + " wave_height\n" + " double\n" + " \n" + " 0\n" + " 10\n" + " Surface Waves\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:significant_height_of_wind_and_swell_waves\n" + " Significant Height of Wind and Swell Waves\n" + " significant_height_of_wind_and_swell_waves\n" + " m\n" + " \n" + " \n" + " \n" + " visibility_in_air\n" + " double\n" + " \n" + " 0\n" + " 100\n" + " Meteorology\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:visibility_in_air\n" + " Visibility in Air\n" + " visibility_in_air\n" + " m\n" + " \n" + " \n" + " \n" + " wind_from_direction\n" + " double\n" + " \n" + " 0\n" + " 360\n" + " Wind\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:wind_from_direction\n" + " Wind From Direction\n" + " wind_from_direction\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " wind_gust\n" + " double\n" + " \n" + " 0\n" + " 30\n" + " Wind\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:wind_gust\n" + " Wind Gust\n" + " wind_speed_of_gust\n" + " m s-1\n" + " \n" + " \n" + " \n" + " wind_speed\n" + " double\n" + " \n" + " 0\n" + " 15\n" + " Wind\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:wind_speed\n" + " Wind Speed\n" + " wind_speed\n" + " m s-1\n" + " \n" + " \n" + "\n"; } public static EDD getneracoosSos() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_neracoosSos()); } private static String xmlFragment_neracoosSos() { return "\n" + " http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi\n" + " 1.0.0\n" + " OOSTethys\n" + " 1440\n" + " .+\n" + " false\n" + " ALL_PLATFORMS\n" + " BBOX=\n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " Eric Bridger\n" + " ebridger@gmri.org\n" + " person\n" + " null\n" + " http://www.neracoos.org/\n" + " NERACOOS\n" + " \n" + "Earth Science > Atmosphere > Air Quality > Visibility,\n" + "Earth Science > Atmosphere > Altitude > Station Height,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Atmospheric Pressure Measurements,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Sea Level Pressure,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Static Pressure,\n" + "Earth Science > Atmosphere > Atmospheric Temperature > Air Temperature,\n" + "Earth Science > Atmosphere > Atmospheric Temperature > Surface Air Temperature,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "Earth Science > Oceans > Ocean Chemistry > Chlorophyll,\n" + "Earth Science > Oceans > Ocean Circulation > Ocean Currents,\n" + "Earth Science > Oceans > Ocean Temperature > Water Temperature,\n" + "Earth Science > Oceans > Ocean Waves > Significant Wave Height,\n" + "Earth Science > Oceans > Ocean Waves > Swells,\n" + "Earth Science > Oceans > Ocean Waves > Wave Period,\n" + "Earth Science > Oceans > Salinity/Density > Conductivity,\n" + "Earth Science > Oceans > Salinity/Density > Density,\n" + "Earth Science > Oceans > Salinity/Density > Salinity,\n" + "air, air_pressure_at_sea_level, air_temperature, altitude, atmosphere, atmospheric, boston harbor, buzzards bay, cape cod, chemistry, chlorophyll, circulation, color, concentration, concentration_of_chlorophyll_in_sea_water, conductivity, currents, data, density, direction, direction_of_sea_water_velocity, dominant, dominant_wave_period, electrical, from, gulf of maine, gust, height, identifier, level, long island sound, measurements, meteorology, narragansett bay, neracoos, ocean, ocean color, ocean currents, ocean observations, oceanography, oceans, period, pressure, quality, salinity, sea, sea_water_density, sea_water_electrical_conductivity, sea_water_practical_salinity, sea_water_speed, sea_water_temperature, seawater, sensor, server, significant, significant_height_of_wind_and_swell_waves, sos, speed, static, station, surface, surface waves, swell, swells, temperature, time, velocity, visibility, visibility_in_air, water, water temperature, wave, waves, weather, wind, wind_from_direction, wind_speed, wind_speed_of_gust, winds\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " Northeastern Regional Association of Coastal Ocean\n" + " Observing Systems (NERACOOS) Sensor Observation Service (SOS)\n" + " [standard]\n" + " Sensor Data from the NERACOOS SOS Server, 2000-present\n" + " \n" + " PlatformName\n" + " longitude\n" + " latitude\n" + " depth\n" + " 0\n" + " 0\n" + " -1\n" + " time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " air_temperature\n" + " double\n" + " \n" + " 0.0\n" + " 32.0\n" + " Temperature\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:air_temperature\n" + " Air Temperature\n" + " air_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " chlorophyll\n" + " double\n" + " \n" + " 0.03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:chlorophyll\n" + " Chlorophyll\n" + " concentration_of_chlorophyll_in_sea_water\n" + " mg m-3\n" + " \n" + " \n" + " \n" + " direction_of_sea_water_velocity\n" + " double\n" + " \n" + " 0\n" + " 360\n" + " Currents\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:direction_of_sea_water_velocity\n" + " Direction of Sea Water Velocity\n" + " direction_of_sea_water_velocity\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " dominant_wave_period\n" + " double\n" + " \n" + " 0\n" + " 20\n" + " Surface Waves\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:dominant_wave_period\n" + " Dominant Wave Period\n" + " dominant_wave_period\n" + " s\n" + " \n" + " \n" + " \n" + " sea_level_pressure\n" + " double\n" + " \n" + " 950\n" + " 1050\n" + " Pressure\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:sea_level_pressure\n" + " Air Pressure at Sea Level\n" + " air_pressure_at_sea_level\n" + " hPa\n" + " \n" + " \n" + " \n" + " sea_water_density\n" + " double\n" + " \n" + " 20\n" + " 28\n" + " Other\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:sea_water_density\n" + " Sea Water Density\n" + " sea_water_density\n" + " kg m-3\n" + " \n" + " \n" + " \n" + " sea_water_electrical_conductivity\n" + " double\n" + " \n" + " 0\n" + " 40\n" + " Salinity\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:sea_water_electrical_conductivity\n" + " Sea Water Electrical Conductivity\n" + " sea_water_electrical_conductivity\n" + " S m-1\n" + " \n" + " \n" + " \n" + " sea_water_salinity\n" + " double\n" + " \n" + " 32\n" + " 37\n" + " Salinity\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:sea_water_salinity\n" + " Sea Water Practical Salinity\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " sea_water_speed\n" + " double\n" + " \n" + " 0\n" + " 50\n" + " Currents\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:sea_water_speed\n" + " Sea Water Speed\n" + " sea_water_speed\n" + " cm s-1\n" + " \n" + " \n" + " \n" + " sea_water_temperature\n" + " double\n" + " \n" + " 0\n" + " 32\n" + " Temperature\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:sea_water_temperature\n" + " Sea Water Temperature\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " significant_height_of_wind_and_swell_waves\n" + " wave_height\n" + " double\n" + " \n" + " 0\n" + " 10\n" + " Surface Waves\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:significant_height_of_wind_and_swell_waves\n" + " Significant Height of Wind and Swell Waves\n" + " significant_height_of_wind_and_swell_waves\n" + " m\n" + " \n" + " \n" + " \n" + " visibility_in_air\n" + " double\n" + " \n" + " 0\n" + " 100\n" + " Meteorology\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:visibility_in_air\n" + " Visibility in Air\n" + " visibility_in_air\n" + " m\n" + " \n" + " \n" + " \n" + " wind_from_direction\n" + " double\n" + " \n" + " 0\n" + " 360\n" + " Wind\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:wind_from_direction\n" + " Wind From Direction\n" + " wind_from_direction\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " wind_gust\n" + " double\n" + " \n" + " 0\n" + " 30\n" + " Wind\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:wind_gust\n" + " Wind Gust\n" + " wind_speed_of_gust\n" + " m s-1\n" + " \n" + " \n" + " \n" + " wind_speed\n" + " double\n" + " \n" + " 0\n" + " 15\n" + " Wind\n" + " urn:ogc:def:phenomenon:mmisw.org:cf:wind_speed\n" + " Wind Speed\n" + " wind_speed\n" + " m s-1\n" + " \n" + " \n" + "\n"; } public static EDD gettamuSos() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_tamuSos()); } private static String xmlFragment_tamuSos() { return "\n" + " http://sos-ws.tamu.edu/tethys/tabs\n" + " 1.0.0\n" + " OOSTethys\n" + " 1440\n" + " .+\n" + " false\n" + " longitude\n" + " latitude\n" + " depth\n" + " -1\n" + " time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, altitude\n" + " station_id, longitude, latitude, altitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " http://tabs.gerg.tamu.edu\n" + " TAMU GERG\n" + " \n" + "Atmosphere > Atmospheric Pressure > Sea Level Pressure,\n" + "Oceans > Salinity/Density > Salinity\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " Test SOS Service for salinity (and more?) from Ocean Buoys - Data provided by\n" + " the Geochemical and Enviromental Research Group (GERG) at TAMU:\n" + " http://tabs.gerg.tamu.edu. NOTE: These products are experimental and should not be used\n" + " in Critical decision making processes\n" + " TAMU/GERG SOS Service\n" + " \n" + " \n" + " air_pressure_at_sea_level\n" + " air_pressure\n" + " double\n" + " \n" + " Pressure\n" + " Air Pressure at Sea Level\n" + " http://marinemetadata.org/cf#air_pressure_at_sea_level\n" + " air_pressure_at_sea_level\n" + " hPa\n" + " \n" + " \n" + " \n" + " air_temperature\n" + " double\n" + " \n" + " Temperature\n" + " Air Temperature\n" + " http://marinemetadata.org/cf#air_temperature\n" + " air_temperature\n" + " degree_C\n" + " \n" + " \n" + "\n"; } public static EDD gettabletest2DVSameSource() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_tabletest2DVSameSource()); } private static String xmlFragment_tabletest2DVSameSource() { return "\n" + " https://sdf.ndbc.noaa.gov/sos/server.php\n" + " 1.0.0\n" + " IOOS_NDBC\n" + " 1\n" + " .+\n" + " true\n" + " urn:ioos:network:noaa.nws.ndbc:all\n" + " featureofinterest=BBOX:\n" + " \n" + " TimeSeriesProfile\n" + " station_id, longitude, latitude, sensor_id\n" + " time\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://sdf.ndbc.noaa.gov/sos/\n" + " NOAA NDBC\n" + " atmosphere\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " my summary\n" + " NOAA NDBC SOS, currents\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " depth (m)\n" + " -1\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " Always check the quality_flags before using this data.\n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " \n" + " \n" + " \n" + " bin (count)\n" + " bin\n" + " byte\n" + " \n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " count\n" + " \n" + " \n" + " \n" + " sensor_id\n" + " sensor_id2\n" + " String\n" + " \n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " \n" + " \n" + "\n"; } public static EDD gettabletest2DVSameDestination() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_tabletest2DVSameDestination()); } private static String xmlFragment_tabletest2DVSameDestination() { return "\n" + " https://sdf.ndbc.noaa.gov/sos/server.php\n" + " 1.0.0\n" + " IOOS_NDBC\n" + " 1\n" + " .+\n" + " true\n" + " urn:ioos:network:noaa.nws.ndbc:all\n" + " featureofinterest=BBOX:\n" + " \n" + " TimeSeriesProfile\n" + " station_id, longitude, latitude, sensor_id\n" + " time\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://sdf.ndbc.noaa.gov/sos/\n" + " NOAA NDBC\n" + " atmosphere\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " my summary\n" + " NOAA NDBC SOS, currents\n" + " \n" + " longitude (degree)\n" + " latitude (degree)\n" + " depth (m)\n" + " -1\n" + " date_time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " sensor_id\n" + " String\n" + " \n" + " Always check the quality_flags before using this data.\n" + " Identifier\n" + " Sensor ID\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " \n" + " \n" + " \n" + " bin (count)\n" + " bin\n" + " byte\n" + " \n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " count\n" + " \n" + " \n" + " \n" + " direction_of_sea_water_velocity (degree)\n" + " sensor_id\n" + " short\n" + " \n" + " Currents\n" + " http://mmisw.org/ont/cf/parameter/currents\n" + " degrees_true\n" + " \n" + " \n" + "\n"; } public static EDD gettestErddapSos() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testErddapSos()); } private static String xmlFragment_testErddapSos() { return "\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/server\n" + " 1.0.0\n" + " 10080\n" + " .+\n" + " true\n" + " longitude\n" + " latitude\n" + " ioos:VerticalPosition\n" + " time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " TimeSeries\n" + " station_id, longitude, latitude, altitude\n" + " station_id, longitude, latitude, altitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://www.ndbc.noaa.gov/\n" + " NDBC, NOAA NMFS SWFSC ERD\n" + " \n" + "Atmosphere > Atmospheric Pressure > Sea Level Pressure,\n" + "Atmosphere > Atmospheric Winds > Surface Winds,\n" + "Oceans > Ocean Temperature > Sea Surface Temperature,\n" + "Oceans > Ocean Waves > Wave Period,\n" + "Oceans > Ocean Waves > Wave Height,\n" + "Oceans > Ocean Waves > Wave Speed/Direction\n" + " GCMD Science Keywords\n" + " [standard]\n" + " https://www.ndbc.noaa.gov/\n" + " CF Standard Name Table v70\n" + " The National Data Buoy Center (NDBC) manages the development, operations, and maintenance of the national data buoy network. It serves as the NOAA focal point for data buoy and associated meteorological and environmental monitoring technology. It provides high quality meteorological/environmental data in real time from automated observing systems that include buoys and a Coastal-Marine Automated Network (C-MAN) in the open ocean and coastal zone surrounding the United States.\n" + " NDBC Standard Meteorological Buoy Data (via ERDDAP's SOS server)\n" + " \n" + " \n" + " wd\n" + " short\n" + " \n" + " 0\n" + " 360\n" + " \n" + " Wind\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " wind_from_direction\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " wspd\n" + " float\n" + " \n" + " 0\n" + " 15\n" + " \n" + " Wind\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " wind_speed\n" + " m s-1\n" + " \n" + " \n" + " \n" + " gst\n" + " float\n" + " \n" + " 0\n" + " 30\n" + " \n" + " Wind\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " wind_speed_of_gust\n" + " m s-1\n" + " \n" + " \n" + " \n" + " wvht\n" + " float\n" + " \n" + " 0\n" + " 10\n" + " \n" + " Surface Waves\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " sea_surface_swell_wave_significant_height\n" + " m\n" + " \n" + " \n" + " \n" + " dpd\n" + " float\n" + " \n" + " 0\n" + " 20\n" + " \n" + " Surface Waves\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " sea_surface_swell_wave_period\n" + " s\n" + " \n" + " \n" + " \n" + " apd\n" + " float\n" + " \n" + " 0\n" + " 20\n" + " \n" + " Surface Waves\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " sea_surface_swell_wave_period\n" + " s\n" + " \n" + " \n" + " \n" + " mwd\n" + " short\n" + " \n" + " 0\n" + " 360\n" + " \n" + " Surface Waves\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " sea_surface_swell_wave_to_direction\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " bar\n" + " float\n" + " \n" + " 950\n" + " 1050\n" + " \n" + " Pressure\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " air_pressure_at_sea_level\n" + " hPa\n" + " \n" + " \n" + " \n" + " atmp\n" + " float\n" + " \n" + " 0\n" + " 40\n" + " \n" + " Temperature\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " air_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " wtmp\n" + " float\n" + " \n" + " 0\n" + " 32\n" + " \n" + " Temperature\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " sea_surface_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " dewp\n" + " float\n" + " \n" + " 0\n" + " 40\n" + " \n" + " Meteorology\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " dew_point_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " vis\n" + " float\n" + " \n" + " 0\n" + " 100\n" + " \n" + " Meteorology\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " visibility_in_air\n" + " km\n" + " \n" + " \n" + " \n" + " ptdy\n" + " float\n" + " \n" + " -3\n" + " 3\n" + " \n" + " Pressure\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " tendency_of_air_pressure\n" + " hPa\n" + " \n" + " \n" + " \n" + " tide\n" + " float\n" + " \n" + " -5\n" + " 5\n" + " \n" + " Sea Level\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " surface_altitude\n" + " m\n" + " \n" + " \n" + " \n" + " wspu\n" + " float\n" + " \n" + " -15\n" + " 15\n" + " \n" + " Wind\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " eastward_wind\n" + " m s-1\n" + " \n" + " \n" + " \n" + " wspv\n" + " float\n" + " \n" + " -15\n" + " 15\n" + " \n" + " Wind\n" + " http://localhost:8080/erddap/sos/cwwcNDBCMet/phenomenaDictionary.xml#cwwcNDBCMet\n" + " northward_wind\n" + " m s-1\n" + " \n" + " \n" + "\n"; } public static EDD getkgsBoreTempWVTRUE() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_kgsBoreTempWVTRUE()); } private static String xmlFragment_kgsBoreTempWVTRUE() { return "\n" + " 1000000\n" + " 0\n" + " last\n" + " 0\n" + " false\n" + " \n" + " \n" + " \n" + " Point\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " Kentucky Geological Survey\n" + " https://www.uky.edu/KGS/\n" + " https://www.uky.edu/KGS/\n" + " Kentucky Geological Survey\n" + " apino, bit, BitDiameterTD, bore, bottom, casing, CasingBottomDepthDriller, CasingPipeDiameter, CasingThickness, CasingTopDepth, CasingWeight, circulation, CirculationDuration, commodity, CommodityOfInterest, corrected, CorrectedTemperature, county, data, date, degree, depth, DepthOfMeasurement, DepthReferencePoint, diameter, driller, DrillerTotalDepth, drilling, duration, elevation, ElevationDF, ElevationGL, ElevationKB, ended, EndedDrillingDate, field, formation, FormationTD, function, geological, header, HeaderURI, information, InformationSource, interest, interval, kentucky, label, latitude, lease, LeaseName, LeaseNo, LeaseOwner, length, LengthUnits, LocationUncertaintyRadius, LocationUncertaintyStatement, long, longitude, maximum, MaximumRecordedTemperature, measured, MeasuredTemperature, measurement, MeasurementDateTime, MeasurementFormation, MeasurementProcedure, MeasurementSource, name, notes, observation, ObservationURI, operator, OtherName, owner, pipe, point, procedure, producing, ProducingInterval, production, quality, radius, recorded, reference, related, RelatedResource, release, ReleaseDate, resource, salinity, shape, Shape_gml_Point_latitude, Shape_gml_Point_longitude, since, source, spud, srs, state, statement, status, StatusDate, survey, temperature, TemperatureUnits, thickness, time, TimeSinceCirculation, title, top, total, true, TrueVerticalDepth, type, uncertainty, units, utm, UTM_E, UTM_N, vertical, weight, well, WellBoreShape, WellName, WellType\n" + " [standard]\n" + " /wfs:FeatureCollection/wfs:member\n" + " https://kgs.uky.edu/usgin/services/aasggeothermal/WVBoreholeTemperatures/MapServer/WFSServer?request=GetFeature&service=WFS&typename=aasg:BoreholeTemperature&format="text/xml;%20subType=gml/3.1.1/profiles/gmlsf/1.0.0/0"\n" + " CF Standard Name Table v70\n" + " State, UTM_E, UTM_N, SRS, LocationUncertaintyRadius, LengthUnits, ElevationKB, ElevationDF, BitDiameterTD, MaximumRecordedTemperature, CorrectedTemperature, TemperatureUnits, CirculationDuration, MeasurementSource, CasingBottomDepthDriller, CasingTopDepth, CasingPipeDiameter, CasingWeight, CasingThickness, pH\n" + " The summary. Kentucky Geological Survey data from a local source.\n" + " The Title\n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:ObservationURI\n" + " ObservationURI\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Observation URI\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:WellName\n" + " WellName\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Well Name\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:APINo\n" + " APINo\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " APINo\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:HeaderURI\n" + " HeaderURI\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Header URI\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:OtherName\n" + " OtherName\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Other Name\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:Label\n" + " Label\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Label\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:Operator\n" + " Operator\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Operator\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:SpudDate\n" + " time\n" + " String\n" + " \n" + " \n" + " Time\n" + " Spud Date\n" + " aasg:BoreholeTemperature/aasg:SpudDate\n" + " time\n" + " 1970-01-01T00:00:00Z\n" + " yyyy-MM-dd'T'HH:mm:ss\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:EndedDrillingDate\n" + " EndedDrillingDate\n" + " String\n" + " \n" + " \n" + " Time\n" + " Ended Drilling Date\n" + " time\n" + " 1970-01-01T00:00:00Z\n" + " yyyy-MM-dd'T'HH:mm:ss\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:WellType\n" + " WellType\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Well Type\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:StatusDate\n" + " StatusDate\n" + " String\n" + " \n" + " \n" + " Time\n" + " Status Date\n" + " time\n" + " 1970-01-01T00:00:00Z\n" + " yyyy-MM-dd'T'HH:mm:ss\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:ReleaseDate\n" + " ReleaseDate\n" + " String\n" + " \n" + " \n" + " Time\n" + " Release Date\n" + " time\n" + " 1970-01-01T00:00:00Z\n" + " yyyy-MM-dd'T'HH:mm:ss\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:Field\n" + " Field\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Field\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:County\n" + " County\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " County\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:State\n" + " State\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " State\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:UTM_E\n" + " UTM_E\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " UTM E\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:UTM_N\n" + " UTM_N\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " UTM N\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:LatDegree\n" + " latitude\n" + " double\n" + " \n" + " \n" + " Unknown\n" + " Lat Degree\n" + " aasg:BoreholeTemperature/aasg:LatDegree\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:LongDegree\n" + " longitude\n" + " double\n" + " \n" + " \n" + " Unknown\n" + " Long Degree\n" + " aasg:BoreholeTemperature/aasg:LongDegree\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:SRS\n" + " SRS\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " SRS\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:LocationUncertaintyStatement\n" + " LocationUncertaintyStatement\n" + " String\n" + " \n" + " \n" + " Quality\n" + " Location Uncertainty Statement\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:LocationUncertaintyRadius\n" + " LocationUncertaintyRadius\n" + " float\n" + " \n" + " \n" + " Quality\n" + " Location Uncertainty Radius\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:DrillerTotalDepth\n" + " DrillerTotalDepth\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Driller Total Depth\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:DepthReferencePoint\n" + " DepthReferencePoint\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Depth Reference Point\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:LengthUnits\n" + " LengthUnits\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Length Units\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:WellBoreShape\n" + " WellBoreShape\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Well Bore Shape\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:TrueVerticalDepth\n" + " TrueVerticalDepth\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " True Vertical Depth\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:ElevationKB\n" + " ElevationKB\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Elevation KB\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:ElevationDF\n" + " ElevationDF\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Elevation DF\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:ElevationGL\n" + " ElevationGL\n" + " short\n" + " \n" + " \n" + " 32767\n" + " Unknown\n" + " Elevation GL\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:FormationTD\n" + " FormationTD\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Formation TD\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:BitDiameterTD\n" + " BitDiameterTD\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Bit Diameter TD\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:MaximumRecordedTemperature\n" + " MaximumRecordedTemperature\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Maximum Recorded Temperature\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:MeasuredTemperature\n" + " MeasuredTemperature\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Measured Temperature\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:CorrectedTemperature\n" + " CorrectedTemperature\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Corrected Temperature\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:TemperatureUnits\n" + " TemperatureUnits\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Temperature Units\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:CirculationDuration\n" + " CirculationDuration\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Circulation Duration\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:MeasurementProcedure\n" + " MeasurementProcedure\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Measurement Procedure\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:DepthOfMeasurement\n" + " DepthOfMeasurement\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Depth Of Measurement\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:MeasurementDateTime\n" + " MeasurementDateTime\n" + " String\n" + " \n" + " \n" + " Time\n" + " Measurement Date Time\n" + " time\n" + " 1970-01-01T00:00:00Z\n" + " yyyy-MM-dd'T'HH:mm:ss\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:MeasurementFormation\n" + " MeasurementFormation\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Measurement Formation\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:MeasurementSource\n" + " MeasurementSource\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Measurement Source\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:RelatedResource\n" + " RelatedResource\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Related Resource\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:CasingBottomDepthDriller\n" + " CasingBottomDepthDriller\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Casing Bottom Depth Driller\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:CasingTopDepth\n" + " CasingTopDepth\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Casing Top Depth\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:CasingPipeDiameter\n" + " CasingPipeDiameter\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Casing Pipe Diameter\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:CasingWeight\n" + " CasingWeight\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Casing Weight\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:CasingThickness\n" + " CasingThickness\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Casing Thickness\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:pH\n" + " pH\n" + " float\n" + " \n" + " \n" + " Salinity\n" + " pH\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:InformationSource\n" + " InformationSource\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Information Source\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:Shape/gml:Point/latitude\n" + " Shape_gml_Point_latitude\n" + " double\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " Latitude\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:Shape/gml:Point/longitude\n" + " Shape_gml_Point_longitude\n" + " double\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " Longitude\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:LeaseName\n" + " LeaseName\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Lease Name\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:LeaseOwner\n" + " LeaseOwner\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Lease Owner\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:LeaseNo\n" + " LeaseNo\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Lease No\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:TimeSinceCirculation\n" + " TimeSinceCirculation\n" + " short\n" + " \n" + " \n" + " 32767\n" + " Unknown\n" + " Time Since Circulation\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:Status\n" + " Status\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Status\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:CommodityOfInterest\n" + " CommodityOfInterest\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Commodity Of Interest\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:Function\n" + " Function\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Function\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:Production\n" + " Production\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Production\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:ProducingInterval\n" + " ProducingInterval\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Producing Interval\n" + " \n" + " \n" + " \n" + " aasg:BoreholeTemperature/aasg:Notes\n" + " Notes\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Notes\n" + " \n" + " \n" + "\n"; } public static EDD gettestFromMqtt() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testFromMqtt()); } private static String xmlFragment_testFromMqtt() throws URISyntaxException { return "\n" + " " + Path.of(EDDTestDataset.class.getResource("/testFromMqtt").toURI()) + " \n" + " broker.hivemq.com\n" + " 1883\n" + " client-id\n" + " ${localhost:canonical-name}\n" + " ${date:yyyy-MM-dd}\n" + " test/topic1\n" + " false\n" + " 10\n" + " 10\n" + " true" + " false\n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " NOAA NDBC\n" + " https://www.ndbc.noaa.gov/\n" + " https://www.ndbc.noaa.gov/\n" + " NOAA NDBC\n" + " boolean, byte, char, double, float, int, long, ndbc, newer, noaa, short, string, title\n" + " [standard]\n" + " null\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " The new summary!\n" + " The Newer Title!\n" + " \n" + " \n" + " lat\n" + " double\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " lon\n" + " double\n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " temperature\n" + " double\n" + " \n" + " Identifier\n" + " \n" + " \n" + "\n"; } public static EDD gettestFromHttpGet() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testFromHttpGet()); } private static String xmlFragment_testFromHttpGet() throws URISyntaxException { return "\n" + " 1440\n" + " -1\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/testFromHttpGet/").toURI()) .toString() + "\n" + " .*\\.jsonl\n" + " true\n" + " .*\n" + " last\n" + " \n" + " stationID, time\n" + " false\n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " stationID, latitude, longitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " stationID/2months\n" + " JohnSmith_JohnSmithKey, HOBOLogger_HOBOLoggerKey, QCScript59_QCScript59Key\n" + " stationID, time\n" + " https://erddap.github.io/docs/server-admin/datasets\n" + " NOAA NMFS SWFSC ERD\n" + " air, airTemp, author, center, command, data, erd, fisheries, great, identifier, latitude, longitude, marine, national, nmfs, noaa, science, service, southwest, station, stationID, swfsc, temperature, time, timestamp, title, water, waterTemp\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " stationID, longitude, latitude\n" + " This is my great summary. NOAA National Marine Fisheries Service (NMFS) Southwest Fisheries Science Center (SWFSC) ERD data from a local source.\n" + " now-1day\n" + " My Great Title\n" + " \n" + " \n" + " stationID\n" + " stationID\n" + " String\n" + " \n" + " \n" + " timeseries_id\n" + " Identifier\n" + " Station ID\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " String\n" + " \n" + " \n" + " Time\n" + " Time\n" + " time\n" + " 1970-01-01T00:00:00Z\n" + " yyyy-MM-dd'T'HH:mm:ss'Z'\n" + " \n" + " \n" + " \n" + " =10.2\n" + " latitude\n" + " double\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " Latitude\n" + " NaN\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " =-150.3\n" + " longitude\n" + " double\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " Longitude\n" + " NaN\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " airTemp\n" + " airTemp\n" + " float\n" + " \n" + " \n" + " Temperature\n" + " Air Temp\n" + " NaN\n" + " degree_C\n" + " \n" + " \n" + " \n" + " waterTemp\n" + " waterTemp\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Water Temp\n" + " NaN\n" + " degree_C\n" + " \n" + " \n" + " \n" + " timestamp\n" + " timestamp\n" + " double\n" + " \n" + " \n" + " Time\n" + " Timestamp\n" + " NaN\n" + " 1970-01-01T00:00:00.000Z\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " author\n" + " author\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Author\n" + " \n" + " \n" + " \n" + " command\n" + " command\n" + " byte\n" + " \n" + " \n" + " insert delete\n" + " 0 1\n" + " Unknown\n" + " Command\n" + " 127\n" + " \n" + " \n" + "\n"; } public static EDD gettestTableColumnarAscii() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTableColumnarAscii()); } private static String xmlFragment_testTableColumnarAscii() throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/").toURI()).toString() + "\n" + " true\n" + " columnar.*WithComments\\.txt\n" + " last\n" + " ISO-8859-1\n" + " END OF HEADER.*\n" + " %.*\n" + " 3\n" + " 4\n" + " \n" + " \\.txt$\n" + " .*\n" + " fileName\n" + " \n" + " false\n" + " \n" + " \n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " NOAA NDBC\n" + " https://www.ndbc.noaa.gov/\n" + " https://www.ndbc.noaa.gov/\n" + " NOAA NDBC\n" + " boolean, byte, char, double, float, int, long, ndbc, newer, noaa, short, string, title\n" + " [standard]\n" + " null\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " aString, aChar, aBoolean, aByte, aShort, anInt, aLong, aFloat, aDouble, five, fileName\n" + " The new summary!\n" + " The Newer Title!\n" + " \n" + " \n" + " fileName\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " File Name\n" + " \n" + " \n" + " \n" + " =5\n" + " five\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Five\n" + " \n" + " \n" + " \n" + " aString\n" + " aString\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " A String\n" + " 0\n" + " 9\n" + " \n" + " \n" + " \n" + " aChar\n" + " aChar\n" + " char \n" + " \n" + " \n" + " Unknown\n" + " A Char\n" + " 9\n" + " 15\n" + " \n" + " \n" + " \n" + " aBoolean\n" + " aBoolean\n" + " boolean \n" + " \n" + " \n" + " 127\n" + " Unknown\n" + " A Boolean\n" + " 15\n" + " 24\n" + " \n" + " \n" + " \n" + " aByte\n" + " aByte\n" + " byte\n" + " \n" + " \n" + " 127\n" + " Unknown\n" + " A Byte\n" + " 24\n" + " 30\n" + " \n" + " \n" + " \n" + " aShort\n" + " aShort\n" + " short\n" + " \n" + " \n" + " 32767\n" + " Unknown\n" + " A Short\n" + " 30\n" + " 37\n" + " \n" + " \n" + " \n" + " anInt\n" + " anInt\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " An Int\n" + " 37\n" + " 45\n" + " \n" + " \n" + " \n" + " aLong\n" + " aLong\n" + " long \n" + " \n" + " \n" + " 9223372036854775807\n" + " Unknown\n" + " A Long\n" + " 45\n" + " 57\n" + " \n" + " \n" + " \n" + " aFloat\n" + " aFloat\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " A Float\n" + " 57\n" + " 66\n" + " \n" + " \n" + " \n" + " aDouble\n" + " aDouble\n" + " double\n" + " \n" + " \n" + " Unknown\n" + " A Double\n" + " 66\n" + " 84\n" + " \n" + " \n" + "\n"; } public static EDD getglerlAvgTemp() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_glerlAvgTemp()); } private static String xmlFragment_glerlAvgTemp() throws URISyntaxException { return "\n" + " time,Superior&.draw=lines&time>=2015-01-01&time<=2016-01-01\n" + " &time>=2015-01-01&time<=2016-01-01\n" + " 10080\n" + " 10000\n" + " \n" + " " + Path.of(EDDTestDataset.class.getResource("/data/glerl/glseaAvgTemps/").toURI()).toString() + "\n" + " glsea-temps....(|_1024)\\.dat\n" + " true\n" + " .*\n" + " last\n" + " ISO-8859-1\n" + " 8\n" + " 11\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " false\n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " cw.glerl@noaa.gov\n" + " NOAA GLERL\n" + " https://coastwatch.glerl.noaa.gov/\n" + " https://coastwatch.glerl.noaa.gov/statistic/statistic.html\n" + " NOAA GLERL\n" + " average, Clair, daily, data, day, environmental, erie, glerl, great, great lakes, huron, laboratory, lakes, michigan, noaa, ontario, research, Saint, Saint Clair, St Clair, superior, surface, temperature, time, water, year\n" + " [standard]\n" + " https://coastwatch.glerl.noaa.gov/statistic/statistic.html\n" + " CF Standard Name Table v70\n" + " Daily lake average surface water temperature from Great Lakes Surface Environmental Analysis maps.\n" + "The data from 1994 to 2002 is from the old glsea program (512x512).\n" + "The data from 2003 to this year is from the new glsea2 program (1024x1024). \n" + "Data for Lake St. Clair is available from 2013 on.\n" + " Great Lakes Average Surface Water Temperature, Daily\n" + " \n" + " \n" + " Year Day\n" + " time\n" + " String\n" + " \n" + " \n" + " Time\n" + " Year\n" + " 0\n" + " 8\n" + " 1970-01-01\n" + " yyyy' 'DDD\n" + " \n" + " \n" + " \n" + " Sup.\n" + " Superior\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " Lake Superior Surface Temperature\n" + " degree_C\n" + " 8\n" + " 16\n" + " \n" + " \n" + " \n" + " Mich.\n" + " Michigan\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " Lake Michigan Surface Temperature\n" + " degree_C\n" + " 16\n" + " 24\n" + " \n" + " \n" + " \n" + " Huron\n" + " Huron\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " Lake Huron Surface Temperature\n" + " degree_C\n" + " 24\n" + " 32\n" + " \n" + " \n" + " \n" + " Erie\n" + " Erie\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " Lake Erie Surface Temperature\n" + " degree_C\n" + " 32\n" + " 40\n" + " \n" + " \n" + " \n" + " Ont.\n" + " Ontario\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " Lake Ontario Surface Temperature\n" + " degree_C\n" + " 40\n" + " 48\n" + " \n" + " \n" + " \n" + " St.Clr\n" + " St_Clair\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " Lake St. Clair Surface Temperature\n" + " degree_C\n" + " 48\n" + " 56\n" + " \n" + " \n" + "\n"; } public static EDD getglerlIce() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_glerlIce()); } private static String xmlFragment_glerlIce() throws URISyntaxException { return "\n" + " time,Superior&.draw=lines&time>=2015-07-01&time<=2016-07-01\n" + " &time>=2015-07-01&time<=2016-07-01\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/glerl/").toURI()).toString() + "\n" + " g...._...._ice\\.dat\n" + " true\n" + " .*\n" + " last\n" + " ISO-8859-1\n" + " 6\n" + " 9\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " false\n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " cw.glerl@noaa.gov\n" + " NOAA GLERL\n" + " https://coastwatch.glerl.noaa.gov/\n" + " https://coastwatch.glerl.noaa.gov/statistic/statistic.html\n" + " NOAA GLERL\n" + " concentration, daily, data, day, environmental, erie, GL Total, glerl, great, great lakes, huron, ice, laboratory, lakes, michigan, noaa, ontario, research, St. Clair, superior, time, total, water, year\n" + " [standard]\n" + " https://coastwatch.glerl.noaa.gov/statistic/statistic.html\n" + " CF Standard Name Table v70\n" + " Great Lakes Ice Concentration, Daily\n" + " Great Lakes Ice Concentration, Daily\n" + " \n" + " \n" + " Year Day\n" + " time\n" + " String\n" + " \n" + " \n" + " Time\n" + " Year\n" + " 0\n" + " 8\n" + " 1970-01-01\n" + " yyyy' 'DDD\n" + " \n" + " \n" + " \n" + " Sup.\n" + " Superior\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Ice Distribution\n" + " Lake Superior Ice Concentration\n" + " percent\n" + " 8\n" + " 16\n" + " \n" + " \n" + " \n" + " Mich.\n" + " Michigan\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Ice Distribution\n" + " Lake Michigan Ice Concentration\n" + " percent\n" + " 16\n" + " 24\n" + " \n" + " \n" + " \n" + " Huron\n" + " Huron\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Ice Distribution\n" + " Lake Huron Ice Concentration\n" + " percent\n" + " 24\n" + " 32\n" + " \n" + " \n" + " \n" + " Erie\n" + " Erie\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Ice Distribution\n" + " Lake Erie Ice Concentration\n" + " percent\n" + " 32\n" + " 40\n" + " \n" + " \n" + " \n" + " Ont.\n" + " Ontario\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Ice Distribution\n" + " Lake Ontario Ice Concentration\n" + " percent\n" + " 40\n" + " 48\n" + " \n" + " \n" + " \n" + " St.Clr\n" + " St_Clair\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Ice Distribution\n" + " Lake Saint Clair Ice Concentration\n" + " percent\n" + " 48\n" + " 56\n" + " \n" + " \n" + " \n" + " GL Tot\n" + " GL_Total\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Ice Distribution\n" + " Great Lakes Total Ice Concentration\n" + " percent\n" + " 56\n" + " 64\n" + " \n" + " \n" + "\n"; } public static EDD getglerlLTAvgTemp() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_glerlLTAvgTemp()); } private static String xmlFragment_glerlLTAvgTemp() throws URISyntaxException { return "\n" + " dayOfYear,temperature&.draw=lines&lake=\"s\"\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/ascii/").toURI()).toString() + "\n" + " avgtemps-._....-....\\.dat\n" + " true\n" + " .*\n" + " last\n" + " ISO-8859-1\n" + " 0\n" + " 1\n" + " avgtemps-\n" + " _....-....\\.dat\n" + " .\n" + " lake\n" + " lake\n" + " false\n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " cw.glerl@noaa.gov\n" + " NOAA GLERL\n" + " https://coastwatch.glerl.noaa.gov/\n" + " https://coastwatch.glerl.noaa.gov/statistic/statistic.html\n" + " NOAA GLERL\n" + " average, daily, data, day, environmental, erie, glerl, great, great lakes, huron, laboratory, lake, lakes, long, michigan, noaa, ontario, research, superior, surface, temperature, term, water\n" + " [standard]\n" + " https://coastwatch.glerl.noaa.gov/statistic/statistic.html\n" + " CF Standard Name Table v70\n" + " lake\n" + " Great Lakes, long term average surface water temperature, daily.\n" + " Great Lakes Long Term Average Surface Water Temperature, Lake Superior, Daily\n" + " \n" + " \n" + " lake\n" + " lake\n" + " String\n" + " \n" + " \n" + " Location\n" + " Lake\n" + " h=Huron, o=Ontario, m=Michigan, e=Erie, s=Superior\n" + " \n" + " \n" + " \n" + " column1\n" + " dayOfYear\n" + " short\n" + " \n" + " \n" + " Time\n" + " Day of Year\n" + " 0\n" + " 8\n" + " count\n" + " \n" + " \n" + " \n" + " column2\n" + " temperature\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " Surface Temperature\n" + " degree_C\n" + " 8\n" + " 22\n" + " \n" + " \n" + "\n"; } public static EDD gettestTableAscii() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTableAscii()); } private static String xmlFragment_testTableAscii() throws URISyntaxException { return "\n" + " 60\n" + " 10\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/asciiNdbc/").toURI()).toString() + "\n" + " true\n" + " .*\\.csv\n" + " last\n" + " ISO-8859-1\n" + " ,\n" + " \\*\\*\\* END OF HEADER.*\n" + " #.*\n" + " 1\n" + " 3\n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " station time\n" + " \n" + " TimeSeries\n" + " station, longitude, latitude, altitude\n" + " station, longitude, latitude, altitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " The Info Url\n" + " NDBC\n" + " Atmosphere > Atmospheric Winds > Surface Winds\n" + " GCMD Science Keywords\n" + " [standard]\n" + " The source URL.\n" + " CF Standard Name Table v70\n" + " The summary.\n" + " The Title for testTableAscii\n" + " \n" + " \n" + " longitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " latitude\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " altitude\n" + " short\n" + " \n" + " 32767\n" + " m\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " \n" + " \n" + " station\n" + " String\n" + " \n" + " identifier\n" + " Station\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " wd\n" + " short\n" + " \n" + " 32767\n" + " 0\n" + " 360\n" + " Wind\n" + " Wind From Direction\n" + " wind_from_direction\n" + " m s-1\n" + " \n" + " \n" + " \n" + " wspd\n" + " float\n" + " \n" + " 0\n" + " 15\n" + " Wind\n" + " Wind Speed\n" + " wind_speed\n" + " m s-1\n" + " \n" + " \n" + " \n" + " atmp\n" + " float\n" + " \n" + " -10\n" + " 40\n" + " Temperature\n" + " Air Temperature\n" + " air_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " wtmp\n" + " float\n" + " \n" + " 0.0\n" + " 32.0\n" + " Temperature\n" + " Water Temperature\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + "\n"; } public static EDD gettestTableAscii2() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTableAscii2()); } private static String xmlFragment_testTableAscii2() throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/").toURI()).toString() + "\n" + " true\n" + " csv.*\\.txt\n" + " last\n" + " ISO-8859-1\n" + " \\*\\*\\* END OF HEADER.*\n" + " #.*\n" + " 1\n" + " 2\n" + " \n" + " \\.txt$\n" + " .*\n" + " fileName\n" + " \n" + " false\n" + " \n" + " \n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " NOAA NDBC\n" + " https://www.ndbc.noaa.gov/\n" + " https://www.ndbc.noaa.gov/\n" + " NOAA NDBC\n" + " boolean, byte, char, double, float, int, long, ndbc, newer, noaa, short, string, title\n" + " [standard]\n" + " null\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " five, fileName\n" + " The new summary!\n" + " The Newer Title!\n" + " \n" + " \n" + " fileName\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " File Name\n" + " \n" + " \n" + " \n" + " =5\n" + " five\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Five\n" + " \n" + " \n" + " \n" + " aString\n" + " aString\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " A String\n" + " \n" + " \n" + " \n" + " aChar\n" + " aChar\n" + " char \n" + " \n" + " \n" + " Unknown\n" + " A Char\n" + " \n" + " \n" + " \n" + " aBoolean\n" + " aBoolean\n" + " boolean \n" + " \n" + " \n" + " 127\n" + " Unknown\n" + " A Boolean\n" + " \n" + " \n" + " \n" + " aByte\n" + " aByte\n" + " byte\n" + " \n" + " \n" + " 127\n" + " Unknown\n" + " A Byte\n" + " \n" + " \n" + " \n" + " aShort\n" + " aShort\n" + " short\n" + " \n" + " \n" + " 32767\n" + " Unknown\n" + " A Short\n" + " \n" + " \n" + " \n" + " anInt\n" + " anInt\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " An Int\n" + " \n" + " \n" + " \n" + " aLong\n" + " aLong\n" + " long \n" + " \n" + " \n" + " 9223372036854775807\n" + " Unknown\n" + " A Long\n" + " \n" + " \n" + " \n" + " aFloat\n" + " aFloat\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " A Float\n" + " \n" + " \n" + " \n" + " aDouble\n" + " aDouble\n" + " double\n" + " \n" + " \n" + " Unknown\n" + " A Double\n" + " \n" + " \n" + "\n"; } public static EDD gettestWTDLwSV() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testWTDLwSV()); } private static String xmlFragment_testWTDLwSV() throws URISyntaxException { return "\n" + " 60\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/wtdl/").toURI()).toString() + "\n" + " true\n" + " Time\n" + " .*\\.csv\n" + " last\n" + " 1\n" + " 2\n" + " \n" + " Trajectory\n" + " ship_call_sign\n" + " NOAA OMAO,Ship Tracker\n" + " eed.shiptracker@noaa.gov\n" + " COARDS, CF-1.4, ACDD-1.3\n" + " \n" + " http://shiptracker.noaa.gov/\n" + " NOAA OMAO\n" + " [standard]\n" + " null\n" + " (local files)\n" + " \n" + " CF Standard Name Table v70\n" + " \n" + " Data downloaded hourly from http://shiptracker.noaa.gov/shiptracker.html to ERD\n" + " NOAA Ship Pisces Realtime Data updated every hour\n" + " NOAA Ship Pisces Underway Meteorological Data, Realtime\n" + " ship_call_sign\n" + " \n" + " \n" + " =\"WTDL\" \n" + " ship_call_sign \n" + " String\n" + " \n" + " Other\n" + " trajectory_id\n" + " \n" + " \n" + " \n" + " Time\n" + " time\n" + " String\n" + " \n" + " Time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " \n" + " \n" + " Latitude (N)\n" + " latitude\n" + " float\n" + " \n" + " Location\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " Longitude (E)\n" + " longitude0360\n" + " float\n" + " \n" + " Location\n" + " Longitude 0-360°\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " =Math2.anglePM180(row.columnFloat(\"Longitude (E)\"))\n" + " longitude\n" + " float\n" + " \n" + " Location\n" + " Longitude\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " Water Temperature (Celsius)\n" + " seaTemperature\n" + " float\n" + " \n" + " 40.0\n" + " -10.0\n" + " -8888.0\n" + " Temperature\n" + " Sea Water Temperature\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " =var tc=row.columnFloat(\"Water Temperature (Celsius)\"); return tc<-10? -99.0f : tc*9/5+32; \n" + " seaTemperatureF \n" + " float\n" + " \n" + " 100.0\n" + " 20.0\n" + " -99\n" + " Temperature\n" + " Sea Water Temperature\n" + " sea_water_temperature\n" + " degree_F\n" + " \n" + " \n" + "\n"; } public static EDD gettestWTDLwoSV() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testWTDLwoSV()); } private static String xmlFragment_testWTDLwoSV() throws URISyntaxException { return "\n" + " 60\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/wtdl/").toURI()).toString() + "\n" + " true\n" + " Time\n" + " .*\\.csv\n" + " last\n" + " 1\n" + " 2\n" + " \n" + " Trajectory\n" + " ship_call_sign\n" + " NOAA OMAO,Ship Tracker\n" + " eed.shiptracker@noaa.gov\n" + " COARDS, CF-1.4, ACDD-1.3\n" + " \n" + " http://shiptracker.noaa.gov/\n" + " NOAA OMAO\n" + " [standard]\n" + " null\n" + " (local files)\n" + " \n" + " CF Standard Name Table v70\n" + " \n" + " Data downloaded hourly from http://shiptracker.noaa.gov/shiptracker.html to ERD\n" + " NOAA Ship Pisces Realtime Data updated every hour\n" + " NOAA Ship Pisces Underway Meteorological Data, Realtime\n" + " \n" + " \n" + " =\"WTDL\" \n" + " ship_call_sign \n" + " String\n" + " \n" + " Other\n" + " trajectory_id\n" + " \n" + " \n" + " \n" + " Time\n" + " time\n" + " String\n" + " \n" + " Time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " \n" + " \n" + " Latitude (N)\n" + " latitude\n" + " float\n" + " \n" + " Location\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " Longitude (E)\n" + " longitude0360\n" + " float\n" + " \n" + " Location\n" + " Longitude 0-360°\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " =Math2.anglePM180(row.columnFloat(\"Longitude (E)\"))\n" + " longitude\n" + " float\n" + " \n" + " Location\n" + " Longitude\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " Water Temperature (Celsius)\n" + " seaTemperature\n" + " float\n" + " \n" + " 40.0\n" + " -10.0\n" + " -8888.0\n" + " Temperature\n" + " Sea Water Temperature\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " =var tc=row.columnFloat(\"Water Temperature (Celsius)\"); return tc<-10? -99.0f : tc*9/5+32; \n" + " seaTemperatureF \n" + " float\n" + " \n" + " 100.0\n" + " 20.0\n" + " -99\n" + " Temperature\n" + " Sea Water Temperature\n" + " sea_water_temperature\n" + " degree_F\n" + " \n" + " \n" + "\n"; } public static EDD getndbcMet2Csv() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_ndbcMet2Csv()); } private static String xmlFragment_ndbcMet2Csv() throws URISyntaxException { return "\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largePoints/ndbcMet2Csv/").toURI()).toString() + "\n" + " .*\\.csv\n" + " true\n" + " .*\n" + " last\n" + " 0\n" + " ISO-8859-1\n" + " ,\n" + " 1\n" + " 3\n" + " \n" + " \n" + " false\n" + " \n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " webmaster.ndbc@noaa.gov\n" + " NOAA NDBC\n" + " institution\n" + " https://www.ndbc.noaa.gov/\n" + " https://www.ndbc.noaa.gov/\n" + " NOAA NDBC\n" + " air, APD, atmosphere, atmospheric, atmp, bar, buoy, center, data, depth, dewp, direction, DPD, earth, Earth Science > Atmosphere > Atmospheric Pressure > Pressure Tendency, Earth Science > Atmosphere > Atmospheric Winds > Surface Winds, Earth Science > Oceans > Ocean Waves > Significant Wave Height, Earth Science > Oceans > Ocean Waves > Swells, Earth Science > Oceans > Ocean Waves > Wave Period, Earth Science > Oceans > Sea Surface Topography > Sea Surface Height, eastward, eastward_wind, GST, gust, height, identifier, latitude, level, local, longitude, meteorology, mwd, national, ndbc, noaa, northward, northward_wind, ocean, oceans, period, pressure, PTDY, science, sea, sea level, sea_surface_height, sea_surface_swell_wave_period, sea_surface_wave_significant_height, seawater, significant, source, speed, surface, surface waves, swell, swells, temperature, tendency, tendency_of_air_pressure, TIDE, time, time2, topography, vis, water, wave, waves, wind, wind_from_direction, wind_speed, wind_speed_of_gust, winds, WSPD, WSPU, WSPV, WTMP, WVHT\n" + " GCMD Science Keywords\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " depth, latitude, longitude, ID\n" + " Snapshot of NDBC NRT files, saved as .csv\n" + " Snapshot of NDBC NRT files, saved as .csv\n" + " \n" + " \n" + " ID\n" + " ID\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " ID\n" + " \n" + " \n" + " \n" + " TIME\n" + " time\n" + " double\n" + " \n" + " \n" + " Time\n" + " Time\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " DEPTH\n" + " depth\n" + " float\n" + " \n" + " \n" + " 8000.0\n" + " -8000.0\n" + " TopographyDepth\n" + " Location\n" + " Depth\n" + " depth\n" + " m\n" + " \n" + " \n" + " \n" + " LAT\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " Latitude\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " LON\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " Longitude\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " WD\n" + " WD\n" + " short\n" + " \n" + " \n" + " 32767\n" + " 360.0\n" + " 0.0\n" + " Wind\n" + " Wind From Direction\n" + " wind_from_direction\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " WSPD\n" + " WSPD\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " 15.0\n" + " 0.0\n" + " Wind\n" + " Wind Speed\n" + " wind_speed\n" + " m s-1\n" + " \n" + " \n" + " \n" + " GST\n" + " GST\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " 30.0\n" + " 0.0\n" + " Wind\n" + " Wind Speed Of Gust\n" + " wind_speed_of_gust\n" + " m s-1\n" + " \n" + " \n" + " \n" + " WVHT\n" + " WVHT\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " 10.0\n" + " 0.0\n" + " Surface Waves\n" + " Sea Surface Wave Significant Height\n" + " sea_surface_wave_significant_height\n" + " m\n" + " \n" + " \n" + " \n" + " DPD\n" + " DPD\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " 20.0\n" + " 0.0\n" + " Surface Waves\n" + " Sea Surface Swell Wave Period\n" + " sea_surface_swell_wave_period\n" + " s\n" + " \n" + " \n" + " \n" + " APD\n" + " APD\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " 20.0\n" + " 0.0\n" + " Surface Waves\n" + " Sea Surface Swell Wave Period\n" + " sea_surface_swell_wave_period\n" + " s\n" + " \n" + " \n" + " \n" + " MWD\n" + " MWD\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " MWD\n" + " degrees_true\n" + " \n" + " \n" + " \n" + " BAR\n" + " BAR\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " Unknown\n" + " BAR\n" + " hPa\n" + " \n" + " \n" + " \n" + " ATMP\n" + " ATMP\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " Temperature\n" + " ATMP\n" + " degree_C\n" + " \n" + " \n" + " \n" + " WTMP\n" + " WTMP\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " Temperature\n" + " Water Temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " DEWP\n" + " DEWP\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " Meteorology\n" + " DEWP\n" + " degree_C\n" + " \n" + " \n" + " \n" + " VIS\n" + " VIS\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " Unknown\n" + " VIS\n" + " km\n" + " \n" + " \n" + " \n" + " PTDY\n" + " PTDY\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " 3.0\n" + " -3.0\n" + " Pressure\n" + " Tendency Of Air Pressure\n" + " tendency_of_air_pressure\n" + " hPa\n" + " \n" + " \n" + " \n" + " TIDE\n" + " TIDE\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " 2.0\n" + " -2.0\n" + " Sea Level\n" + " Sea Surface Height\n" + " sea_surface_height\n" + " m\n" + " \n" + " \n" + " \n" + " WSPU\n" + " WSPU\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " 15.0\n" + " -15.0\n" + " Wind\n" + " Eastward Wind\n" + " eastward_wind\n" + " m s-1\n" + " \n" + " \n" + " \n" + " WSPV\n" + " WSPV\n" + " float\n" + " \n" + " \n" + " -9999999.0\n" + " 15.0\n" + " -15.0\n" + " Wind\n" + " Northward Wind\n" + " northward_wind\n" + " m s-1\n" + " \n" + " \n" + "\n"; } public static EDD gettestStandardizeWhat() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testStandardizeWhat()); } private static String xmlFragment_testStandardizeWhat() throws URISyntaxException { return "\n" + " 10080\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/ascii/").toURI()).toString() + "\n" + " standardizeWhat.*\\.csv\n" + " false\n" + " last\n" + " 2048\n" + " ISO-8859-1\n" + " ,\n" + " 1\n" + " 2\n" + " \n" + " \n" + " false\n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " ???\n" + " ???\n" + " data, date, local, source, time\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " The summary for testStandardizeWhat.\n" + " TestStandardizeWhat\n" + " \n" + " \n" + " date\n" + " time\n" + " String\n" + " \n" + " \n" + " Time\n" + " Date\n" + " date\n" + " time\n" + " 1970-01-01T00:00:00Z\n" + " yyyy-MM-dd'T'HH:mm:ss'Z'\n" + " \n" + " \n" + " \n" + " data\n" + " data\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Data\n" + " \n" + " \n" + "\n"; } public static EDD getknb_lter_sbc_14_t1() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_knb_lter_sbc_14_t1()); } private static String xmlFragment_knb_lter_sbc_14_t1() throws URISyntaxException { return "\n" + " lterSbc\n" + " 10080\n" + " -1\n" + " &time>=min(time)&time<=max(time)\n" + " &time>=min(time)&time<=max(time)&.marker=10|5\n" + " " + Path.of(EDDTestDataset.class.getResource("/largePoints/lterSbc/").toURI()).toString() + "\n" + " Historical_Kelp_Data\\.csv\n" + " false\n" + " .*\n" + " last\n" + " ISO-8859-1\n" + " 1\n" + " 2\n" + " \n" + " false\n" + " \n" + " \n" + " \n" + " Funding: NSF Awards OCE-9982105, OCE-0620276, OCE-1232779\n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " Marine Science Institute, University of California, Santa Barbara, CA, 93106-6150, US\n" + " dan.reed@lifesci.ucsb.edu\n" + " Daniel C Reed\n" + " person\n" + " http://sbc.lternet.edu/data/eml/files/knb-lter-sbc.14\n" + " 2010-06-14\n" + " 10.6073/pasta/74d5336cf9f1297b475db8ec6ed08819\n" + " http://doi.org\n" + " geocov_ds14: data_coverage_ds14: The Geographic region of the kelp bed data extends along the California coast, down through the coast of Baja, Mexico: Central California (Halfmoon Bay to Purisima Point), Southern California (Point Arguello to the United States/Mexico border including the Channel Islands) and Baja California (points south of the United States/Mexico border including several offshore islands). BoundingCoordinates(westLongitude=-122.44, eastLongitude=-117.15, northLatitude=37.38, southLatitude=30)\n" + " 37.38\n" + " 30.0\n" + " degrees_north\n" + " -117.15\n" + " -122.44\n" + " degrees_east\n" + " knb_lter_sbc_14_t1\n" + " http://sbc.lternet.edu/data/eml/files/knb-lter-sbc.14\n" + " Santa Barbara Coastal LTER\n" + " amount, available, avalaible, barbara, bed, bed_name, bed_number, biomass, california, coastal, code, data, database, geographic, giant, harvested, historical, kelp, lter, macrocystis, mexico, name, notes, pyrifera, reef, region, santa, sbc, statistics, time, total\n" + " english\n" + " Metadata Access Rights:\n" + "Metadata "all" access is allowed for principal="uid=SBC,o=LTER,dc=ecoinformatics,dc=org".\n" + "Metadata "read" access is allowed for principal="public".\n" + "\n" + "Data Access Rights:\n" + "Data "all" access is allowed for principal="uid=SBC,o=LTER,dc=ecoinformatics,dc=org".\n" + "Data "read" access is allowed for principal="public".\n" + "\n" + "* The user of SBC LTER data agrees to contact the data owner (i.e., the SBC investigator responsible for data) prior to publishing. Where appropriate, users whose projects are integrally dependent on SBC LTER\n" + "data are encouraged to consider collaboration and/or co-authorship with the data owner.\n" + "\n" + "* The user agrees to cite SBC LTER in all publications that use SBC LTER data by including the following statement in the Acknowledgments: "Data were provided by the Santa Barbara Coastal LTER, funded by the US National Science Foundation (OCE-1232779)".\n" + "\n" + "* The user agrees to send the full citation of any publication using SBC LTER data to sbclter@msi.ucsb.edu\n" + "\n" + "* Users are prohibited from selling or redistributing any data provided by SBC LTER.\n" + "\n" + "* Extensive efforts are made to ensure that online data are accurate and up to date, but SBC LTER will not take responsibility for any errors that may exist.\n" + "\n" + "* The user agrees also to adhere to the Data Use Agreement of the Long Term Ecological Research Network.\n" + "\n" + "* Any violation of the terms of this agreement will result in immediate forfeiture of the data and loss of access privileges to other SBC LTER data sets.\n" + "\n" + "* SBC LTER is committed to protecting the privacy and accuracy of your confidential information. See our Privacy Policy for more information.\n" + " http://sbc.lternet.edu/data/eml/files/knb-lter-sbc.14\n" + " *** Method #1:\n" + "* Title: Overview of Historical Kelp Data Project\n" + "* Description: * Notes on data collection\n" + "\n" + "* Beginning January 8, 1968, data on kelp biomass were occasionally\n" + "reported on paper as the sum of multiple beds (e.g. a single value was\n" + "reported for beds 2 and 3.) In such cases, the reported tonnage was\n" + "split evenly among the combined beds in the digital version.\n" + "\n" + "* prior to September 17, 1962, some of the bed designations used by ISP\n" + "Alginates differed from those of the California Department of Fish and\n" + "Game. Data recorded under these earlier ISP Alginates bed designations\n" + "were entered into the database under the corresponding CDFG bed number.\n" + "A conversion table of ISP Alginate bed numbers and CDFG bed numbers is\n" + "shown below.\n" + "* Creator: Reed\n" + "* URL: http://sbc.lternet.edu/external/Reef/Protocols/Historical_Kelp/Historical_Kelp_Overview.pdf\n" + " LTER\n" + " Santa Barbara Coastal Long Term Ecological Research Project\n" + " The primary research objective of the Santa Barbara Coastal LTER is to investigate\n" + "the importance of land and ocean processes in structuring giant kelp\n" + "([emphasis]Macrocystis pyrifera[/emphasis]) forest ecosystems. As in many temperate\n" + "regions, the shallow rocky reefs in the Santa Barbara Channel, California, are dominated\n" + "by giant kelp forests. Because of their close proximity to shore, kelp forests are\n" + "influenced by physical and biological processes occurring on land as well as in the open\n" + "ocean. SBC LTER research focuses on measuring and modeling the patterns, transport, and\n" + "processing of material constituents (e.g., nutrients, carbon, sediment, organisms, and\n" + "pollutants) from terrestrial watersheds and the coastal ocean to these reefs.\n" + "Specifically, we are examining the effects of these material inputs on the primary\n" + "production of kelp, and the population dynamics, community structure, and trophic\n" + "interactions of kelp forest ecosystems.\n" + " NSF Awards OCE-9982105, OCE-0620276, OCE-1232779\n" + " Marine Science Institute, University of California, Santa Barbara, California, 93106-6150, United States\n" + " reed@lifesci.ucsb.edu\n" + " Dr. Daniel Reed\n" + " Principal Investigator\n" + " Bren School of Environmental Science and Management, University of California, Santa Barbara, California, 93106-5131, United States\n" + " melack@lifesci.ucsb.edu\n" + " Dr. John Melack\n" + " Co-principal Investigator\n" + " Ecology, Evolution and Marine Biology, University of California, Santa Barbara, California, 93106-9620, United States\n" + " holbrook@lifesci.ucsb.edu\n" + " Dr. Sally Holbrook\n" + " Co-principal Investigator\n" + " Institute for Computational Earth System Science, University of California, Santa Barbara, California, 93106-3060, United States\n" + " davey@icess.ucsb.edu\n" + " Dr. David Siegel\n" + " Co-principal Investigator\n" + " Marine Science Institute, University of California, Santa Barbara, CA, 93106, USA\n" + " sbclter@msi.ucsb.edu\n" + " Santa Barbara Coastal LTER\n" + " institution\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " region, bed_number, bed_name, total, available\n" + " SBC LTER: Reef: Historical Kelp Database for giant kelp (Macrocystis pyrifera) biomass in California and Mexico. Historical kelp biomass. Time series of giant kelp biomass along the coasts of California and Baja, Mexico\n" + " 2006-02-18\n" + " 1957-08-13\n" + " SBC LTER: Reef: Historical Kelp Database for giant kelp (Macrocystis pyrifera) biomass in California and Mexico. Historical kelp biomass\n" + " \n" + " \n" + " DATE_OF_SURVEY\n" + " time\n" + " String\n" + " \n" + " \n" + " DATE_OF_SURVEY\n" + " In the source file: The Date of the aerial survey\n" + " Time\n" + " Time\n" + " -999999\n" + " time\n" + " 1970-01-01\n" + " MM/dd/yyyy\n" + " \n" + " \n" + " \n" + " REGION\n" + " region\n" + " String\n" + " \n" + " \n" + " REGION\n" + " The geographic region of the bed, Central, Southern or Baja California\n" + "Central = Central California (Half Moon Bay to Purisima Point)\n" + "Southern = Southern California (Point Arguello to the United States/Mexico border including the Channel Islands)\n" + "Baja = Baja California (points south of the United States/Mexico border including several offshore islands)\n" + " Location\n" + " Geographic Region\n" + " -99999\n" + " \n" + " \n" + " \n" + " BED\n" + " bed_number\n" + " String\n" + " \n" + " \n" + " BED\n" + " Bed numbers in California (central and southern) and Baja were assigned by different bodies and are unique only within a region. (see Methods)\n" + " Statistics\n" + " Kelp Bed Code\n" + " -99999\n" + " \n" + " \n" + " \n" + " BED_NAME\n" + " bed_name\n" + " String\n" + " \n" + " \n" + " BED_NAME\n" + " Common name of kelp bed (98 beds total)\n" + " Unknown\n" + " Bed Name\n" + " -99999\n" + " \n" + " \n" + " \n" + " HARVESTED\n" + " harvested\n" + " float\n" + " \n" + " \n" + " 15000.0\n" + " 0.0\n" + " HARVESTED\n" + " Amount of kelp harvested (tons) since the previous survey. Note: harvest data are only available after March 25, 1991.\n" + " Unknown\n" + " Harvested Kelp\n" + " -99999.0\n" + " ton\n" + " \n" + " \n" + " \n" + " TOTAL\n" + " total\n" + " float\n" + " \n" + " \n" + " 25000.0\n" + " 0.0\n" + " TOTAL\n" + " Total biomass (tons) of kelp in the bed observed by the aerial survey. note: In early surveys, ISP Alginates labeled this column "Maximum".\n" + " Unknown\n" + " Total Biomass\n" + " -99999.0\n" + " ton\n" + " \n" + " \n" + " \n" + " AVAILABLE\n" + " available\n" + " float\n" + " \n" + " \n" + " 20000.0\n" + " 0.0\n" + " AVAILABLE\n" + " Amount of kelp (tons) available and accessible for harvesting. In early surveys ISP Alginates labeled this column "Minimum".\n" + " Unknown\n" + " Amount of Avalaible Kelp\n" + " -99999.0\n" + " ton\n" + " \n" + " \n" + " \n" + " Notes\n" + " notes\n" + " String\n" + " \n" + " \n" + " Notes\n" + " Observer notes\n" + " Unknown\n" + " Notes\n" + " -99999\n" + " \n" + " \n" + "\n"; } public static EDD getknb_lter_sbc_15_t1() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_knb_lter_sbc_15_t1()); } private static String xmlFragment_knb_lter_sbc_15_t1() throws URISyntaxException { return "\n" + " lterSbc\n" + " 10080\n" + " -1\n" + " &time>=min(time)&time<=max(time)\n" + " &time>=min(time)&time<=max(time)&.marker=10|5\n" + " " + Path.of(EDDTestDataset.class.getResource("/largePoints/lterSbc/").toURI()).toString() + "\n" + " cover_all_years_20160907\\.csv\n" + " false\n" + " .*\n" + " last\n" + " ISO-8859-1\n" + " 1\n" + " 2\n" + " \n" + " false\n" + " \n" + " \n" + " \n" + " Funding: NSF Awards OCE-9982105, OCE-0620276, OCE-1232779\n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " Marine Science Institute, University of California, Santa Barbara, CA, 93106-6150, US\n" + " dan.reed@lifesci.ucsb.edu\n" + " Daniel C Reed\n" + " person\n" + " http://sbc.lternet.edu/data/eml/files/knb-lter-sbc.15\n" + " 2016-09-07\n" + " 10.6073/pasta/ca1a92c63e57993a09111f1e33dc9210\n" + " http://doi.org\n" + " ABUR: ABUR: Arroyo Burro Reef is located on the Santa Barbara Channel\n" + " near the mouth of Arroyo Burro Creek and Beach. Depth ranges from 5.4 to 7 meters. BoundingCoordinates(westLongitude=-119.7445915, eastLongitude=-119.7445915, northLatitude=34.400275, southLatitude=34.400275)\n" + "\n" + "AHND: AHND: Arroyo Hondo Reef is located on the Santa Barbara Channel near the east end of Gaviota State Park, CA. Depth ranges from -4.3m to -6.6 meters. BoundingCoordinates(westLongitude=-120.1426165, eastLongitude=-120.1426165, northLatitude=34.471817, southLatitude=34.471817)\n" + "\n" + "AQUE: AQUE: Arroyo Quemado Reef: Arroyo Quemado Reef depth range from 5.4m to 10.7m. There are 7 permanent transects: Transect I --- Transect VII. Reference on Land is close to US101/Arroyo Quemada Ln. BoundingCoordinates(westLongitude=-120.11905, eastLongitude=-120.11905, northLatitude=34.46774988, southLatitude=34.46774988)\n" + "\n" + "BULL: BULL: Builto: Bulito has three permanent transect: Transect I, III, VI. Depth Range from -5.5 to -7.3. Reference on land is close to Ranch Real road and Hollister Ranch road crossing section. BoundingCoordinates(westLongitude=-120.33349, eastLongitude=-120.33349, northLatitude=34.45850533, southLatitude=34.45850533)\n" + "\n" + "CARP: CARP: Carpinteria Reef is located on the Santa Barbara Channel offshore of the Carpinteria Salt Marsh. Depth range is from -2.2 to -8.8 meters. BoundingCoordinates(westLongitude=-119.5416933, eastLongitude=-119.5416933, northLatitude=34.3916319, southLatitude=34.3916319)\n" + "\n" + "GOLB: Goleta Bay: Goleta Bay: Goleta Bay is located on the Santa Barbara Channel east of Goleta Pier. Depth range is -4.2 to -5 meters. BoundingCoordinates(westLongitude=-119.8221, eastLongitude=-119.8221, northLatitude=34.4137165, southLatitude=34.4137165)\n" + "\n" + "IVEE: IVEE: Isla Vista (IV) Reef is located on the Santa Barbara Channel near the University of California Santa Barbara, CA. Depth range is from -8.2 to -8.8 meters. BoundingCoordinates(westLongitude=-119.85755, eastLongitude=-119.85755, northLatitude=34.402783, southLatitude=34.402783)\n" + "\n" + "MOHK: MOHK: Mohawk Reef: Mohawk Reef depth ranges from 4.5m to 6.0 m. Reference on land is Mohawk Rd / Edgewater Way. BoundingCoordinates(westLongitude=-119.72957, eastLongitude=-119.72957, northLatitude=34.3940708, southLatitude=34.3940708)\n" + "\n" + "NAPL: NAPL: Naples Reef is located on the Santa Barbara Channel near the community of Naples and Dos Pueblos Canyon, Santa Barbara County, CA. Depth ranges from -5.9 to -13.4 meters. BoundingCoordinates(westLongitude=-119.95154, eastLongitude=-119.95154, northLatitude=34.4221216, southLatitude=34.4221216)\n" + "\n" + "SCDI: Santa Cruz Island, Diablo: Santa Cruz Island, Diablo. BoundingCoordinates(westLongitude=-119.75763, eastLongitude=-119.75763, northLatitude=34.05865, southLatitude=34.05865)\n" + "\n" + "SCTW: Santa Cruz Island, Twin Harbor West: Santa Cruz Island, Twin Harbor West. BoundingCoordinates(westLongitude=-119.71513, eastLongitude=-119.71513, northLatitude=34.0444335, southLatitude=34.0444335)\n" + " 34.471817\n" + " 34.0444335\n" + " degrees_north\n" + " -119.5416933\n" + " -120.33349\n" + " degrees_east\n" + " knb_lter_sbc_15_t1\n" + " http://sbc.lternet.edu/data/eml/files/knb-lter-sbc.15\n" + " Santa Barbara Coastal LTER\n" + " all, array, array-data, barbara, benthic, bottom, bottom character, character, class, coastal, code, common, common_name, community, comprehensive, contact, cover, data, dynamics, family, forest, genus, group, growth, growth_morph, kelp, kingdom, large, lter, method, mobility, morphology, name, notes, order, organism, organisms, percent, percent_cover, phylum, point, previous, previous_genus, previous_species, reef, santa, sbc, sessile, site, sp_code, species, stewardship, substrate, substrate_type, subtidal, survey, system, taxon_class, taxon_family, taxon_genus, taxon_group, taxon_kingdom, taxon_order, taxon_phylum, taxon_species, taxonomy, time, transect, type, uniform, years\n" + " english\n" + " Metadata Access Rights:\n" + "Metadata "all" access is allowed for principal="uid=SBC,o=LTER,dc=ecoinformatics,dc=org".\n" + "Metadata "read" access is allowed for principal="public".\n" + "\n" + "Data Access Rights:\n" + "Data "all" access is allowed for principal="uid=SBC,o=LTER,dc=ecoinformatics,dc=org".\n" + "Data "read" access is allowed for principal="public".\n" + "\n" + "* The user of SBC LTER data agrees to contact the data owner (i.e., the SBC investigator responsible for data) prior to publishing. Where appropriate, users whose projects are integrally dependent on SBC LTER\n" + "data are encouraged to consider collaboration and/or co-authorship with the data owner.\n" + "\n" + "* The user agrees to cite SBC LTER in all publications that use SBC LTER data by including the following statement in the Acknowledgments: "Data were provided by the Santa Barbara Coastal LTER, funded by the US National Science Foundation (OCE-1232779)".\n" + "\n" + "* The user agrees to send the full citation of any publication using SBC LTER data to sbclter@msi.ucsb.edu\n" + "\n" + "* Users are prohibited from selling or redistributing any data provided by SBC LTER.\n" + "\n" + "* Extensive efforts are made to ensure that online data are accurate and up to date, but SBC LTER will not take responsibility for any errors that may exist.\n" + "\n" + "* The user agrees also to adhere to the Data Use Agreement of the Long Term Ecological Research Network.\n" + "\n" + "* Any violation of the terms of this agreement will result in immediate forfeiture of the data and loss of access privileges to other SBC LTER data sets.\n" + "\n" + "* SBC LTER is committed to protecting the privacy and accuracy of your confidential information. See our Privacy Policy for more information.\n" + " http://sbc.lternet.edu/data/eml/files/knb-lter-sbc.15\n" + " *** Method #1:\n" + "* Title: SBC LTER Kelp Forest Community Structure Methods - Percent Cover of Algae,\n" + " Invertebrates and Bottom Substrate\n" + "* Description: Uniform Point Contact (UPC) sampling is done to determine the percentage cover of\n" + "algae and sessile invertebrates and different types of bottom substrate. UPC data are\n" + "collected at 80 points uniformly positioned within a 1 m wide area centered along a\n" + "permanent 40 m transect. See the protocol document for more information.\n" + "* Creator: Reed\n" + "* URL: http://sbc.lternet.edu/external/Reef/Protocols/Kelp_Forest_Community_Dynamics/SBC_LTER_protocol_Reed_Kelp_forest_community_Percent_cover_20130524.pdf\n" + " LTER\n" + " Santa Barbara Coastal Long Term Ecological Research Project\n" + " The primary research objective of the Santa Barbara Coastal LTER is to investigate\n" + "the importance of land and ocean processes in structuring giant kelp\n" + "([emphasis]Macrocystis pyrifera[/emphasis]) forest ecosystems. As in many temperate\n" + "regions, the shallow rocky reefs in the Santa Barbara Channel, California, are dominated\n" + "by giant kelp forests. Because of their close proximity to shore, kelp forests are\n" + "influenced by physical and biological processes occurring on land as well as in the open\n" + "ocean. SBC LTER research focuses on measuring and modeling the patterns, transport, and\n" + "processing of material constituents (e.g., nutrients, carbon, sediment, organisms, and\n" + "pollutants) from terrestrial watersheds and the coastal ocean to these reefs.\n" + "Specifically, we are examining the effects of these material inputs on the primary\n" + "production of kelp, and the population dynamics, community structure, and trophic\n" + "interactions of kelp forest ecosystems.\n" + " NSF Awards OCE-9982105, OCE-0620276, OCE-1232779\n" + " Marine Science Institute, University of California, Santa Barbara, California, 93106-6150, United States\n" + " reed@lifesci.ucsb.edu\n" + " Dr. Daniel Reed\n" + " Principal Investigator\n" + " Bren School of Environmental Science and Management, University of California, Santa Barbara, California, 93106-5131, United States\n" + " melack@lifesci.ucsb.edu\n" + " Dr. John Melack\n" + " Co-principal Investigator\n" + " Ecology, Evolution and Marine Biology, University of California, Santa Barbara, California, 93106-9620, United States\n" + " holbrook@lifesci.ucsb.edu\n" + " Dr. Sally Holbrook\n" + " Co-principal Investigator\n" + " Institute for Computational Earth System Science, University of California, Santa Barbara, California, 93106-3060, United States\n" + " davey@icess.ucsb.edu\n" + " Dr. David Siegel\n" + " Co-principal Investigator\n" + " Marine Science Institute, University of California, Santa Barbara, CA, 93106, USA\n" + " sbclter@msi.ucsb.edu\n" + " Santa Barbara Coastal LTER\n" + " institution\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " time, site, transect, sp_code, percent_cover, notes, taxon_genus, taxon_species, taxon_group, survey, taxon_kingdom, taxon_phylum, taxon_class, taxon_order, taxon_family, previous_genus, previous_species, common_name, substrate_type, mobility, growth_morph\n" + " SBC LTER: Reef: Kelp Forest Community Dynamics: Cover of sessile organisms, Uniform Point Contact. Benthic community survey, subtidal cover all years. cover of algae and sessile invertebrates at permanent sites\n" + " 2016-07-26\n" + " 2000-08-01\n" + " SBC LTER: Reef: Kelp Forest Community Dynamics: Cover of sessile organisms, Uniform Point Contact. Benthic community survey, subtidal cover all years\n" + " \n" + " \n" + " DATE\n" + " time\n" + " String\n" + " \n" + " \n" + " DATE\n" + " In the source file: Date of data collection in format: YYYY-MM-DD\n" + " Time\n" + " Time\n" + " -99999\n" + " time\n" + " 1970-01-01\n" + " yyyy-MM-dd\n" + " \n" + " \n" + " \n" + " SITE\n" + " site\n" + " String\n" + " \n" + " \n" + " SITE\n" + " Code for reef site. See list of codes for meaning\n" + "ABUR = Arroyo Burro\n" + "AHND = Arroyo Hondo\n" + "AQUE = Arroyo Quemado\n" + "BULL = Bulito\n" + "CARP = Carpinteria\n" + "GOLB = Goleta Bay\n" + "IVEE = Isla Vista\n" + "MOHK = Mohawk\n" + "NAPL = Naples\n" + "SCDI = Santa Cruz Island, Diablo\n" + "SCTW = Santa Cruz Island, Twin Harbor West Reef\n" + " Unknown\n" + " Site code\n" + " -99999\n" + " \n" + " \n" + " \n" + " TRANSECT\n" + " transect\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " TRANSECT\n" + " 40m transects defined by six permanent markers (stainless steel eyebolts or rebar stakes) at 0, 8, 16, 24, 32, and 40m.\n" + " Unknown\n" + " Transect name\n" + " 127\n" + " \n" + " \n" + " \n" + " SP_CODE\n" + " sp_code\n" + " String\n" + " \n" + " \n" + " SP_CODE\n" + " 1-4 letter code generally composed of the first letter of the genus (G) name and the first three letters of the species (S) name (format=GSSS).\n" + " Taxonomy\n" + " Species code\n" + " -99999\n" + " \n" + " \n" + " \n" + " PERCENT_COVER\n" + " percent_cover\n" + " float\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " PERCENT_COVER\n" + " Percent cover of the species noted as determined by a uniform point contact method (80 point per 40x2 meter transect) where multiple layers of species at a given point are accounted for.\n" + " Bottom Character\n" + " Percent cover\n" + " -99999.0\n" + " percent\n" + " \n" + " \n" + " \n" + " NOTES\n" + " notes\n" + " String\n" + " \n" + " \n" + " NOTES\n" + " Text annotations to data observations.\n" + " Unknown\n" + " Notes\n" + " -99999\n" + " \n" + " \n" + " \n" + " TAXON_GENUS\n" + " taxon_genus\n" + " String\n" + " \n" + " \n" + " TAXON_GENUS\n" + " taxonomic genus\n" + " Taxonomy\n" + " Genus\n" + " -99999\n" + " \n" + " \n" + " \n" + " TAXON_SPECIES\n" + " taxon_species\n" + " String\n" + " \n" + " \n" + " TAXON_SPECIES\n" + " taxonomic species\n" + " Taxonomy\n" + " Species\n" + " -99999\n" + " \n" + " \n" + " \n" + " GROUP\n" + " taxon_group\n" + " String\n" + " \n" + " \n" + " GROUP\n" + " functional group of organism\n" + " Taxonomy\n" + " Organism Group\n" + " -99999\n" + " \n" + " \n" + " \n" + " SURVEY\n" + " survey\n" + " String\n" + " \n" + " \n" + " SURVEY\n" + " data collection method is currently uniform point contact. see protocol.\n" + " Unknown\n" + " Survey method\n" + " -99999\n" + " \n" + " \n" + " \n" + " TAXON_KINGDOM\n" + " taxon_kingdom\n" + " String\n" + " \n" + " \n" + " TAXON_KINGDOM\n" + " taxonomic kingdom\n" + " Taxonomy\n" + " Kingdom\n" + " -99999\n" + " \n" + " \n" + " \n" + " TAXON_PHYLUM\n" + " taxon_phylum\n" + " String\n" + " \n" + " \n" + " TAXON_PHYLUM\n" + " taxonomic phylum\n" + " Taxonomy\n" + " Phylum\n" + " -99999\n" + " \n" + " \n" + " \n" + " TAXON_CLASS\n" + " taxon_class\n" + " String\n" + " \n" + " \n" + " TAXON_CLASS\n" + " taxonomic class\n" + " Taxonomy\n" + " Class\n" + " -99999\n" + " \n" + " \n" + " \n" + " TAXON_ORDER\n" + " taxon_order\n" + " String\n" + " \n" + " \n" + " TAXON_ORDER\n" + " taxonomic order\n" + " Taxonomy\n" + " Order\n" + " -99999\n" + " \n" + " \n" + " \n" + " TAXON_FAMILY\n" + " taxon_family\n" + " String\n" + " \n" + " \n" + " TAXON_FAMILY\n" + " taxonomic family\n" + " Taxonomy\n" + " Family\n" + " -99999\n" + " \n" + " \n" + " \n" + " TAXON_FORMER_GENUS\n" + " previous_genus\n" + " String\n" + " \n" + " \n" + " TAXON_FORMER_GENUS\n" + " Genus prior to most recent name change\n" + " Taxonomy\n" + " Previous genus\n" + " -99999\n" + " \n" + " \n" + " \n" + " TAXON_FORMER_SPECIES\n" + " previous_species\n" + " String\n" + " \n" + " \n" + " TAXON_FORMER_SPECIES\n" + " Species name prior to most recent name change\n" + " Taxonomy\n" + " Previous species\n" + " -99999\n" + " \n" + " \n" + " \n" + " COMMON_NAME\n" + " common_name\n" + " String\n" + " \n" + " \n" + " COMMON_NAME\n" + " common_name\n" + " Taxonomy\n" + " Common name\n" + " -99999\n" + " \n" + " \n" + " \n" + " Substrate_type\n" + " substrate_type\n" + " String\n" + " \n" + " \n" + " Substrate_type\n" + " substrate type\n" + "B = Bedrock\n" + "BL = Boulder Large: rock greater than 1 meter in diameter\n" + "BM = Boulder Medium: rock 50 to 100 cm in diameter\n" + "BS = Boulder Small: rock 25-50 cm in diameter\n" + "C = Cobble: rock less than 25 cm in diameter\n" + "S = Sand: sand greater than 2.5 cm deep\n" + "SS = Shallow Sand: sand less than 2.5 cm deep\n" + "SH = Shell Debris, broken\n" + " Unknown\n" + " Substrate Type\n" + " -99999\n" + " \n" + " \n" + " \n" + " Mobility\n" + " mobility\n" + " String\n" + " \n" + " \n" + " Mobility\n" + " organism is either sessile or mobile\n" + "Sessile = Organism is attached to the bottom\n" + "Mobile = Organism is capable of independent movement\n" + " Unknown\n" + " Mobility\n" + " -99999\n" + " \n" + " \n" + " \n" + " Growth_morph\n" + " growth_morph\n" + " String\n" + " \n" + " \n" + " Growth_morph\n" + " organism is either aggregate or solitary\n" + "Aggregate = Organism occurs in groups\n" + "solitary = Organism occurs singly\n" + " Unknown\n" + " Growth Morphology\n" + " -99999\n" + " \n" + " \n" + "\n"; } public static EDD gettestTimeZone() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTimeZone()); } private static String xmlFragment_testTimeZone() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/time/").toURI()).toString() + "\n" + " false\n" + " time_zone*\\.txt\n" + " last\n" + " ISO-8859-1\n" + " 1\n" + " 2\n" + " \n" + " \n" + " \n" + " \n" + " timestamp_utc\n" + " timestamp_utc\n" + " false\n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://www.pfeg.noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " many, keywords\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " Test time_zone\n" + " Test time_zone\n" + " \n" + " \n" + " timestamp_local\n" + " time\n" + " String\n" + " \n" + " Time\n" + " 9999-02-01T00:00\n" + " yyyy-MM-dd'T'HH:mm\n" + " US/Pacific\n" + " \n" + " \n" + " \n" + " timestamp_utc\n" + " String\n" + " \n" + " Time\n" + " 9999-02-01T00:00\n" + " yyyy-MM-dd'T'HH:mm\n" + " \n" + " \n" + " \n" + " m\n" + " int\n" + " \n" + " Time\n" + " -999\n" + " m\n" + " \n" + " \n" + "\n"; } public static EDD gettestTimeZone2() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTimeZone2()); } private static String xmlFragment_testTimeZone2() throws URISyntaxException { return "\n" + " 10080\n" + " -1\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/time/").toURI()).toString() + "\n" + " timeZone2\\.csv\n" + " false\n" + " .*\n" + " last\n" + " ISO-8859-1\n" + " 1\n" + " 2\n" + " \n" + " false\n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://coastwatch.pfeg.noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " many, keywords\n" + " GCMD Science Keywords\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " A great summary\n" + " testTime2\n" + " \n" + " \n" + " time\n" + " time\n" + " String\n" + " \n" + " \n" + " Time\n" + " time\n" + " Zulu\n" + " yyyy-MM-dd'T'HH:mm\n" + " \n" + " \n" + " \n" + " a\n" + " double\n" + " \n" + " \n" + " 40000.0\n" + " -10000.0\n" + " Other\n" + " -999.0\n" + " liter per second\n" + " \n" + " \n" + " \n" + " b\n" + " double\n" + " \n" + " \n" + " 500.0\n" + " -1500.0\n" + " Temperature\n" + " -999.0\n" + " celsius\n" + " \n" + " \n" + "\n"; } public static EDD gettestTimeMV() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTimeMV()); } private static String xmlFragment_testTimeMV() throws URISyntaxException { return "\n" + " 10080\n" + " -1\n" + " &time>=min(time)&time<=max(time)\n" + " &time>=min(time)&time<=max(time)&.marker=10|5\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/time/").toURI()).toString() + "\n" + " testTimeMV\\.csv\n" + " false\n" + " .*\n" + " last\n" + " ISO-8859-1\n" + " 1\n" + " 2\n" + " \n" + " false\n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " http://www.pfeg.noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " lots, of, keywords\n" + " GCMD Science Keywords\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " testTimeMV\n" + " testTimeMV\n" + " \n" + " \n" + " a\n" + " String\n" + " \n" + " \n" + " NULL\n" + " Unknown\n" + " NO SAMPLE\n" + " \n" + " \n" + " \n" + " localStringTime\n" + " time\n" + " String\n" + " \n" + " \n" + " Time\n" + " Time\n" + " 99999\n" + " 9997-04-06T00:00:00\n" + " time\n" + " US/Pacific\n" + " yyyy-MM-dd'T'HH:mm:ss\n" + " \n" + " \n" + " \n" + " m\n" + " int\n" + " \n" + " \n" + " Unknown\n" + " -999999\n" + " -999\n" + " m\n" + " \n" + " \n" + "\n"; } public static EDD gettestFileNames() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testFileNames()); } private static String xmlFragment_testFileNames() throws URISyntaxException { return "\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/fileNames/").toURI()).toString() + "\n" + " .*\\.png\n" + " true\n" + " 1440\n" + " \n" + " \n" + " Other\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://www.pfeg.noaa.gov/\n" + " NASA JPL\n" + " file, images, jpl, modified, mur, name, nasa, size, sst, time, URL\n" + " (local files)\n" + " fileType\n" + " Images from JPL MUR SST Daily.\n" + " JPL MUR SST Images\n" + " \n" + " \n" + " =5\n" + " five\n" + " float\n" + " \n" + " \n" + " Other\n" + " Five\n" + " m\n" + " \n" + " \n" + " \n" + " url\n" + " url\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " name\n" + " name\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " String\n" + " \n" + " jplMURSST(.*)\\.png\n" + " 1\n" + " yyyyMMddHHmmss\n" + " \n" + " \n" + " \n" + " day\n" + " day\n" + " int\n" + " \n" + " 2147483647\n" + " jplMURSST.{6}(..).{6}\\.png\n" + " 1\n" + " Time\n" + " \n" + " \n" + " \n" + " lastModified\n" + " lastModified\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " size\n" + " size\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " fileType\n" + " fileType\n" + " String\n" + " \n" + " .*(\\..+?)\n" + " 1\n" + " Identifier\n" + " File Type\n" + " \n" + " \n" + " \n" + " =NaN \n" + " fixedTime\n" + " double\n" + " \n" + " 946684800 978307200\n" + " seconds since 1970-01-01\n" + " \n" + " \n" + " \n" + " =Nan\n" + " latitude\n" + " double\n" + " \n" + " 20 40\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " =nan\n" + " longitude\n" + " double\n" + " \n" + " 0 45\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " =\"My \\\"Special\\\" String\"\n" + " mySpecialString\n" + " String\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " =\"\"\n" + " fvEmptyString\n" + " String\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " =\"url=\"+row.columnString(\"url\") + \" name=\"+row.columnString(\"name\") + \" time=\"+row.columnString(\"time\") + \" day=\"+row.columnString(\"day\") + \" lastMod=\"+row.columnString(\"lastModified\") + \" size=\"+row.columnString(\"size\") + \" fileType=\"+row.columnString(\"fileType\")\n" + " fromScript\n" + " String\n" + " \n" + " Other\n" + " \n" + " \n" + "\n"; } public static EDD gettestFileNamesAwsS3() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testFileNamesAwsS3()); } private static String xmlFragment_testFileNamesAwsS3() { return "\n" + " https://nasanex.s3.us-west-2.amazonaws.com/NEX-DCP30/BCSD/rcp26/mon/atmos/tasmin/r1i1p1/v1.0/CONUS/\n" + " .*_CESM1-CAM5_.*\\.nc\n" + " true\n" + " 120\n" + " \n" + " \n" + " Other\n" + " NASA Earth Exchange\n" + " https://nex.nasa.gov/nex/\n" + " https://nex.nasa.gov/nex/\n" + " NASA Earth Exchange\n" + " data, earth, exchange, file, great, identifier, lastModified, modified, name, nasa, size, time, title\n" + " (remote files)\n" + " fileType\n" + " File Names from https://nasanex.s3.us-west-2.amazonaws.com/NEX-DCP30/BCSD/rcp26/mon/atmos/tasmin/r1i1p1/v1.0/CONUS/\n" + " File Names from Amazon AWS S3 NASA NEX tasmin Files\n" + " \n" + " \n" + " =5\n" + " five\n" + " float\n" + " \n" + " \n" + " Other\n" + " Five\n" + " m\n" + " \n" + " \n" + " \n" + " url\n" + " url\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " name\n" + " name\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " startMonth\n" + " startMonth\n" + " String\n" + " \n" + " .*(\\d{6}).{7}\\.nc\n" + " 1\n" + " Time\n" + " Start Month\n" + " yyyyMM\n" + " \n" + " \n" + " \n" + " endMonth\n" + " endMonth\n" + " String\n" + " \n" + " .*(\\d{6})\\.nc\n" + " 1\n" + " Time\n" + " End Month\n" + " yyyyMM\n" + " \n" + " \n" + " \n" + " lastModified\n" + " lastModified\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " size\n" + " size\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " fileType\n" + " fileType\n" + " String\n" + " \n" + " .*(\\..+?)\n" + " 1\n" + " Identifier\n" + " File Type\n" + " \n" + " \n" + "\n"; } public static EDD getawsS3NoaaGoes17() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_awsS3NoaaGoes17()); } private static String xmlFragment_awsS3NoaaGoes17() { return "\n" + " ***fromOnTheFly, https://noaa-goes17.s3.us-east-1.amazonaws.com/\n" + " .*\n" + " true\n" + " .*\n" + " 1440\n" + " \n" + " \n" + " Other\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://registry.opendata.aws/noaa-goes/\n" + " NOAA\n" + " AWS, bucket, data, file, goes, identifier, lastModified, modified, name, noaa, S3, size, time, title\n" + " https://noaa-goes17.s3.us-east-1.amazonaws.com/\n" + " \n" + " This dataset has file information from the AWS S3 noaa-goes17 bucket at https://noaa-goes17.s3.us-east-1.amazonaws.com/ . Use ERDDAP's "files" system for this dataset to browse and download the files. The "files" information for this dataset is always perfectly up-to-date because ERDDAP gets it on-the-fly. AWS S3 doesn't offer a simple way to browser the files in buckets. This dataset is a solution to that problem for this bucket.\n" + " File Names from the AWS S3 noaa-goes17 Bucket\n" + " \n" + " \n" + " url\n" + " url\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " name\n" + " name\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " lastModified\n" + " lastModified\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " size\n" + " size\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " fileType\n" + " fileType\n" + " String\n" + " \n" + " .*(\\..+?)\n" + " 1\n" + " Identifier\n" + " File Type\n" + " \n" + " \n" + "\n"; } public static EDD getawsS3NoaaGoes17partial() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_awsS3NoaaGoes17partial()); } private static String xmlFragment_awsS3NoaaGoes17partial() throws URISyntaxException { return "\n" + " ***fromFiles, jsonlCSV, " + Path.of(EDDTestDataset.class.getResource("/largePoints/awsS3NoaaGoes17partial/").toURI()) .toString() + "/, awsS3NoaaGoes17_....\\.jsonlCSV(|.gz), https://noaa-goes17.s3.us-east-1.amazonaws.com/\n" + " .*\n" + " true\n" + " .*\n" + " 10080\n" + " \n" + " \n" + " Other\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://registry.opendata.aws/noaa-goes/\n" + " NOAA NMFS SWFSC ERD\n" + " AWS, bucket, data, file, goes, identifier, lastModified, modified, name, noaa, S3, size, time, title\n" + " https://noaa-goes17.s3.us-east-1.amazonaws.com/\n" + " \n" + " This is a test of displaying file names from the AWS S3 noaa-goes17 Bucket. Use ERDDAP's \"files\" system to download the files.\n" + " AWS S3 File Names from the noaa-goes17 Bucket\n" + " \n" + " \n" + " url\n" + " url\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " name\n" + " name\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " lastModified\n" + " lastModified\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " size\n" + " size\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " fileType\n" + " fileType\n" + " String\n" + " \n" + " .*(\\..+?)\n" + " 1\n" + " Identifier\n" + " File Type\n" + " \n" + " \n" + "\n"; } public static EDD getawsS3NoaaGoes17all() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_awsS3NoaaGoes17all()); } private static String xmlFragment_awsS3NoaaGoes17all() throws URISyntaxException { return "\n" + " ***fromFiles, jsonlCSV, " + Path.of(EDDTestDataset.class.getResource("/largePoints/awsS3NoaaGoes17all/").toURI()) .toString() + "/, awsS3NoaaGoes17_....\\.jsonlCSV(|.gz), https://noaa-goes17.s3.us-east-1.amazonaws.com/\n" + " .*\n" + " true\n" + " .*\n" + " 10080\n" + " \n" + " \n" + " Other\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://registry.opendata.aws/noaa-goes/\n" + " NOAA NMFS SWFSC ERD\n" + " AWS, bucket, data, file, goes, identifier, lastModified, modified, name, noaa, S3, size, time, title\n" + " https://noaa-goes17.s3.us-east-1.amazonaws.com/\n" + " \n" + " This is a test of displaying file names from the AWS S3 noaa-goes17 Bucket. Use ERDDAP's \"files\" system to download the files.\n" + " AWS S3 File Names from the noaa-goes17 Bucket\n" + " \n" + " \n" + " url\n" + " url\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " name\n" + " name\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " lastModified\n" + " lastModified\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " size\n" + " size\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " fileType\n" + " fileType\n" + " String\n" + " \n" + " .*(\\..+?)\n" + " 1\n" + " Identifier\n" + " File Type\n" + " \n" + " \n" + "\n"; } public static EDD gettestBadNcFile() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testBadNcFile()); } private static String xmlFragment_testBadNcFile() throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/nc/").toURI()).toString() + "\n" + " true\n" + " invalidShortened2\\.nc\n" + " last\n" + " false\n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/MW_cdom_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " many keywords\n" + " [standard]\n" + " null\n" + " null\n" + " null\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " This dataset shouldn't ever load - data file is invalid\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " MWcdom\n" + " cdom\n" + " float\n" + " \n" + " \n" + " null\n" + " 5.0\n" + " 0.0\n" + " Ocean Color\n" + " Chromophoric Dissolved Organic Material\n" + " null\n" + " null\n" + " 1\n" + " \n" + " \n" + "\n"; } public static EDD gettestGriddedNcFiles() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGriddedNcFiles()); } private static String xmlFragment_testGriddedNcFiles() throws URISyntaxException { return "\n" + " 60\n" + " 1\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/erdQSwind1day/").toURI()).toString() + "\n" + " \n" + " true\n" + " .*\\.nc(|.gz)\n" + " last\n" + " \n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " null\n" + " CF Standard Name Table v70\n" + " Remote Sensing Systems, Inc\n" + "2008-08-29T00:31:43Z NOAA CoastWatch (West Coast Node) and NOAA SFSC ERD\n" + "\n" + " \n" + " \n" + " time\n" + " \n" + " \n" + " altitude\n" + " \n" + " \n" + " latitude\n" + " \n" + " \n" + " longitude\n" + " \n" + " \n" + " x_wind\n" + " float\n" + " \n" + " \n" + " y_wind\n" + " float\n" + " \n" + " \n" + " mod\n" + " float\n" + " \n" + "\n"; } public static EDD gettestGribFiles_42() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGribFiles_42()); } private static String xmlFragment_testGribFiles_42() throws URISyntaxException { return "\n" + " 60\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/grib/").toURI()).toString() + "\n" + " true\n" + " .*\\.grb\n" + " last\n" + " \n" + " \n" + " 1981-01-01T12:00:00Z\n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " http://www.nceas.ucsb.edu/scicomp/GISSeminar/UseCases/ExtractGRIBClimateWithR/ExtractGRIBClimateWithR.html\n" + " UK Met RSMC\n" + " Atmosphere > Atmospheric Winds > Surface Winds\n" + " GCMD Science Keywords\n" + " [standard]\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/grib/").toURI()).toString() + "/HADCM3_A2_wind_1981-1990.grb\n" + " Initialized analysis product\n" + " CF Standard Name Table v70\n" + " This is a test of EDDGridFromNcFiles with GRIB files.\n" + " Test of EDDGridFromNcFiles with GRIB files\n" + " \n" + " \n" + " time\n" + " \n" + " Start of forecast\n" + " 1981-01-01T12:00:00Z\n" + " Forecast Time\n" + " \n" + " \n" + " \n" + " height_above_ground\n" + " \n" + " Height\n" + " Location\n" + " Specified Height Level above Ground\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " Wind_speed \n" + " \n" + " wind_speed\n" + " float\n" + " \n" + " 15\n" + " 0\n" + " Wind\n" + " wind_speed\n" + " m s-1\n" + " \n" + " \n" + "\n"; } public static EDD gettestGrib2_42() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGrib2_42()); } private static String xmlFragment_testGrib2_42() throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/geosgrib/").toURI()).toString() + "\n" + " true\n" + " .*\\.grb2\n" + " last\n" + " \n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " ???\n" + " ???\n" + " \n" + "Atmosphere > Atmospheric Winds > Surface Winds,\n" + "Oceans > Ocean Waves > Wave Height,\n" + "Oceans > Ocean Waves > Wave Speed/Direction\n" + " GCMD Science Keywords\n" + " [standard]\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/geosgrib/").toURI()).toString() + "/multi_1.glo_30m.all.grb2\n" + " CF Standard Name Table v70\n" + " ???\n" + " Test of Grib2\n" + " \n" + " \n" + " time\n" + " \n" + " Forecast Time\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " Direction_of_swell_waves\n" + " float\n" + " \n" + " 360\n" + " 0\n" + " Surface Waves\n" + " sea_surface_swell_wave_to_direction\n" + " \n" + " \n" + " \n" + " Direction_of_wind_waves\n" + " float\n" + " \n" + " 360\n" + " 0\n" + " Surface Waves\n" + " sea_surface_wind_wave_to_direction\n" + " \n" + " \n" + " \n" + " Mean_period_of_swell_waves\n" + " float\n" + " \n" + " 20\n" + " 0\n" + " Surface Waves\n" + " sea_surface_swell_wave_mean_period_from_variance_spectral_density_first_frequency_moment\n" + " \n" + " \n" + " \n" + " Mean_period_of_wind_waves\n" + " float\n" + " \n" + " 20\n" + " 0\n" + " Surface Waves\n" + " sea_surface_wind_wave_mean_period_from_variance_spectral_density_first_frequency_moment\n" + " \n" + " \n" + " \n" + " Primary_wave_direction\n" + " float\n" + " \n" + " 360\n" + " 0\n" + " Surface Waves\n" + " sea_surface_wave_to_direction\n" + " \n" + " \n" + " \n" + " Primary_wave_mean_period\n" + " float\n" + " \n" + " 20\n" + " 0\n" + " Surface Waves\n" + " sea_surface_wave_mean_period_from_variance_spectral_density_first_frequency_moment\n" + " \n" + " \n" + " \n" + " Significant_height_of_combined_wind_waves_and_swell\n" + " float\n" + " \n" + " 15\n" + " 0\n" + " Surface Waves\n" + " sea_surface_wave_significant_height\n" + " \n" + " \n" + " \n" + " Significant_height_of_swell_waves\n" + " float\n" + " \n" + " 15\n" + " 0\n" + " Surface Waves\n" + " sea_surface_swell_wave_significant_height\n" + " \n" + " \n" + " \n" + " Significant_height_of_wind_waves\n" + " float\n" + " \n" + " 15\n" + " 0\n" + " Surface Waves\n" + " sea_surface_wind_wave_significant_height\n" + " \n" + " \n" + " \n" + " U-component_of_wind\n" + " U_component_of_wind\n" + " float\n" + " \n" + " 20\n" + " 0\n" + " Wind\n" + " x_wind\n" + " \n" + " \n" + " \n" + " V-component_of_wind\n" + " V_component_of_wind\n" + " float\n" + " \n" + " 20\n" + " 0\n" + " Wind\n" + " y_wind\n" + " \n" + " \n" + " \n" + " Wind_direction_from_which_blowing\n" + " float\n" + " \n" + " 360\n" + " 0\n" + " Wind\n" + " wind_from_direction\n" + " \n" + " \n" + " \n" + " Wind_speed\n" + " float\n" + " \n" + " 20\n" + " 0\n" + " Wind\n" + " wind_speed\n" + " \n" + " \n" + "\n"; } public static EDD gettestGribFiles_43() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGribFiles_43()); } private static String xmlFragment_testGribFiles_43() throws URISyntaxException { return "\n" + " 60\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/grib/").toURI()).toString() + "\n" + " true\n" + " .*\\.grb\n" + " last\n" + " \n" + " \n" + " 1981-01-01T12:00:00Z\n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " http://www.nceas.ucsb.edu/scicomp/GISSeminar/UseCases/ExtractGRIBClimateWithR/ExtractGRIBClimateWithR.html\n" + " UK Met RSMC\n" + " Atmosphere > Atmospheric Winds > Surface Winds\n" + " GCMD Science Keywords\n" + " [standard]\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/grib/").toURI()).toString() + "/HADCM3_A2_wind_1981-1990.grb\n" + " null\n" + " null\n" + " UK Meteorological Office ­ Exeter (RSMC)\n" + " 0\n" + " Initialized analysis product\n" + " CF Standard Name Table v70\n" + " This is a test of EDDGridFromNcFiles with GRIB files.\n" + " Test of EDDGridFromNcFiles with GRIB files\n" + " \n" + " \n" + " time\n" + " \n" + " Start of forecast\n" + " 1981-01-01T12:00:00Z\n" + " Forecast Time\n" + " \n" + " \n" + " \n" + " height_above_ground\n" + " \n" + " Height\n" + " Location\n" + " Specified Height Level above Ground\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " Wind_speed_height_above_ground\n" + " wind_speed\n" + " float\n" + " \n" + " 15\n" + " 0\n" + " Wind\n" + " wind_speed\n" + " m s-1\n" + " \n" + " \n" + "\n"; } public static EDD gettestGrib2_43() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGrib2_43()); } private static String xmlFragment_testGrib2_43() throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/geosgrib/").toURI()).toString() + "\n" + " true\n" + " .*\\.grb2\n" + " last\n" + " \n" + " null\n" + " 2/1\n" + " null\n" + " null\n" + " US National Weather Service, National Centres for Environmental Prediction (NCEP)\n" + " 0\n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " ???\n" + " ???\n" + " \n" + "Atmosphere > Atmospheric Winds > Surface Winds,\n" + "Oceans > Ocean Waves > Wave Height,\n" + "Oceans > Ocean Waves > Wave Speed/Direction\n" + " GCMD Science Keywords\n" + " [standard]\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/geosgrib/").toURI()).toString() + "/multi_1.glo_30m.all.grb2\n" + " CF Standard Name Table v70\n" + " ???\n" + " Test of Grib2\n" + " \n" + " \n" + " time\n" + " \n" + " Forecast Time\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " Direction_of_swell_waves_degree_true_ordered_sequence_of_data\n" + " float\n" + " \n" + " 360\n" + " 0\n" + " Surface Waves\n" + " sea_surface_swell_wave_to_direction\n" + " \n" + " \n" + " \n" + " Direction_of_wind_waves_degree_true_surface\n" + " float\n" + " \n" + " 360\n" + " 0\n" + " Surface Waves\n" + " sea_surface_wind_wave_to_direction\n" + " \n" + " \n" + " \n" + " Mean_period_of_swell_waves_ordered_sequence_of_data\n" + " float\n" + " \n" + " 20\n" + " 0\n" + " Surface Waves\n" + " sea_surface_swell_wave_mean_period_from_variance_spectral_density_first_frequency_moment\n" + " \n" + " \n" + " \n" + " Mean_period_of_wind_waves_surface\n" + " float\n" + " \n" + " 20\n" + " 0\n" + " Surface Waves\n" + " sea_surface_wind_wave_mean_period_from_variance_spectral_density_first_frequency_moment\n" + " \n" + " \n" + " \n" + " Primary_wave_direction_degree_true_surface\n" + " float\n" + " \n" + " 360\n" + " 0\n" + " Surface Waves\n" + " sea_surface_wave_to_direction\n" + " \n" + " \n" + " \n" + " Primary_wave_mean_period_surface\n" + " float\n" + " \n" + " 20\n" + " 0\n" + " Surface Waves\n" + " sea_surface_wave_mean_period_from_variance_spectral_density_first_frequency_moment\n" + " \n" + " \n" + " \n" + " Significant_height_of_combined_wind_waves_and_swell_surface\n" + " float\n" + " \n" + " 15\n" + " 0\n" + " Surface Waves\n" + " sea_surface_wave_significant_height\n" + " \n" + " \n" + " \n" + " Significant_height_of_swell_waves_ordered_sequence_of_data\n" + " float\n" + " \n" + " 15\n" + " 0\n" + " Surface Waves\n" + " sea_surface_swell_wave_significant_height\n" + " \n" + " \n" + " \n" + " Significant_height_of_wind_waves_surface\n" + " float\n" + " \n" + " 15\n" + " 0\n" + " Surface Waves\n" + " sea_surface_wind_wave_significant_height\n" + " \n" + " \n" + " \n" + " u-component_of_wind_surface\n" + " U_component_of_wind\n" + " float\n" + " \n" + " 20\n" + " 0\n" + " Wind\n" + " x_wind\n" + " \n" + " \n" + " \n" + " v-component_of_wind_surface\n" + " V_component_of_wind\n" + " float\n" + " \n" + " 20\n" + " 0\n" + " Wind\n" + " y_wind\n" + " \n" + " \n" + " \n" + " Wind_direction_from_which_blowing_degree_true_surface\n" + " float\n" + " \n" + " 360\n" + " 0\n" + " Wind\n" + " wind_from_direction\n" + " \n" + " \n" + " \n" + " Wind_speed_surface\n" + " float\n" + " \n" + " 20\n" + " 0\n" + " Wind\n" + " wind_speed\n" + " \n" + " \n" + "\n"; } public static EDD gettestPrivateAwsS3() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testPrivateAwsS3()); } private static String xmlFragment_testPrivateAwsS3() throws URISyntaxException { return "\n" + " 1000000\n" + " https://bobsimonsdata.s3.us-east-1.amazonaws.com/erdQSwind1day\n" + " " + Path.of(EDDTestDataset.class.getResource("/largePoints/testPrivateAwsS3/").toURI()) .toString() + "/\n" + " erdQS.*\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " institution\n" + " https://coastwatch.pfeg.noaa.gov\n" + " 2008-08-29\n" + " 2008-08-29\n" + " Remote Sensing Systems, Inc\n" + "2008-08-29T00:31:43Z NOAA CoastWatch (West Coast Node) and NOAA SFSC ERD\n" + "2009-01-07 http://192.168.31.18/thredds/dodsC/satellite/QS/ux10/1day\n" + "2009-01-07 https://coastwatch.pfeg.noaa.gov/erddap/griddap/erdQSwind1day.nc?x_wind[(2008-01-08T12:00:00Z):1:(2008-01-10T12:00:00Z)][(0.0):1:(0.0)][(-89.875):1:(89.875)][(0.125):1:(359.875)],y_wind[(2008-01-08T12:00:00Z):1:(2008-01-10T12:00:00Z)][(0.0):1:(0.0)][(-89.875):1:(89.875)][(0.125):1:(359.875)],mod[(2008-01-08T12:00:00Z):1:(2008-01-10T12:00:00Z)][(0.0):1:(0.0)][(-89.875):1:(89.875)][(0.125):1:(359.875)]\n" + " https://coastwatch.pfeg.noaa.gov/infog/QS_ux10_las.html\n" + " NOAA CoastWatch WCN\n" + " altitude, atmosphere, atmospheric, coast, coastwatch, composite, data, day, earth, Earth Science > Atmosphere > Atmospheric Winds > Surface Winds, Earth Science > Oceans > Ocean Winds > Surface Winds, global, latitude, longitude, meridional, mod, modulus, noaa, node, ocean, oceans, quality, quikscat, science, science quality, surface, time, wcn, west, wind, winds, x_wind, y_wind, zonal\n" + " gov.noaa.pfeg.coastwatch\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " CF Standard Name Table v70\n" + " Test Private AWS S3 data. This is for TEST PURPOSES ONLY\n" + " Test Private AWS S3 data. This is for TEST PURPOSES ONLY\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " latitude\n" + " latitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " longitude\n" + " longitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " x_wind\n" + " x_wind\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " y_wind\n" + " y_wind\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " mod\n" + " mod\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + "\n"; } public static EDD gettestAwsS3() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testAwsS3()); } private static String xmlFragment_testAwsS3() throws URISyntaxException { return "\n" + " 1440\n" + " 0\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/points/testAwsS3/").toURI()) .toString() + "/\n" + " true\n" + " tasmin_amon_BCSD_rcp26_r1i1p1_CONUS_bcc-csm1-1_20.*\\.nc\n" + " last\n" + " false\n" + " https://nasanex.s3.us-west-2.amazonaws.com/NEX-DCP30/BCSD/rcp26/mon/atmos/tasmin/r1i1p1/v1.0/CONUS/\n" + " 5\n" + " \n" + " \n" + " Grid\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " rama.nemani@nasa.gov\n" + " Rama Nemani\n" + " https://www.nasa.gov/\n" + " https://registry.opendata.aws/nasanex/\n" + " 800m, air, air_temperature, ames, atmosphere,\n" + "Atmosphere > Atmospheric Temperature > Air Temperature,\n" + "Atmosphere > Atmospheric Temperature > Surface Air Temperature,\n" + "atmospheric, center, climate, cmip5, continental, daily, data, day, downscaled, earth, exchange, field, intercomparison, minimum, model, moffett, nasa, near, near-surface, nex, project, projections, research, surface, tasmin, temperature, time, US\n" + " GCMD Science Keywords\n" + " [standard]\n" + " https://en.wikipedia.org/wiki/Contiguous_United_States\n" + " CF Standard Name Table v70\n" + " 800m Downscaled NEX Climate Model Intercomparison Project 5 (CMIP5) Climate Projections for the Continental US\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " Time\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " Location\n" + " Latitude\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " Location\n" + " Longitude\n" + " \n" + " \n" + " \n" + " tasmin\n" + " tasmin\n" + " float\n" + " \n" + " \n" + " null\n" + " null\n" + " 313.0\n" + " 263.0\n" + " null\n" + " Temperature\n" + " \n" + " \n" + "\n"; } public static EDD gettestCwHdf() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testCwHdf()); } private static String xmlFragment_testCwHdf() throws URISyntaxException { return "\n" + " 60\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/cwhdf/").toURI()).toString() + "\n" + " false\n" + " .*\\.hdf\n" + " last\n" + " \n" + " Grid\n" + " \n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " Direct read of HDF4 file through CDM library\n" + " ???\n" + " NOAA CoastWatch\n" + " Oceans > Ocean Temperature > Sea Surface Temperature\n" + " GCMD Science Keywords\n" + " [standard]\n" + " USDOC/NOAA/NESDIS CoastWatch\n" + " \n" + " day\n" + " \n" + " \n" + " \n" + " CF Standard Name Table v70\n" + " \n" + " ???\n" + " Test of CoastWatch HDF files\n" + " \n" + " \n" + " rows\n" + " \n" + " Location\n" + " Rows\n" + " \n" + " \n" + " \n" + " cols\n" + " \n" + " Location\n" + " Cols\n" + " \n" + " \n" + " \n" + " avhrr_ch1\n" + " short\n" + " \n" + " Other\n" + " AVHRR Channel 1\n" + " isotropic_spectral_radiance_in_air\n" + " \n" + " \n" + " \n" + " sst\n" + " short\n" + " \n" + " Temperature\n" + " Sea Surface Temperature\n" + " 0\n" + " 32\n" + " sea_surface_temperature\n" + " \n" + " \n" + "\n"; } public static EDD gettestGridGroups2a() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGridGroups2a()); } private static String xmlFragment_testGridGroups2a() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/charles/").toURI()).toString() + "/\n" + " testGroups2\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " ???\n" + " ???\n" + " 1/time, 1/water, 1/x, 1/y, air, air_pressure, atmosphere, atmospheric, averaged, currents, data, depth, earth, Earth Science > Atmosphere > Atmospheric Pressure > Atmospheric Pressure Measurements, Earth Science > Atmosphere > Atmospheric Pressure > Sea Level Pressure, Earth Science > Atmosphere > Atmospheric Pressure > Static Pressure, elevation, level, local, measurements, pressure, science, sea, seawater, source, static, synthetic, Synthetic_032_-_1/Atmospheric_Pressure, Synthetic_032_-_1/time, Synthetic_032_-_1/Water_Elevation, Synthetic_032_-_1/X_Depth_Averaged_Velocity, Synthetic_032_-_1/X_Wind_Velocity, Synthetic_032_-_1/Y_Depth_Averaged_Velocity, Synthetic_032_-_1/Y_Wind_Velocity, time, velocity, water, wind\n" + " GCMD Science Keywords\n" + " null\n" + " [standard]\n" + " null\n" + " null\n" + " USACE_S2G\n" + " CF Standard Name Table v70\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " Synthetic_032_-_1/time\n" + " time\n" + " \n" + " \n" + " Time\n" + " Synthetic 032 - 1/time\n" + " Synthetic_032_-_1/time\n" + " time\n" + " \n" + " \n" + " \n" + " Synthetic_032_-_1/Y_Depth_Averaged_Velocity\n" + " Synthetic_032_1_Y_Depth_Averaged_Velocity\n" + " double\n" + " \n" + " \n" + " Currents\n" + " Synthetic 032 - 1/Y Depth Averaged Velocity\n" + " null\n" + " m/s\n" + " \n" + " \n" + " \n" + " Synthetic_032_-_1/Y_Wind_Velocity\n" + " Synthetic_032_1_Y_Wind_Velocity\n" + " double\n" + " \n" + " \n" + " Wind\n" + " Synthetic 032 - 1/Y Wind Velocity\n" + " null\n" + " m/s\n" + " \n" + " \n" + " \n" + " Synthetic_032_-_1/Water_Elevation\n" + " Synthetic_032_1_Water_Elevation\n" + " double\n" + " \n" + " \n" + " Location\n" + " Synthetic 032 - 1/Water Elevation\n" + " null\n" + " m\n" + " \n" + " \n" + " \n" + " Synthetic_032_-_1/X_Depth_Averaged_Velocity\n" + " Synthetic_032_1_X_Depth_Averaged_Velocity\n" + " double\n" + " \n" + " \n" + " Currents\n" + " Synthetic 032 - 1/X Depth Averaged Velocity\n" + " null\n" + " m/s\n" + " \n" + " \n" + " \n" + " Synthetic_032_-_1/X_Wind_Velocity\n" + " Synthetic_032_1_X_Wind_Velocity\n" + " double\n" + " \n" + " \n" + " Wind\n" + " Synthetic 032 - 1/X Wind Velocity\n" + " null\n" + " m/s\n" + " \n" + " \n" + " \n" + " Synthetic_032_-_1/Atmospheric_Pressure\n" + " Synthetic_032_1_Atmospheric_Pressure\n" + " double\n" + " \n" + " \n" + " 1050.0\n" + " 950.0\n" + " Pressure\n" + " Air Pressure\n" + " air_pressure\n" + " null\n" + " hPa\n" + " \n" + " \n" + "\n"; } public static EDD gettestGridGroups2() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGridGroups2()); } private static String xmlFragment_testGridGroups2() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/charles/").toURI()).toString() + "/\n" + " testGroups2\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " null\n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " ???\n" + " ???\n" + " 3/time, 3/water, 3/x, 3/y, air, air_pressure, atmosphere, atmospheric, averaged, currents, data, depth, earth, Earth Science > Atmosphere > Atmospheric Pressure > Atmospheric Pressure Measurements, Earth Science > Atmosphere > Atmospheric Pressure > Sea Level Pressure, Earth Science > Atmosphere > Atmospheric Pressure > Static Pressure, elevation, level, local, measurements, pressure, science, sea, seawater, source, static, synthetic, Synthetic_035_-_3/Atmospheric_Pressure, Synthetic_035_-_3/time, Synthetic_035_-_3/Water_Elevation, Synthetic_035_-_3/X_Depth_Averaged_Velocity, Synthetic_035_-_3/X_Wind_Velocity, Synthetic_035_-_3/Y_Depth_Averaged_Velocity, Synthetic_035_-_3/Y_Wind_Velocity, time, velocity, water, wind\n" + " GCMD Science Keywords\n" + " null\n" + " [standard]\n" + " null\n" + " null\n" + " USACE_S2G\n" + " CF Standard Name Table v70\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " Synthetic_035_-_3/time\n" + " time\n" + " \n" + " \n" + " Time\n" + " Synthetic 035 - 3/time\n" + " Synthetic_035_-_3/time\n" + " time\n" + " \n" + " \n" + " \n" + " Synthetic_035_-_3/X_Depth_Averaged_Velocity\n" + " Synthetic_035_3_X_Depth_Averaged_Velocity\n" + " double\n" + " \n" + " \n" + " Currents\n" + " Synthetic 035 - 3/X Depth Averaged Velocity\n" + " null\n" + " m/s\n" + " \n" + " \n" + " \n" + " Synthetic_035_-_3/X_Wind_Velocity\n" + " Synthetic_035_3_X_Wind_Velocity\n" + " double\n" + " \n" + " \n" + " Wind\n" + " Synthetic 035 - 3/X Wind Velocity\n" + " null\n" + " m/s\n" + " \n" + " \n" + " \n" + " Synthetic_035_-_3/Y_Depth_Averaged_Velocity\n" + " Synthetic_035_3_Y_Depth_Averaged_Velocity\n" + " double\n" + " \n" + " \n" + " Currents\n" + " Synthetic 035 - 3/Y Depth Averaged Velocity\n" + " null\n" + " m/s\n" + " \n" + " \n" + " \n" + " Synthetic_035_-_3/Y_Wind_Velocity\n" + " Synthetic_035_3_Y_Wind_Velocity\n" + " double\n" + " \n" + " \n" + " Wind\n" + " Synthetic 035 - 3/Y Wind Velocity\n" + " null\n" + " m/s\n" + " \n" + " \n" + " \n" + " Synthetic_035_-_3/Water_Elevation\n" + " Synthetic_035_3_Water_Elevation\n" + " double\n" + " \n" + " \n" + " Location\n" + " Synthetic 035 - 3/Water Elevation\n" + " null\n" + " m\n" + " \n" + " \n" + " \n" + " Synthetic_035_-_3/Atmospheric_Pressure\n" + " Synthetic_035_3_Atmospheric_Pressure\n" + " double\n" + " \n" + " \n" + " 1050.0\n" + " 950.0\n" + " Pressure\n" + " Air Pressure\n" + " air_pressure\n" + " null\n" + " hPa\n" + " \n" + " \n" + "\n"; } public static EDD gettestsGridGroups() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGridGroups()); } private static String xmlFragment_testGridGroups() throws URISyntaxException { return "\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/hdf/").toURI()).toString() + "/\n" + " Q2011237000100.L2_SCI_V4\\.0\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " webadmin@oceancolor.gsfc.nasa.gov\n" + " NASA/GSFC OBPG\n" + " group\n" + " https://oceancolor.gsfc.nasa.gov/cms/\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://oceancolor.gsfc.nasa.gov/cms/\n" + " null\n" + " aquarius, Aquarius_Flags/rad_rfi_flags, axis0, axis1, axis2, axis3, biology, center, color, data, flags, flight, goddard, group, gsfc, level, nasa, obpg, ocean, processing, quality, radiometer, rfi, space\n" + " null\n" + " [standard]\n" + " null\n" + " -limits /sdps/sdpsoper/Science/OCSSW/V2015.2/data/aquarius/scatterometer/L1B_limits_flA_05-08-2012.txt -debug -1 -L2_filter_rfi -param_file /sdps/sdpsoper/Science/OCSSW/V2015.2/data/aquarius/scatterometer/params_pointing_fix_10-31-2012.txt -dir_dat /sdps/sdpsoper/Science/OCSSW/V2015.2/data/aquarius/scatterometer -dir_out /data1/sdpsoper/vdc/vpu0/workbuf -dir_scratch /dev/shm/tmp_76616093 -apc_file /sdps/sdpsoper/Science/OCSSW/V2015.2/data/aquarius/scatterometer/L2_APC_matrix_theory_10-04-2011.txt -cal_level 3 -suppress_tlm_warnings -i /data1/sdpsoper/vdc/vpu0/workbuf/Q2011237000100.L1A_SCI\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Aquarius Level 2 Data. NASA/Goddard Space Flight Center (GSFC) Ocean Biology Processing Group (OBPG) data from a local source.\n" + " null\n" + " Aquarius Level 2 Data\n" + " \n" + " \n" + " axis0\n" + " axis0\n" + " \n" + " \n" + " Unknown\n" + " Axis0\n" + " \n" + " \n" + " \n" + " axis1\n" + " axis1\n" + " \n" + " \n" + " Unknown\n" + " Axis1\n" + " \n" + " \n" + " \n" + " axis2\n" + " axis2\n" + " \n" + " \n" + " Unknown\n" + " Axis2\n" + " \n" + " \n" + " \n" + " axis3\n" + " axis3\n" + " \n" + " \n" + " Unknown\n" + " Axis3\n" + " \n" + " \n" + " \n" + " Aquarius_Flags/rad_rfi_flags\n" + " Aquarius_Flags_rad_rfi_flags\n" + " ubyte\n" + " \n" + " \n" + " 255 \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + "\n"; } public static EDD gettestGridGroupsNavigation() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGridGroupsNavigation()); } private static String xmlFragment_testGridGroupsNavigation() throws URISyntaxException { return "\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/hdf/").toURI()).toString() + "/\n" + " Q2011237000100.L2_SCI_V4\\.0\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " webadmin@oceancolor.gsfc.nasa.gov\n" + " NASA/GSFC OBPG\n" + " group\n" + " https://oceancolor.gsfc.nasa.gov/cms/\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://oceancolor.gsfc.nasa.gov/cms/\n" + " null\n" + " aquarius, Aquarius_Flags/radiometer_flags, average, axis0, axis1, axis2, biology, Block_Attributes/rad_samples, center, color, data, east, flags, flight, footprint, geodectic, goddard, group, gsfc, latitude, latitudes, level, longitude, longitudes, nasa, Navigation/cellatfoot, Navigation/cellonfoot, Navigation/scat_latfoot, Navigation/scat_lonfoot, number, obpg, ocean, per, processing, quality, radiometer, samples, scatterometer, space, statistics\n" + " null\n" + " [standard]\n" + " null\n" + " -limits /sdps/sdpsoper/Science/OCSSW/V2015.2/data/aquarius/scatterometer/L1B_limits_flA_05-08-2012.txt -debug -1 -L2_filter_rfi -param_file /sdps/sdpsoper/Science/OCSSW/V2015.2/data/aquarius/scatterometer/params_pointing_fix_10-31-2012.txt -dir_dat /sdps/sdpsoper/Science/OCSSW/V2015.2/data/aquarius/scatterometer -dir_out /data1/sdpsoper/vdc/vpu0/workbuf -dir_scratch /dev/shm/tmp_76616093 -apc_file /sdps/sdpsoper/Science/OCSSW/V2015.2/data/aquarius/scatterometer/L2_APC_matrix_theory_10-04-2011.txt -cal_level 3 -suppress_tlm_warnings -i /data1/sdpsoper/vdc/vpu0/workbuf/Q2011237000100.L1A_SCI\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Aquarius Level 2 Data. NASA/Goddard Space Flight Center (GSFC) Ocean Biology Processing Group (OBPG) data from a local source.\n" + " null\n" + " Aquarius Level 2 Data\n" + " \n" + " \n" + " Navigation/axis0\n" + " Navigation_axis0\n" + " \n" + " \n" + " Unknown\n" + " Navigation/axis0\n" + " \n" + " \n" + " \n" + " Navigation/axis1\n" + " Navigation_axis1\n" + " \n" + " \n" + " Unknown\n" + " Navigation/axis1\n" + " \n" + " \n" + " \n" + " Navigation/axis2\n" + " Navigation_axis2\n" + " \n" + " \n" + " Unknown\n" + " Navigation/axis2\n" + " \n" + " \n" + " \n" + " Aquarius_Flags/radiometer_flags\n" + " Aquarius_Flags_radiometer_flags\n" + " uint\n" + " \n" + " \n" + " 4294967295\n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " null\n" + " NAV\n" + " \n" + " \n" + " \n" + " Block_Attributes/rad_samples\n" + " Block_Attributes_rad_samples\n" + " ushort\n" + " \n" + " \n" + " 65535\n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " Navigation/cellatfoot\n" + " Navigation_cellatfoot\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " -100.0\n" + " Location\n" + " \n" + " \n" + " \n" + " Navigation/cellonfoot\n" + " Navigation_cellonfoot\n" + " float\n" + " \n" + " \n" + " 200.0\n" + " -200.0\n" + " Location\n" + " \n" + " \n" + " \n" + " Navigation/scat_latfoot\n" + " Navigation_scat_latfoot\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " -100.0\n" + " Location\n" + " \n" + " \n" + " \n" + " Navigation/scat_lonfoot\n" + " Navigation_scat_lonfoot\n" + " float\n" + " \n" + " \n" + " 200.0\n" + " -200.0\n" + " Location\n" + " \n" + " \n" + "\n"; } public static EDD gettestAwsXml() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testAwsXml()); } private static String xmlFragment_testAwsXml() throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/aws/xml/").toURI()).toString() + "/\n" + " true\n" + " .*\\.xml\n" + " last\n" + " 1\n" + " 2\n" + " \n" + " -.*$\n" + " .*\n" + " fileName\n" + " ob-date\n" + " station-id ob-date\n" + " \n" + " \n" + " \n" + " Other\n" + " \n" + " fileName, station_id, station, city_state_zip, city_state, site_url, altitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " exploratorium\n" + " http://www.exploratorium.edu\n" + " http://www.exploratorium.edu\n" + " exploratorium\n" + " \n" + "Atmosphere > Atmospheric Temperature > Dew Point Temperature,\n" + "Atmosphere > Atmospheric Water Vapor > Dew Point Temperature,\n" + "Atmosphere > Atmospheric Winds > Surface Winds,\n" + "atmosphere, atmospheric, aux, aux-temp, aux-temp-rate, bulb, city, city-state, city-state-zip, dew point, dew_point_temperature, direction, elevation, exploratorium, feels, feels-like, file, from, gust, high, humidity, humidity-high, humidity-low, humidity-rate, identifier, img, indoor, indoor-temp, indoor-temp-rate, light, light-rate, like, low, max, meteorology, month, moon, moon-phase, moon-phase-moon-phase-img, name, newer, phase, pressure, pressure-high, pressure-low, pressure-rate, rain, rain-month, rain-rate, rain-rate-max, rain-today, rain-year, rate, site, site-url, speed, state, station, station-id, surface, temp-high, temp-low, temp-rate, temperature, time, title, today, url, vapor, water, wet, wet-bulb, wind, wind_from_direction, wind_speed, wind_speed_of_gust, winds, year, zip\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " The new summary!\n" + " The Newer Title!\n" + " \n" + " \n" + " fileName\n" + " fileName\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " File Name\n" + " \n" + " \n" + " \n" + " station-id\n" + " station_id\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Station-id\n" + " \n" + " \n" + " \n" + " station\n" + " station\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Station\n" + " \n" + " \n" + " \n" + " city-state-zip\n" + " city_state_zip\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " City-state-zip\n" + " \n" + " \n" + " \n" + " city-state\n" + " city_state\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " City-state\n" + " \n" + " \n" + " \n" + " site-url\n" + " site_url\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Site-url\n" + " \n" + " \n" + " \n" + " elevation\n" + " altitude\n" + " byte\n" + " \n" + " \n" + " Location\n" + " Altitude\n" + " 0.3048\n" + " altitude\n" + " m\n" + " \n" + " \n" + " \n" + " ob-date\n" + " time\n" + " double\n" + " \n" + " \n" + " Time\n" + " Time\n" + " time\n" + " \n" + " \n" + " \n" + " aux-temp\n" + " aux_temp\n" + " float\n" + " \n" + " \n" + " 104.0\n" + " 14.0\n" + " Temperature\n" + " Aux-temp\n" + " \n" + " \n" + " \n" + " aux-temp-rate\n" + " aux_temp_rate\n" + " float\n" + " \n" + " \n" + " 10.0\n" + " -10.0\n" + " Temperature\n" + " Aux-temp-rate\n" + " \n" + " \n" + " \n" + " dew-point\n" + " dew_point\n" + " float\n" + " \n" + " \n" + " 104.0\n" + " 14.0\n" + " Temperature\n" + " Dew Point Temperature\n" + " dew_point_temperature\n" + " \n" + " \n" + " \n" + " feels-like\n" + " feels_like\n" + " float\n" + " \n" + " \n" + " 104.0\n" + " 14.0\n" + " Temperature\n" + " Feels-like\n" + " \n" + " \n" + " \n" + " gust-time\n" + " gust_time\n" + " double\n" + " \n" + " \n" + " Time\n" + " Gust-time\n" + " time\n" + " \n" + " \n" + " \n" + " gust-direction\n" + " gust_direction\n" + " String\n" + " \n" + " \n" + " 360\n" + " 0\n" + " Wind\n" + " Gust-direction\n" + " \n" + " \n" + " \n" + " gust-speed\n" + " gust_speed\n" + " float\n" + " \n" + " \n" + " 30.0\n" + " 0.0\n" + " Wind\n" + " Wind Speed Of Gust\n" + " wind_speed_of_gust\n" + " \n" + " \n" + " \n" + " humidity\n" + " humidity\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Meteorology\n" + " Relative Humidity\n" + " relative_humidity\n" + " percent\n" + " \n" + " \n" + " \n" + " humidity-high\n" + " humidity_high\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Meteorology\n" + " Relative Humidity\n" + " relative_humidity\n" + " percent\n" + " \n" + " \n" + " \n" + " humidity-low\n" + " humidity_low\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Meteorology\n" + " Relative Humidity\n" + " relative_humidity\n" + " percent\n" + " \n" + " \n" + " \n" + " humidity-rate\n" + " humidity_rate\n" + " float\n" + " \n" + " \n" + " Meteorology\n" + " Humidity-rate\n" + " \n" + " \n" + " \n" + " indoor-temp\n" + " indoor_temp\n" + " float\n" + " \n" + " \n" + " 104.0\n" + " 14.0\n" + " Temperature\n" + " Indoor-temp\n" + " \n" + " \n" + " \n" + " indoor-temp-rate\n" + " indoor_temp_rate\n" + " float\n" + " \n" + " \n" + " 10.0\n" + " -10.0\n" + " Temperature\n" + " Indoor-temp-rate\n" + " \n" + " \n" + " \n" + " light\n" + " light\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Light\n" + " \n" + " \n" + " \n" + " light-rate\n" + " light_rate\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Light-rate\n" + " \n" + " \n" + " \n" + " moon-phase-moon-phase-img\n" + " moon_phase_moon_phase_img\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Moon-phase-moon-phase-img\n" + " \n" + " \n" + " \n" + " moon-phase\n" + " moon_phase\n" + " byte\n" + " \n" + " \n" + " 127\n" + " Unknown\n" + " Moon-phase\n" + " \n" + " \n" + " \n" + " pressure\n" + " pressure\n" + " float\n" + " \n" + " \n" + " Pressure\n" + " Pressure\n" + " \n" + " \n" + " \n" + " pressure-high\n" + " pressure_high\n" + " float\n" + " \n" + " \n" + " Pressure\n" + " Pressure-high\n" + " \n" + " \n" + " \n" + " pressure-low\n" + " pressure_low\n" + " float\n" + " \n" + " \n" + " Pressure\n" + " Pressure-low\n" + " \n" + " \n" + " \n" + " pressure-rate\n" + " pressure_rate\n" + " float\n" + " \n" + " \n" + " Pressure\n" + " Pressure-rate\n" + " \n" + " \n" + " \n" + " rain-month\n" + " rain_month\n" + " float\n" + " \n" + " \n" + " Meteorology\n" + " Rain-month\n" + " \n" + " \n" + " \n" + " rain-rate\n" + " rain_rate\n" + " float\n" + " \n" + " \n" + " Meteorology\n" + " Rain-rate\n" + " \n" + " \n" + " \n" + " rain-rate-max\n" + " rain_rate_max\n" + " float\n" + " \n" + " \n" + " Meteorology\n" + " Rain-rate-max\n" + " \n" + " \n" + " \n" + " rain-today\n" + " rain_today\n" + " float\n" + " \n" + " \n" + " Meteorology\n" + " Rain-today\n" + " \n" + " \n" + " \n" + " rain-year\n" + " rain_year\n" + " float\n" + " \n" + " \n" + " Meteorology\n" + " Rain-year\n" + " \n" + " \n" + " \n" + " temp\n" + " temp\n" + " float\n" + " \n" + " \n" + " 104.0\n" + " 14.0\n" + " Temperature\n" + " Temp\n" + " \n" + " \n" + " \n" + " temp-high\n" + " temp_high\n" + " float\n" + " \n" + " \n" + " 104.0\n" + " 14.0\n" + " Temperature\n" + " Temp-high\n" + " \n" + " \n" + " \n" + " temp-low\n" + " temp_low\n" + " float\n" + " \n" + " \n" + " 104.0\n" + " 14.0\n" + " Temperature\n" + " Temp-low\n" + " \n" + " \n" + " \n" + " temp-rate\n" + " temp_rate\n" + " float\n" + " \n" + " \n" + " 10.0\n" + " -10.0\n" + " Temperature\n" + " Temp-rate\n" + " \n" + " \n" + " \n" + " sunrise\n" + " sunrise\n" + " double\n" + " \n" + " \n" + " Time\n" + " Sunrise\n" + " time\n" + " \n" + " \n" + " \n" + " sunset\n" + " sunset\n" + " double\n" + " \n" + " \n" + " Time\n" + " Sunset\n" + " time\n" + " \n" + " \n" + " \n" + " wet-bulb\n" + " wet_bulb\n" + " float\n" + " \n" + " \n" + " 104.0\n" + " 14.0\n" + " Temperature\n" + " Wet Bulb Temperature\n" + " wet_bulb_temperature\n" + " \n" + " \n" + " \n" + " wind-speed\n" + " wind_speed\n" + " float\n" + " \n" + " \n" + " 15.0\n" + " 0.0\n" + " Wind\n" + " Wind Speed\n" + " wind_speed\n" + " \n" + " \n" + " \n" + " wind-speed-avg\n" + " wind_speed_avg\n" + " float\n" + " \n" + " \n" + " 15.0\n" + " 0.0\n" + " Wind\n" + " Wind Speed\n" + " wind_speed\n" + " \n" + " \n" + " \n" + " wind-direction\n" + " wind_direction\n" + " String\n" + " \n" + " \n" + " 360\n" + " 0\n" + " Wind\n" + " Wind From Direction\n" + " wind_from_direction\n" + " \n" + " \n" + " \n" + " wind-direction-avg\n" + " wind_direction_avg\n" + " String\n" + " \n" + " \n" + " 360\n" + " 0\n" + " Wind\n" + " Wind From Direction\n" + " wind_from_direction\n" + " \n" + " \n" + "\n"; } public static EDD gettestTableWav() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTableWav()); } private static String xmlFragment_testTableWav() throws URISyntaxException { return "\n" + " 1440\n" + " -1\n" + " elapsedTime,channel_1&time=min(time)&elapsedTime>=0&elapsedTime<=1&.draw=lines\n" + " &time=min(time)\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/audio/wav/").toURI()).toString() + " \n" + " .*\\.wav\n" + " true\n" + " .*\n" + " last\n" + " aco_acoustic\\.\n" + " \\.wav\n" + " .*\n" + " time\n" + " elapsedTime\n" + " time\n" + " false\n" + " \n" + " \n" + " Other\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " ???\n" + " ???\n" + " channel, channel_1, data, elapsed, elapsedTime, local, source, time\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " Audio data from a local source.\n" + " time\n" + " Audio data from a local source.\n" + " \n" + " \n" + " time\n" + " time\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Time\n" + " yyyyMMdd'_'HHmmss\n" + " \n" + " \n" + " \n" + " elapsedTime\n" + " elapsedTime\n" + " double\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " channel_1\n" + " channel_1\n" + " short\n" + " \n" + " \n" + " 32767 \n" + " 33000.0\n" + " -33000.0\n" + " Other\n" + " \n" + " \n" + "\n" + ""; } public static EDD gettestAVDVSameSource() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testAVDVSameSource()); } private static String xmlFragment_testAVDVSameSource() throws URISyntaxException { return "\n" + " 1\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/dominic2/").toURI()).toString() + "\n" + " false\n" + " .*\\.nc\n" + " \n" + " http://www.goes.noaa.gov/\n" + " \n" + " \n" + " OB_time\n" + " time\n" + " \n" + " Time\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " IB_time\n" + " double\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " OB_time\n" + " double\n" + " \n" + " Other\n" + " \n" + " \n" + "\n"; } public static EDD gettest2DVSameSource() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_test2DVSameSource()); } private static String xmlFragment_test2DVSameSource() throws URISyntaxException { return "\n" + " 1\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/dominic2/").toURI()).toString() + "\n" + " false\n" + " .*\\.nc\n" + " \n" + " http://www.goes.noaa.gov/\n" + " \n" + " \n" + " OB_time\n" + " time\n" + " \n" + " Time\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " IB_time\n" + " double\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " IB_time\n" + " IB_time2\n" + " double\n" + " \n" + " Other\n" + " \n" + " \n" + "\n"; } public static EDD gettestAVDVSameDestination() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testAVDVSameDestination()); } private static String xmlFragment_testAVDVSameDestination() throws URISyntaxException { return "\n" + " 1\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/dominic2/").toURI()).toString() + "\n" + " false\n" + " .*\\.nc\n" + " \n" + " http://www.goes.noaa.gov/\n" + " \n" + " \n" + " OB_time\n" + " \n" + " Time\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " ECEF_X\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " IB_time\n" + " OB_time\n" + " double\n" + " \n" + " Other\n" + " \n" + " \n" + "\n"; } public static EDD gettest2DVSameDestination() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_test2DVSameDestination()); } private static String xmlFragment_test2DVSameDestination() throws URISyntaxException { return "\n" + " 1\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/dominic2/").toURI()).toString() + "\n" + " false\n" + " .*\\.nc\n" + " \n" + " http://www.goes.noaa.gov/\n" + " \n" + " \n" + " OB_time\n" + " time\n" + " \n" + " Time\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " IB_time\n" + " double\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " ECEF_X\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " ECEF_Y\n" + " IB_time\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + "\n"; } public static EDD gettestTimePrecisionMillis() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTimePrecisionMillis()); } private static String xmlFragment_testTimePrecisionMillis() throws URISyntaxException { return "\n" + " 1\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/dominic2/").toURI()).toString() + "\n" + " false\n" + " .*\\.nc\n" + " \n" + " http://www.goes.noaa.gov/\n" + " \n" + " \n" + " OB_time\n" + " time\n" + " \n" + " Time\n" + " 1970-01-01T00:00:00.000Z\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " ECEF_X\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " IB_time\n" + " double\n" + " \n" + " Other\n" + " 1970-01-01T00:00:00.000Z\n" + " seconds since 1980-01-01T00:00:00Z\n" + " \n" + " \n" + "\n"; } public static EDD gettestSimpleTestNc() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testSimpleTestNc()); } private static String xmlFragment_testSimpleTestNc() throws URISyntaxException { return "\n" + " 90\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/").toURI()).toString() + "\n" + " false\n" + " simpleTest\\.nc\n" + " last\n" + " false\n" + " \n" + " \n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " ???\n" + " NOAA NMFS SWFSC ERD\n" + " data, local, longs, source, strings\n" + " [standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " My summary.\n" + " My Title\n" + " \n" + " \n" + " days\n" + " \n" + " Unknown\n" + " Days\n" + " 1970-01-01\n" + " \n" + " \n" + " \n" + " hours\n" + " byte\n" + " \n" + " Unknown\n" + " 1970-01-01T00Z\n" + " \n" + " \n" + " \n" + " minutes\n" + " byte\n" + " \n" + " Unknown\n" + " 1970-01-01T00:00Z\n" + " \n" + " \n" + " \n" + " seconds\n" + " byte\n" + " \n" + " Unknown\n" + " not valid\n" + " \n" + " \n" + " \n" + " millis\n" + " byte\n" + " \n" + " Unknown\n" + " 1970-01-01T00:00:00.000Z\n" + " \n" + " \n" + " \n" + " bytes\n" + " byte\n" + " \n" + " 127\n" + " Unknown\n" + " \n" + " \n" + " \n" + " shorts\n" + " short\n" + " \n" + " 32767\n" + " Unknown\n" + " \n" + " \n" + " \n" + " ints\n" + " int\n" + " \n" + " 2147483647\n" + " Unknown\n" + " \n" + " \n" + " \n" + " floats\n" + " float\n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " \n" + " doubles\n" + " double\n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " Strings\n" + " String\n" + " \n" + " Unknown\n" + " \n" + " \n" + "\n"; } public static EDD gettestRemoteThreddsFiles() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testRemoteThreddsFiles()); } private static String xmlFragment_testRemoteThreddsFiles() { return "\n" + " 1440\n" + " 0\n" + " https://data.nodc.noaa.gov/Aquarius/nodc_binned_V4.0/ \n" + " true\n" + " sss_binned_L3_MON_SCI_V4.0_\\d{4}\\.nc\n" + " last\n" + " false\n" + " \n" + " \n" + " Grid\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " https://www.nodc.noaa.gov/SatelliteData\n" + " https://data.nodc.noaa.gov/thredds/catalog/aquarius/nodc_binned_V4.0/catalog.html\n" + " JPL, California Institute of Technology\n" + " aquarius, calculate, calculated, california, center, data, earth,\n" + "Earth Science >Oceans > Surface Salinity,\n" + "gridded, institute, jet, jpl, laboratory, level, level-2, mean, month, monthly, national, ncei, noaa, nodc, number, observation, observations, ocean, oceanographic, oceans, propulsion, salinity, sci, science, sea, sea_surface_salinity, sea_surface_salinity_number_of_observations, sss, sss_obs, statistics, surface, swath, technology, time, used, v4.0, valid\n" + " GCMD Science Keywords\n" + " null\n" + " CF Standard Name Table v70\n" + " This dataset is created by National Oceanographic Data Center (NODC) Satellite Oceanography Group from Aquarius level-2 SCI V4.0 data,using 1.0x1.0 (lon/lat) degree box average\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " sss\n" + " sss\n" + " float\n" + " \n" + " \n" + " null\n" + " 37.0\n" + " 32.0\n" + " null\n" + " Salinity\n" + " null\n" + " \n" + " \n" + " \n" + " sss_obs\n" + " sss_obs\n" + " float\n" + " \n" + " \n" + " null\n" + " 100.0\n" + " 0.0\n" + " null\n" + " Statistics\n" + " null\n" + " \n" + " \n" + "\n"; } public static EDD gettestUInt16File() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testUInt16File()); } private static String xmlFragment_testUInt16File() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/unsigned/").toURI()).toString() + "\n" + " 9km.*\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Translated to CF-1.0 Conventions by Netcdf-Java CDM (NetcdfCFWriter)\n" + "Original Dataset = file:/usr/ftp/ncml/catalog_ncml/OceanTemperature/modis/aqua/11um/9km/aggregate__MODIS_AQUA_L3_SST_THERMAL_8DAY_9KM_DAYTIME.ncml; Translation Date = Fri Oct 30 09:44:07 GMT-08:00 2015\n" + " ???\n" + " null\n" + " ???\n" + " null\n" + " aqua, data, earth, Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature, image, imaging, L3, l3m_data, l3m_qual, mapped, moderate, modis, modisa, ocean, oceans, quality, resolution, science, sea, sea_surface_temperature, smi, spectroradiometer, standard, surface, temperature, time\n" + " GCMD Science Keywords\n" + " null\n" + " null\n" + " [standard]\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Moderate Resolution Imaging Spectroradiometer on Aqua (MODISA) Level-3 Standard Mapped Image\n" + " null\n" + " null\n" + " null\n" + " MODISA L3 SMI,\n" + " null\n" + " null\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " Time\n" + " days since 2002-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " Number_of_Lines\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " Latitude\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " Number_of_Columns\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " Longitude\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " l3m_data\n" + " sst\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " null\n" + " null\n" + " Temperature\n" + " Sea Surface Temperature\n" + " null\n" + " null\n" + " null\n" + " sea_surface_temperature\n" + " deg_C\n" + " \n" + " \n" + " \n" + " l3m_qual\n" + " sst_quality\n" + " ubyte\n" + " \n" + " \n" + " null \n" + " null \n" + " 150.0\n" + " 0.0\n" + " null\n" + " Quality\n" + " Sea Surface Temperature Quality\n" + " 255 \n" + " \n" + " \n" + "\n"; } public static EDD geterdSW1chlamday() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdSW1chlamday()); } private static String xmlFragment_erdSW1chlamday() throws URISyntaxException { return "\n" + " 11000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/SW1/mday/").toURI()).toString() + "\n" + " S\\d{14}\\.L3m_MO_CHL_chlor_a_9km\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " CF-1.6, COARDS, ACDD-1.3\n" + " group\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://dx.doi.org\n" + " https://oceancolor.gsfc.nasa.gov/data/seawifs/\n" + " NASA/GSFC OBPG\n" + " algorithm, biology, center, chemistry, chlor_a, chlorophyll, color, concentration, concentration_of_chlorophyll_in_sea_water, data, field, field-of-view, flight, goddard, group, gsfc, image, L3, level, level-3, mapped, nasa, noaa, obpg, ocean, ocean color, oceans,\n" + "Earth Science > Oceans > Ocean Chemistry > Chlorophyll,\n" + "Earth Science > Oceans > Ocean Optics > Ocean Color,\n" + "oci, optics, orbview, orbview-2, palette, processing, sea, sea-wide, seawater, seawifs, sensor, smi, space, standard, view, water, wide\n" + " GCMD Science Keywords\n" + " null\n" + " null\n" + " https://science.nasa.gov/earth-science/earth-science-data/data-information-policy/\n" + "\n" + "Please cite: NASA Goddard Space Flight Center, Ocean Ecology Laboratory, Ocean Biology Processing Group; (2014): SeaWiFS Ocean Color Data; NASA Goddard Space Flight Center, Ocean Ecology Laboratory, Ocean Biology Processing Group. https://dx.doi.org/10.5067/ORBVIEW-2/SEAWIFS_OC.2014.0\n" + "\n" + "[standard]\n" + " null\n" + " null\n" + " null\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " SeaWiFS information: https://oceancolor.gsfc.nasa.gov/SeaWiFS/ . NASA Ocean\n" + "Color information: https://oceancolor.gsfc.nasa.gov/\n" + "Processing reference: O'Reilly, J.E., Maritorena, S., Mitchell, B.G., Siegel, D.A., Carder, K.L., Garver, S.A., Kahru, M. and McClain, C. (1998). Ocean color chlorophyll algorithms for SeaWiFS. J. Geophys. Res., 103: 24, 937-24, 953.\n" + "Processing reference: O'Reilly, J. E., and 21 others. 2000. Ocean color chlorophyll a algorithms for SeaWiFS, OC2 and OC4: Version 4. SeaWiFS Postlaunch Calibration and Validation Analyses, part 3. NASA SeaWiFS technical report series. pp. 8 226 22.\n" + "Processing reference: Fu, G., Baith, K. S., and McClain, C. R. (1998). SeaDAS: The SeaWiFS Data Analysis System. Proceedings of \"The 4th Pacific Ocean Remote Sensing Conference\", Qingdao, China, July 28-31, 1998, 73-79.\n" + "Validation reference: Hooker, S.B., and C.R. McClain (2000). The Calibration and Validation of SeaWiFS Data. Prog. Oceanogr., 45, 427-465.\n" + "R2014.0 processing reference: Hu, C., Lee Z., and Franz, B.A. (2012). Chlorophyll-a algorithms for oligotrophic oceans: A novel approach based on three-band reflectance difference, J. Geophys. Res., 117, C01011, doi:10.1029/2011JC007395.\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " THIS VERSION IS DEPRECATED. SEE THE NEW R2018.0 VERSION IN erdSW2018chlamday. (Feb 2018)\n" + "\n" + "NASA GSFC Ocean Color Web distributes science-quality chlorophyll-a\n" + "concentration data from the Sea-viewing Wide Field-of-view Sensor (SeaWiFS)\n" + "on the Orbview-2 satellite. This version is the 2014.0 Reprocessing (R2014.0).\n" + "\n" + "The SeaWiFS instrument was launched by Orbital Sciences Corporation on the\n" + "OrbView-2 (a.k.a. SeaStar) satellite in August 1997, and collected data from\n" + "September 1997 until the end of mission in December 2010. SeaWiFS had 8\n" + "spectral bands from 412 to 865 nm. It collected global data at 4 km\n" + "resolution, and local data (limited onboard storage and direct broadcast)\n" + "at 1 km. The mission and sensor were optimized for ocean color measurements,\n" + "with a local noon (descending) equator crossing time orbit, fore-and-aft\n" + "tilt capability, full dynamic range, and low polarization sensitivity.\n" + " null\n" + " null\n" + " Chlorophyll-a, Orbview-2 SeaWiFS, R2014.0, 0.1�, Global, 1997-2010 (Monthly Composite) DEPRECATED\n" + " null\n" + " \n" + " \n" + " ***fileName,timeFormat=yyyyDDD,S(\\d{7})\\d{7}\\.L3m.*,1\n" + " time\n" + " \n" + " Centered Time\n" + " seconds since 1970-01-16T00:00:00Z\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " chlor_a\n" + " chlorophyll\n" + " float\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " 30.0\n" + " 0.03\n" + " Log\n" + " null\n" + " null\n" + " null\n" + " Ocean Color\n" + " null\n" + " concentration_of_chlorophyll_in_sea_water\n" + " null\n" + " Hu, C., Lee Z., and Franz, B.A. (2012). Chlorophyll-a algorithms for oligotrophic oceans: A novel approach based on three-band reflectance difference, J. Geophys. Res., 117, C01011, doi:10.1029/2011JC007395.\n" + " \n" + " \n" + "\n"; } public static EDD gettestSpecialAxis0FileNameInt() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testSpecialAxis0FileNameInt()); } private static String xmlFragment_testSpecialAxis0FileNameInt() throws URISyntaxException { return "\n" + " 1440\n" + " false\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/SW1/mday/").toURI()).toString() + "\n" + " S\\d{14}\\.L3m_MO_CHL_chlor_a_9km\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " CF-1.6, COARDS, ACDD-1.3\n" + " group\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " NASA/GSFC OBPG\n" + " algorithm, biology\n" + " GCMD Science Keywords\n" + " null\n" + " null\n" + " https://science.nasa.gov/earth-science/earth-science-data/data-information-policy/\n" + "[standard]\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " summary of testSpecialAxis0FileNameInt\n" + " null\n" + " null\n" + " title of testSpecialAxis0FileNameInt\n" + " null\n" + " \n" + " \n" + " ***fileName,int,S\\d{4}(\\d{3})\\d{7}\\.L3m.*,1\n" + " myInt\n" + " \n" + " Other\n" + " m\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " chlor_a\n" + " chlorophyll\n" + " float\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " 30.0\n" + " 0.03\n" + " Log\n" + " null\n" + " null\n" + " null\n" + " Ocean Color\n" + " null\n" + " concentration_of_chlorophyll_in_sea_water\n" + " null\n" + " Hu, C., Lee Z., and Franz, B.A. (2012). Chlorophyll-a algorithms for oligotrophic oceans: A novel approach based on three-band reflectance difference, J. Geophys. Res., 117, C01011, doi:10.1029/2011JC007395.\n" + " \n" + " \n" + "\n"; } public static EDD gettestSpecialAxis0PathNameInt() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testSpecialAxis0PathNameInt()); } private static String xmlFragment_testSpecialAxis0PathNameInt() throws URISyntaxException { return "\n" + " 1440\n" + " false\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/SW1/mday/").toURI()).toString() + "/\n" + " S\\d{14}\\.L3m_MO_CHL_chlor_a_9km\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " CF-1.6, COARDS, ACDD-1.3\n" + " group\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " NASA/GSFC OBPG\n" + " algorithm, biology\n" + " GCMD Science Keywords\n" + " null\n" + " null\n" + " https://science.nasa.gov/earth-science/earth-science-data/data-information-policy/\n" + "[standard]\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " summary of testSpecialAxis0FileNameInt\n" + " null\n" + " null\n" + " title of testSpecialAxis0FileNameInt\n" + " null\n" + " \n" + " \n" + " ***pathName,int," + Path.of(EDDTestDataset.class.getResource("/largeSatellite/SW1/mday/").toURI()) .toString() .replace("\\", "/") + "/S\\d{4}(\\d{3})\\d{7}\\.L3m.*,1\n" + " myInt\n" + " \n" + " Other\n" + " m\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " chlor_a\n" + " chlorophyll\n" + " float\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " 30.0\n" + " 0.03\n" + " Log\n" + " null\n" + " null\n" + " null\n" + " Ocean Color\n" + " null\n" + " concentration_of_chlorophyll_in_sea_water\n" + " null\n" + " Hu, C., Lee Z., and Franz, B.A. (2012). Chlorophyll-a algorithms for oligotrophic oceans: A novel approach based on three-band reflectance difference, J. Geophys. Res., 117, C01011, doi:10.1029/2011JC007395.\n" + " \n" + " \n" + "\n"; } public static EDD gettestSpecialAxis0GlobalDouble() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testSpecialAxis0GlobalDouble()); } private static String xmlFragment_testSpecialAxis0GlobalDouble() throws URISyntaxException { return "\n" + " 1440\n" + " false\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/SW1/mday/").toURI()).toString() + "\n" + " S\\d{14}\\.L3m_MO_CHL_chlor_a_9km\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " CF-1.6, COARDS, ACDD-1.3\n" + " group\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " NASA/GSFC OBPG\n" + " algorithm, biology\n" + " GCMD Science Keywords\n" + " null\n" + " null\n" + " https://science.nasa.gov/earth-science/earth-science-data/data-information-policy/\n" + "[standard]\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " group\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " summary of testSpecialAxis0GlobalDouble\n" + " null\n" + " null\n" + " title of testSpecialAxis0GlobalDouble\n" + " null\n" + " \n" + " \n" + " ***global:product_name,double,S(\\d{7})\\d{7}\\.L3m_MO_CHL_chlor_a_9km\\.nc,1\n" + " myDouble\n" + " \n" + " Other\n" + " kg\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " chlor_a\n" + " chlorophyll\n" + " float\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " 30.0\n" + " 0.03\n" + " Log\n" + " null\n" + " null\n" + " null\n" + " Ocean Color\n" + " null\n" + " concentration_of_chlorophyll_in_sea_water\n" + " null\n" + " Hu, C., Lee Z., and Franz, B.A. (2012). Chlorophyll-a algorithms for oligotrophic oceans: A novel approach based on three-band reflectance difference, J. Geophys. Res., 117, C01011, doi:10.1029/2011JC007395.\n" + " \n" + " \n" + "\n"; } public static EDD geterdMH1chla1day() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdMH1chla1day()); } private static String xmlFragment_erdMH1chla1day() throws URISyntaxException { return "\n" + "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/MH1/chla/1day/").toURI()) .toString() + "\n" + " true\n" + " .*_chlor_a_4km\\.nc\n" + " last\n" + " 5\n" + " false\n" + " \n" + " \n" + " CF-1.6, COARDS, ACDD-1.3\n" + " value for att1\n" + " value for att2\n" + " group\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Files downloaded daily from https://oceandata.sci.gsfc.nasa.gov/MODIS-Aqua/L3SMI to NOAA SWFSC ERD (erd.data@noaa.gov)\n" + "ERDDAP adds the time dimension.\n" + "Direct read of HDF4 file through CDM library\n" + " null\n" + " https://dx.doi.org\n" + " https://coastwatch.pfeg.noaa.gov/infog/MH1_chla_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " algorithm, biology, center, chemistry, chlor_a, chlorophyll, color, concentration, data, ecology, flight, goddard, group, gsfc, image, imaging, L3, laboratory, level, level-3, mapped, mass, mass_concentration_chlorophyll_concentration_in_sea_water, moderate, modis, nasa, ocean, ocean color, oceans,\n" + "Earth Science > Oceans > Ocean Chemistry > Chlorophyll; Oceans > Ocean Optics > Ocean Color,\n" + "oci, optics, processing, resolution, sea, seawater, smi, space, spectroradiometer, standard, time, water\n" + " GCMD Science Keywords\n" + " null\n" + " null\n" + " https://science.nasa.gov/earth-science/earth-science-data/data-information-policy/\n" + "[standard]\n" + " null\n" + " null\n" + " null\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " This dataset has Level 3, Standard Mapped Image, 4km, chlorophyll-a concentration data from NASA's Aqua Spacecraft. Measurements are gathered by the Moderate Resolution Imaging Spectroradiometer (MODIS) carried aboard the spacecraft. This is Science Quality data. This is the August 2015 version of this dataset.\n" + " now-3days\n" + " Chlorophyll-a, Aqua MODIS, NPP, L3SMI, Global, 4km, Science Quality, 2003-present (1 Day Composite)\n" + " null\n" + " \n" + " \n" + " ***fileName,timeFormat=yyyyDDD,A(\\d{7})\\.L3m_DAY_CHL_chlor_a_4km\\.nc,1\n" + " time\n" + " \n" + " \n" + " Time\n" + " Centered Time\n" + " time\n" + " seconds since 1970-01-01T12:00:00Z\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " chlor_a\n" + " chlorophyll\n" + " float\n" + " \n" + " \n" + " null\n" + " null\n" + " 30.0\n" + " 0.03\n" + " Log\n" + " null\n" + " null\n" + " null\n" + " Ocean Color\n" + " Mean Chlorophyll a Concentration\n" + " concentration_of_chlorophyll_in_sea_water\n" + " null\n" + " Hu, C., Lee Z., and Franz, B.A. (2012). Chlorophyll-a algorithms for oligotrophic oceans: A novel approach based on three-band reflectance difference, J. Geophys. Res., 117, C01011, doi:10.1029/2011JC007395.\n" + " \n" + " \n" + ""; } public static EDD geterdMH1chla8day() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdMH1chla8day()); } private static String xmlFragment_erdMH1chla8day() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/MH1/chla/8day/").toURI()) .toString() + "\n" + " true\n" + " .*_chlor_a_4km\\.nc\n" + " last\n" + " 5\n" + " false\n" + " \n" + " \n" + " CF-1.6, COARDS, ACDD-1.3\n" + " group\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Files downloaded daily from https://oceandata.sci.gsfc.nasa.gov/MODIS-Aqua/L3SMI to NOAA SWFSC ERD (erd.data@noaa.gov)\n" + "ERDDAP adds the time dimension.\n" + "Direct read of HDF4 file through CDM library\n" + " null\n" + " https://dx.doi.org\n" + " https://coastwatch.pfeg.noaa.gov/infog/MH1_chla_las.html\n" + " NASA/GSFC OBPG\n" + " algorithm, biology, center, chemistry, chlor_a, chlorophyll, color, concentration, concentration_of_chlorophyll_in_sea_water, data, flight, goddard, group, gsfc, image, imaging, L3, level, level-3, mapped, moderate, modis, nasa, obpg, ocean, ocean color, oceans,\n" + "Earth Science > Oceans > Ocean Chemistry > Chlorophyll,\n" + "Earth Science > Oceans > Ocean Chemistry > Chlorophyll; Oceans > Ocean Optics > Ocean Color,\n" + "oci, optics, processing, resolution, sea, seawater, smi, space, spectroradiometer, standard, time, water\n" + " GCMD Science Keywords\n" + " null\n" + " null\n" + " https://science.nasa.gov/earth-science/earth-science-data/data-information-policy/\n" + "[standard]\n" + " null\n" + " null\n" + " null\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " This dataset has Level 3, Standard Mapped Image, 4km, chlorophyll-a concentration data from NASA's Aqua Spacecraft. Measurements are gathered by the Moderate Resolution Imaging Spectroradiometer (MODIS) carried aboard the spacecraft. This is Science Quality data. This is the August 2015 version of this dataset.\n" + " now-30days\n" + " Chlorophyll-a, Aqua MODIS, NPP, L3SMI, Global, 4km, Science Quality, 2003-present (8 Day Composite)\n" + " null\n" + " \n" + " \n" + " ***fileName,timeFormat=yyyyDDD,A(\\d{7})\\d{7}\\.L3m_8D_CHL_chlor_a_4km\\.nc,1\n" + " time\n" + " \n" + " \n" + " Time\n" + " Centered Time\n" + " time\n" + " seconds since 1970-01-05T00:00:00Z\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " chlor_a\n" + " chlorophyll\n" + " float\n" + " \n" + " \n" + " null\n" + " null\n" + " 30.0\n" + " 0.03\n" + " Log\n" + " null\n" + " null\n" + " null\n" + " Ocean Color\n" + " Mean Chlorophyll a Concentration\n" + " concentration_of_chlorophyll_in_sea_water\n" + " null\n" + " Hu, C., Lee Z., and Franz, B.A. (2012). Chlorophyll-a algorithms for oligotrophic oceans: A novel approach based on three-band reflectance difference, J. Geophys. Res., 117, C01011, doi:10.1029/2011JC007395.\n" + " \n" + " \n" + "\n"; } public static EDD geterdMH1chlamday() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdMH1chlamday()); } private static String xmlFragment_erdMH1chlamday() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/MH1/chla/mday/").toURI()) .toString() + "\n" + " true\n" + " .*_chlor_a_4km\\.nc\n" + " last\n" + " 5\n" + " false\n" + " \n" + " \n" + " CF-1.6, COARDS, ACDD-1.3\n" + " group\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Files downloaded daily from https://oceandata.sci.gsfc.nasa.gov/MODIS-Aqua/L3SMI to NOAA SWFSC ERD (erd.data@noaa.gov)\n" + "ERDDAP adds the time dimension.\n" + "Direct read of HDF4 file through CDM library\n" + " null\n" + " https://dx.doi.org\n" + " https://coastwatch.pfeg.noaa.gov/infog/MH1_chla_las.html\n" + " NASA/GSFC OBPG\n" + " algorithm, biology, center, chemistry, chlor_a, chlorophyll, color, concentration, concentration_of_chlorophyll_in_sea_water, data, flight, goddard, group, gsfc, image, imaging, L3, level, level-3, mapped, moderate, modis, nasa, obpg, ocean, ocean color, oceans,\n" + "Earth Science > Oceans > Ocean Chemistry > Chlorophyll,\n" + "Earth Science > Oceans > Ocean Chemistry > Chlorophyll; Oceans > Ocean Optics > Ocean Color,\n" + "oci, optics, processing, resolution, sea, seawater, smi, space, spectroradiometer, standard, time, water\n" + " GCMD Science Keywords\n" + " null\n" + " null\n" + " https://science.nasa.gov/earth-science/earth-science-data/data-information-policy/\n" + "[standard]\n" + " null\n" + " null\n" + " null\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " This dataset has Level 3, Standard Mapped Image, 4km, chlorophyll-a concentration data from NASA's Aqua Spacecraft. Measurements are gathered by the Moderate Resolution Imaging Spectroradiometer (MODIS) carried aboard the spacecraft. This is Science Quality data. This is the August 2015 version of this dataset.\n" + " now-70days\n" + " Chlorophyll-a, Aqua MODIS, NPP, L3SMI, Global, 4km, Science Quality, 2003-present (Monthly Composite)\n" + " null\n" + " \n" + " \n" + " ***fileName,timeFormat=yyyyDDD,A(\\d{7})\\d{7}\\.L3m_MO_CHL_chlor_a_4km\\.nc,1\n" + " time\n" + " \n" + " \n" + " Time\n" + " Centered Time\n" + " time\n" + " seconds since 1970-01-16T00:00:00Z\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " chlor_a\n" + " chlorophyll\n" + " float\n" + " \n" + " \n" + " null\n" + " null\n" + " 30.0\n" + " 0.03\n" + " Log\n" + " null\n" + " null\n" + " null\n" + " Ocean Color\n" + " Mean Chlorophyll a Concentration\n" + " concentration_of_chlorophyll_in_sea_water\n" + " null\n" + " Hu, C., Lee Z., and Franz, B.A. (2012). Chlorophyll-a algorithms for oligotrophic oceans: A novel approach based on three-band reflectance difference, J. Geophys. Res., 117, C01011, doi:10.1029/2011JC007395.\n" + " \n" + " \n" + "\n"; } private static String xmlFragment_PH53_axis_lat() { return " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " Latitude\n" + " \n" + " \n"; } private static String xmlFragment_PH53_axis_lon() { return " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " Longitude\n" + " \n" + " \n" + " \n"; } private static String xmlFragment_PH53_data_quality() { return " \n" + " quality_level\n" + " quality_level\n" + " byte\n" + " \n" + " \n" + " null\n" + " null\n" + " 6.0\n" + " 0.0\n" + " false\n" + " 6\n" + " Quality\n" + " null\n" + " \n" + " \n"; } private static String xmlFragment_PH53_data_pathfinder_quality() { return " \n" + " pathfinder_quality_level\n" + " pathfinder_quality_level\n" + " byte\n" + " \n" + " \n" + " null\n" + " null\n" + " 8.0\n" + " 0.0\n" + " false\n" + " 8\n" + " Quality\n" + " null\n" + " \n" + " \n"; } private static String xmlFragment_PH53_dataVariable_seaSurfaceTemp() { return " \n" + " sea_surface_temperature\n" + " sea_surface_temperature\n" + " double\n" + " \n" + " \n" + " null\n" + " -273.15 \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " degree_C\n" + " 318.15\n" + " 271.35\n" + " \n" + " \n"; } private static String xmlFragment_PH53_dataVariable_dtAnalysis() { return " \n" + " dt_analysis\n" + " dt_analysis\n" + " double\n" + " \n" + " \n" + " null\n" + " 5.0\n" + " 0.0\n" + " Statistics\n" + " null\n" + " AVHRR_OI, with inland values populated from AVHRR_Pathfinder daily climatological SST. For more information on this reference field see https://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.nodc:0071180.\n" + " degree_C\n" + " \n" + " \n"; } public static EDD getnceiPH53sstd1day() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nceiPH53sstd1day(false)); } private static String xmlFragment_nceiPH53sstd1day(boolean useXinclude) throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/PH53/1day/").toURI()).toString() + "\n" + " .*_day-v.*\\.nc\n" + " true\n" // " " + // Path.of(EDDTestDataset.class.getResource("/largeSatellite/PH53/1day/").toURI()).toString().replace('\\', // '/') + "(|[0-9]{4}/(|data/))\n" + " last\n" + " 6\n" + " false\n" + " \n" + " \n" + " CF-1.6, ACDD-1.3, COARDS\n" + " https://pathfinder.nodc.noaa.gov\n" + " null\n" + " null\n" + " https://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.nodc:AVHRR_Pathfinder-NCEI-L3C-v5.3\n" + " 10m, advanced, aerosol, aerosol_dynamic_indicator, analysis, area, atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "atmospheric, avhrr, bias, centers, climate, collated, cryosphere,\n" + "Earth Science > Cryosphere > Sea Ice > Ice Extent,\n" + "data, deviation, difference, distribution, dt_analysis, dynamic, environmental, error, estimate, extent, flag, flags, fraction, ghrsst, global, high, high-resolution, ice, ice distribution, indicator, information, l2p, l2p_flags, l3-collated, l3c, level, national, ncei, noaa, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature,\n" + "Earth Science > Oceans > Sea Ice > Ice Extent,\n" + "optical, optical properties, pathfinder, pathfinder_quality_level, pixel, properties, quality, quality_level, radiometer, record, reference, resolution, sea, sea_ice_area_fraction, sea_ice_fraction, sea_surface_skin_temperature, sea_surface_temperature, sensor, single, skin, speed, sses, sses_bias, sses_standard_deviation, sst, sst_dtime, standard, statistics, surface, temperature, time, version, very, vhrr, wind, wind_speed, winds\n" + " GCMD Science Keywords\n" + " These data are available for use without restriction.\n" + "[standard]\n" + " null\n" + " null\n" + " null\n" + " https://pathfinder.nodc.noaa.gov and Casey, K.S., T.B. Brandon, P. Cornillon, and R. Evans: The Past, Present and Future of the AVHRR Pathfinder SST Program, in Oceanography from Space: Revisited, eds. V. Barale, J.F.R. Gower, and L. Alberotanza, Springer, 2010. DOI: 10.1007/978-90-481-8681-5_16.\n" + " https://www.ncei.noaa.gov/thredds-ocean/catalog/pathfinder/Version5.3/L3C/catalog.html\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " Advanced Very High Resolution Radiometer (AVHRR) Pathfinder Version 5.3 L3-Collated (L3C) sea surface temperature. This netCDF-4 file contains sea surface temperature (SST) data produced as part of the AVHRR Pathfinder SST Project. These data were created using Version 5.3 of the Pathfinder algorithm and the file is nearly but not completely compliant with the Global High-Resolution Sea Surface Temperature (GHRSST) Data Specifications V2.0 (GDS2). The sses_bias and sses_standard_deviation variables are empty. Full compliance with GDS2 specifications will be achieved in the future Pathfinder Version 6. These data were created by the NOAA National Centers for Environmental Information (NCEI).\n" + " AVHRR Pathfinder Version 5.3 L3-Collated (L3C) SST, Global, 0.0417°, 1981-present, Daytime (1 Day Composite)\n" + " null\n" + " null\n" + " \n" + " \n" + " ***replaceFromFileName,timeFormat=yyyyDDD,.*_Pathfinder-PFV5\\.3_NOAA\\d\\d_G_(\\d{7})_day.*\\.nc,1\n" + " time\n" + " \n" + " \n" + " null\n" + " This is the centered, reference time.\n" + " Time\n" + " Centered Time\n" + " seconds since 1970-01-01T12:00:00Z\n" + " \n" + " \n" + (useXinclude ? " \n" : xmlFragment_PH53_axis_lat()) + (useXinclude ? " \n" : xmlFragment_PH53_axis_lon()) + (useXinclude ? " \n" : xmlFragment_PH53_dataVariable_seaSurfaceTemp()) + (useXinclude ? " \n" : xmlFragment_PH53_dataVariable_dtAnalysis()) + " \n" + " wind_speed\n" + " wind_speed\n" + " byte\n" + " \n" + " \n" + " null\n" + " null\n" + " 15.0\n" + " 0.0\n" + " Wind\n" + " null\n" + " \n" + " \n" + " \n" + " sea_ice_fraction\n" + " sea_ice_fraction\n" + " double\n" + " \n" + " \n" + " null\n" + " 1.0\n" + " 0.0\n" + " Sea ice concentration data are taken from the EUMETSAT Ocean and Sea Ice Satellite Application Facility (OSISAF) Global Daily Sea Ice Concentration Reprocessing Data Set (https://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.nodc:0068294) when these data are available. The data are reprojected and interpolated from their original polar stereographic projection at 10km spatial resolution to the 4km Pathfinder Version 5.3 grid. When the OSISAF data are not available for both hemispheres on a given day, the sea ice concentration data are taken from the sea_ice_fraction variable found in the L4 GHRSST DailyOI SST product from NOAA/NCDC, and are interpolated from the 25km DailyOI grid to the 4km Pathfinder Version 5.3 grid.\n" + " Ice Distribution\n" + " null\n" + " Reynolds, et al.(2006) Daily High-resolution Blended Analyses. Available at http://doi.org/10.7289/V5SQ8XB5\n" + " \n" + " \n" + " \n" + (useXinclude ? " \n" : xmlFragment_PH53_data_quality()) + (useXinclude ? " \n" : xmlFragment_PH53_data_pathfinder_quality()) + " \n" + " l2p_flags\n" + " l2p_flags\n" + " short\n" + " \n" + " \n" + " null \n" + " null\n" + " null\n" + " 300.0\n" + " 0.0\n" + " Quality\n" + " null\n" + " \n" + " \n" + "\n"; } public static EDD getnceiPH53sstn1day() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nceiPH53sstn1day(false)); } private static String xmlFragment_nceiPH53sstn1day(boolean useXinclude) throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/PH53/1day/").toURI()).toString() + "\n" + " .*_night-v.*\\.nc\n" + " true\n" // " /u00/satellite/PH53/1day/(|[0-9]{4}/(|data/))\n" + " // last\n" + " 6\n" + " false\n" + " \n" + " \n" + " CF-1.6, ACDD-1.3, COARDS\n" + " https://pathfinder.nodc.noaa.gov\n" + " null\n" + " null\n" + " https://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.nodc:AVHRR_Pathfinder-NCEI-L3C-v5.3\n" + " 10m, advanced, aerosol, aerosol_dynamic_indicator, analysis, area, atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "atmospheric, avhrr, bias, centers, climate, collated, cryosphere,\n" + "Earth Science > Cryosphere > Sea Ice > Ice Extent,\n" + "data, deviation, difference, distribution, dt_analysis, dynamic, environmental, error, estimate, extent, flag, flags, fraction, ghrsst, global, high, high-resolution, ice, ice distribution, indicator, information, l2p, l2p_flags, l3-collated, l3c, level, national, ncei, noaa, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature,\n" + "Earth Science > Oceans > Sea Ice > Ice Extent,\n" + "optical, optical properties, pathfinder, pathfinder_quality_level, pixel, properties, quality, quality_level, radiometer, record, reference, resolution, sea, sea_ice_area_fraction, sea_ice_fraction, sea_surface_skin_temperature, sea_surface_temperature, sensor, single, skin, speed, sses, sses_bias, sses_standard_deviation, sst, sst_dtime, standard, statistics, surface, temperature, time, version, very, vhrr, wind, wind_speed, winds\n" + " GCMD Science Keywords\n" + " These data are available for use without restriction.\n" + "[standard]\n" + " null\n" + " null\n" + " https://pathfinder.nodc.noaa.gov and Casey, K.S., T.B. Brandon, P. Cornillon, and R. Evans: The Past, Present and Future of the AVHRR Pathfinder SST Program, in Oceanography from Space: Revisited, eds. V. Barale, J.F.R. Gower, and L. Alberotanza, Springer, 2010. DOI: 10.1007/978-90-481-8681-5_16.\n" + " https://www.ncei.noaa.gov/thredds-ocean/catalog/pathfinder/Version5.3/L3C/catalog.html\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " Advanced Very High Resolution Radiometer (AVHRR) Pathfinder Version 5.3 L3-Collated (L3C) sea surface temperature. This netCDF-4 file contains sea surface temperature (SST) data produced as part of the AVHRR Pathfinder SST Project. These data were created using Version 5.3 of the Pathfinder algorithm and the file is nearly but not completely compliant with the Global High-Resolution Sea Surface Temperature (GHRSST) Data Specifications V2.0 (GDS2). The sses_bias and sses_standard_deviation variables are empty. Full compliance with GDS2 specifications will be achieved in the future Pathfinder Version 6. These data were created by the NOAA National Centers for Environmental Information (NCEI).\n" + " AVHRR Pathfinder Version 5.3 L3-Collated (L3C) SST, Global, 0.0417°, 1981-present, Nighttime (1 Day Composite)\n" + " null\n" + " null\n" + " \n" + " \n" + " ***replaceFromFileName,timeFormat=yyyyDDD,.*_Pathfinder-PFV5\\.3_NOAA\\d\\d_G_(\\d{7})_night.*\\.nc,1\n" + " time\n" + " \n" + " \n" + " null\n" + " This is the centered, reference time.\n" + " Time\n" + " Centered Time\n" + " seconds since 1970-01-01T12:00:00Z\n" + " \n" + " \n" + (useXinclude ? " \n" : xmlFragment_PH53_axis_lat()) + (useXinclude ? " \n" : xmlFragment_PH53_axis_lon()) + (useXinclude ? " \n" : xmlFragment_PH53_dataVariable_seaSurfaceTemp()) + (useXinclude ? " \n" : xmlFragment_PH53_dataVariable_dtAnalysis()) + " \n" + " wind_speed\n" + " wind_speed\n" + " byte\n" + " \n" + " \n" + " null\n" + " null\n" + " 15.0\n" + " 0.0\n" + " Wind\n" + " null\n" + " \n" + " \n" + " \n" + " sea_ice_fraction\n" + " sea_ice_fraction\n" + " double\n" + " \n" + " \n" + " null\n" + " 1.0\n" + " 0.0\n" + " Sea ice concentration data are taken from the EUMETSAT Ocean and Sea Ice Satellite Application Facility (OSISAF) Global Daily Sea Ice Concentration Reprocessing Data Set (https://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.nodc:0068294) when these data are available. The data are reprojected and interpolated from their original polar stereographic projection at 10km spatial resolution to the 4km Pathfinder Version 5.3 grid. When the OSISAF data are not available for both hemispheres on a given day, the sea ice concentration data are taken from the sea_ice_fraction variable found in the L4 GHRSST DailyOI SST product from NOAA/NCDC, and are interpolated from the 25km DailyOI grid to the 4km Pathfinder Version 5.3 grid.\n" + " Ice Distribution\n" + " null\n" + " Reynolds, et al.(2006) Daily High-resolution Blended Analyses. Available at http://doi.org/10.7289/V5SQ8XB5\n" + " \n" + " \n" + " \n" + (useXinclude ? " \n" : xmlFragment_PH53_data_quality()) + (useXinclude ? " \n" : xmlFragment_PH53_data_pathfinder_quality()) + " \n" + " l2p_flags\n" + " l2p_flags\n" + " short\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " 300.0\n" + " 0.0\n" + " Quality\n" + " null\n" + " \n" + " \n" + "\n"; } public static EDD gettestGridFromErddap() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGridFromErddap()); } private static String xmlFragment_testGridFromErddap() throws URISyntaxException { return "\n" + " http://localhost:8080/erddap/griddap/nceiPH53sstn1day\n" + "\n"; } public static EDD gettestUnsignedGrid() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testUnsignedGrid()); } private static String xmlFragment_testUnsignedGrid() throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/nc/").toURI()).toString() + "\n" + " V20172742017304\\.L3m_MO_SNPP_CHL_chlor_a_4km\\.nc\n" + " false\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " group\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " l3mapgen par=V20172742017304.L3m_MO_SNPP_CHL_chlor_a_4km.nc.param\n" + " https://dx.doi.org\n" + " https://dx.doi.org\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " NASA/GSFC OBPG\n" + " biology, center, chemistry, chlorophyll, color, data, Earth Science > Oceans > Ocean Chemistry > Chlorophyll, Earth Science > Oceans > Ocean Optics > Ocean Color, eightbitcolor, flight, goddard, group, gsfc, image, imager, imager/radiometer, imaging, infrared, L3, level, level-3, mapped, nasa, national, npp, obpg, ocean, oceans, optics, orbiting, palette, partnership, polar, polar-orbiting, processing, radiometer, rgb, smi, space, standard, suite, suite/suomi-npp, suomi, viirs, viirs-n, viirsn, visible\n" + " GCMD Science Keywords\n" + " null\n" + " null\n" + " https://science.nasa.gov/earth-science/earth-science-data/data-information-policy/\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " group\n" + " https://oceandata.sci.gsfc.nasa.gov\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Visible and Infrared Imager/Radiometer Suite/Suomi-NPP (VIIRSN) Level-3 Standard Mapped Image\n" + " null\n" + " null\n" + " VIIRSN L3 SMI,\n" + " null\n" + " \n" + " \n" + " rgb\n" + " rgb\n" + " \n" + " \n" + " Other\n" + " RGB\n" + " \n" + " \n" + " \n" + " eightbitcolor\n" + " eightbitcolor\n" + " \n" + " \n" + " Other\n" + " Eightbitcolor\n" + " \n" + " \n" + " \n" + " palette\n" + " palette\n" + " ubyte\n" + " \n" + " \n" + " Other\n" + " Palette\n" + " \n" + " \n" + " \n" + "\n"; } public static EDD gettestGridNThreads() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGridNThreads()); } private static String xmlFragment_testGridNThreads() throws URISyntaxException { return "\n" + " 1440\n" + " false\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/testGridNThreads/").toURI()) .toString() + "\n" + " true\n" + " .*_taux\\.nc(|.gz)\n" + " last\n" + " 15\n" + " false\n" + " \n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/QA_taux_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " advanced, altitude, ascat, atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Wind Stress,\n" + "atmospheric, coast, coastwatch, data, degrees, downward, eastward, eumetsat, european, exploitation, global, meteorological, metop, near, near real time, noaa, node, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Winds > Wind Stress,\n" + "organisation, QAtaux, real, satellites, scatterometer, stress, surface, surface_downward_eastward_stress, time, wcn, west, wind, winds, zonal\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " NOAA/NESDIS https://manati.star.nesdis.noaa.gov/products/ASCAT.php .\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " NOAA CoastWatch distributes science quality wind stress data in zonal, meridional, modulus, and wind stress curl sets. This data begins with wind velocity measurements from the ASCAT instrument onboard EUMETSAT's Metop-A satellite. ASCAT is a microwave scatterometer designed to measure surface winds over the global ocean. NOAA CoastWatch processes wind velocity to wind stress and wind stress curl. (This is a 1 day composite.)\n" + " Wind Stress, Metop-A ASCAT, 0.25�, Global, Near Real Time, 2009-present (1 Day)\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " QAtaux\n" + " taux\n" + " float\n" + " \n" + " \n" + " null\n" + " -0.5\n" + " 0.5\n" + " Wind\n" + " Zonal Wind Stress\n" + " null\n" + " null\n" + " surface_downward_eastward_stress\n" + " \n" + " \n" + "\n"; } public static EDD gettestStructure() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testStructure()); } private static String xmlFragment_testStructure() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/nc/").toURI()).toString() + "\n" + " SDScompound\\.h5\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " ???\n" + " ???\n" + " array, ArrayOfStructures|a_name, ArrayOfStructures|b_name, ArrayOfStructures|c_name, axis0, data, local, name, source, structures\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " axis0\n" + " axis0\n" + " \n" + " \n" + " Unknown\n" + " Axis0\n" + " \n" + " \n" + " \n" + " ArrayOfStructures|a_name\n" + " ArrayOfStructures_a_name\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Array Of Structures A Name\n" + " \n" + " \n" + " \n" + " ArrayOfStructures|c_name\n" + " ArrayOfStructures_c_name\n" + " double\n" + " \n" + " \n" + " Unknown\n" + " Array Of Structures C Name\n" + " \n" + " \n" + " \n" + " ArrayOfStructures|b_name\n" + " ArrayOfStructures_b_name\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Array Of Structures B Name\n" + " \n" + " \n" + "\n"; } public static EDD gettestStructurePrivate() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testStructurePrivate()); } private static String xmlFragment_testStructurePrivate() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/justin/").toURI()).toString() + "\n" + " test\\.h5 \n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " ???\n" + " ???\n" + " axis0, axis1, data, data1, local, phase, ping, sensor1, sonar, sonar/sensor1/data1/axis0, sonar/sensor1/data1/axis1, Sonar/Sensor1/Data1/PingData, Sonar/Sensor1/Data1/PingDataPhase, source\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " axis0\n" + " axis0\n" + " \n" + " \n" + " Unknown\n" + " Axis0\n" + " \n" + " \n" + " \n" + " Sonar/Sensor1/Data1/Navigation|Yaw\n" + " Yaw\n" + " double\n" + " \n" + " \n" + " Unknown\n" + " Sonar Sensor1 Data1 Navigation Yaw\n" + " \n" + " \n" + " \n" + " Sonar/Sensor1/Data1/Navigation|Pitch\n" + " Pitch\n" + " double\n" + " \n" + " \n" + " Unknown\n" + " Sonar Sensor1 Data1 Navigation Pitch\n" + " \n" + " \n" + " \n" + " Sonar/Sensor1/Data1/Navigation|Latitude\n" + " latitude\n" + " double\n" + " \n" + " \n" + " Location\n" + " Latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " Sonar/Sensor1/Data1/Navigation|Longitude\n" + " longitude\n" + " double\n" + " \n" + " \n" + " Location\n" + " Longitude\n" + " degrees_east\n" + " \n" + " \n" + "\n"; } public static EDD gettestFromErddapFromErddap() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testFromErddapFromErddap()); } private static String xmlFragment_testFromErddapFromErddap() { return "\n" + " https://coastwatch.pfeg.noaa.gov/erddap/tabledap/erdGtsppBest\n" + "\n"; } public static EDD gettestQuotes() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testQuotes()); } private static String xmlFragment_testQuotes() { return "\n" + " https://oceanview.pfeg.noaa.gov/erddap/tabledap/FRDCPSTrawlLHHaulCatch\n" + "\n"; } public static EDD getChukchiSea_454a_037a_fcf4() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_ChukchiSea_454a_037a_fcf4()); } private static String xmlFragment_ChukchiSea_454a_037a_fcf4() { return "\n" + " https://ferret.pmel.noaa.gov/pmel/erddap/tabledap/ChukchiSea_454a_037a_fcf4\n" + "\n"; } public static EDD geterdGlobecBottle() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdGlobecBottle()); } private static String xmlFragment_erdGlobecBottle() throws URISyntaxException { return "\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/globec/").toURI()).toString() + "\n" + " Globec_bottle_data_2002\\.nc\n" + " \n" + " GLOBEC NEP Rosette Bottle Data (2002)\n" + " TrajectoryProfile\n" + " bottle_posn\n" + " cruise_id, ship\n" + " cast, longitude, latitude, time\n" + " cruise_id, ship, cast, longitude, latitude, time\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://en.wikipedia.org/wiki/Global_Ocean_Ecosystem_Dynamics\n" + " GLOBEC\n" + " 10um,\n" + "Earth Science > Biosphere > Vegetation > Photosynthetically Active Radiation,\n" + "Earth Science > Oceans > Ocean Chemistry > Ammonia,\n" + "Earth Science > Oceans > Ocean Chemistry > Chlorophyll,\n" + "Earth Science > Oceans > Ocean Chemistry > Nitrate,\n" + "Earth Science > Oceans > Ocean Chemistry > Nitrite,\n" + "Earth Science > Oceans > Ocean Chemistry > Nitrogen,\n" + "Earth Science > Oceans > Ocean Chemistry > Oxygen,\n" + "Earth Science > Oceans > Ocean Chemistry > Phosphate,\n" + "Earth Science > Oceans > Ocean Chemistry > Pigments,\n" + "Earth Science > Oceans > Ocean Chemistry > Silicate,\n" + "Earth Science > Oceans > Ocean Optics > Attenuation/Transmission,\n" + "Earth Science > Oceans > Ocean Temperature > Water Temperature,\n" + "Earth Science > Oceans > Salinity/Density > Salinity,\n" + "active, after, ammonia, ammonium, attenuation, biosphere, bottle, cast, chemistry, chlorophyll, chlorophyll-a, color, concentration, concentration_of_chlorophyll_in_sea_water, cruise, data, density, dissolved, dissolved nutrients, dissolved o2, fluorescence, fraction, from, globec, identifier, mass, mole, mole_concentration_of_ammonium_in_sea_water, mole_concentration_of_nitrate_in_sea_water, mole_concentration_of_nitrite_in_sea_water, mole_concentration_of_phosphate_in_sea_water, mole_concentration_of_silicate_in_sea_water, moles, moles_of_nitrate_and_nitrite_per_unit_mass_in_sea_water, n02, nep, nh4, nitrate, nitrite, nitrogen, no3, number, nutrients, o2, ocean, ocean color, oceans, optical, optical properties, optics, oxygen, passing, per, phaeopigments, phosphate, photosynthetically, pigments, plus, po4, properties, radiation, rosette, salinity, screen, sea, sea_water_practical_salinity, sea_water_temperature, seawater, sensor, sensors, ship, silicate, temperature, time, total, transmission, transmissivity, unit, vegetation, voltage, volume, volume_fraction_of_oxygen_in_sea_water, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " (local files; contact erd.data@noaa.gov)\n" + " CF Standard Name Table v70\n" + " \n" + "GLOBEC (GLOBal Ocean ECosystems Dynamics) NEP (Northeast Pacific)\n" + "Rosette Bottle Data from New Horizon Cruise (NH0207: 1-19 August 2002).\n" + "Notes:\n" + "Physical data processed by Jane Fleischbein (OSU).\n" + "Chlorophyll readings done by Leah Feinberg (OSU).\n" + "Nutrient analysis done by Burke Hales (OSU).\n" + "Sal00 - salinity calculated from primary sensors (C0,T0).\n" + "Sal11 - salinity calculated from secondary sensors (C1,T1).\n" + "secondary sensor pair was used in final processing of CTD data for\n" + "most stations because the primary had more noise and spikes. The\n" + "primary pair were used for cast #9, 24, 48, 111 and 150 due to\n" + "multiple spikes or offsets in the secondary pair.\n" + "Nutrient samples were collected from most bottles; all nutrient data\n" + "developed from samples frozen during the cruise and analyzed ashore;\n" + "data developed by Burke Hales (OSU).\n" + "Operation Detection Limits for Nutrient Concentrations\n" + "Nutrient Range Mean Variable Units\n" + "PO4 0.003-0.004 0.004 Phosphate micromoles per liter\n" + "N+N 0.04-0.08 0.06 Nitrate+Nitrite micromoles per liter\n" + "Si 0.13-0.24 0.16 Silicate micromoles per liter\n" + "NO2 0.003-0.004 0.003 Nitrite micromoles per liter\n" + "Dates and Times are UTC.\n" + "\n" + "For more information, see https://www.bco-dmo.org/dataset/2452\n" + "\n" + "Inquiries about how to access this data should be directed to\n" + "Dr. Hal Batchelder (hbatchelder@coas.oregonstate.edu).\n" + "\n" + " \n" + " \n" + " cruise_id\n" + " String\n" + " \n" + " Identifier\n" + " trajectory_id\n" + " Cruise ID\n" + " \n" + " \n" + " \n" + " ship\n" + " String\n" + " \n" + " Identifier\n" + " Ship\n" + " \n" + " \n" + " \n" + " cast_no\n" + " cast\n" + " short\n" + " \n" + " 0\n" + " 140\n" + " Identifier\n" + " Cast Number\n" + " \n" + " \n" + " \n" + " lon100\n" + " longitude\n" + " int\n" + " \n" + " 0.01\n" + " \n" + " \n" + " \n" + " lat100\n" + " latitude\n" + " int\n" + " \n" + " 0.01\n" + " \n" + " \n" + " \n" + " datetime_epoch\n" + " time\n" + " int\n" + " \n" + " Time\n" + " seconds since 1970-01-01T00:00:00Z\n" + " time\n" + " profile_id\n" + " \n" + " \n" + " \n" + " bottle_posn\n" + " byte\n" + " \n" + " 0\n" + " 12\n" + " Location\n" + " Bottle Number\n" + " -128\n" + " \n" + " \n" + " \n" + " chl_a_total\n" + " float\n" + " \n" + " .03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " Chlorophyll-a\n" + " -9999.0\n" + " concentration_of_chlorophyll_in_sea_water\n" + " ug L-1\n" + " \n" + " \n" + " \n" + " chl_a_10um\n" + " float\n" + " \n" + " .03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " Chlorophyll-a after passing 10um screen\n" + " -9999.0\n" + " concentration_of_chlorophyll_in_sea_water\n" + " ug L-1\n" + " \n" + " \n" + " \n" + " phaeo_total\n" + " float\n" + " \n" + " .03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " Total Phaeopigments\n" + " -9999.0\n" + " ug L-1\n" + " \n" + " \n" + " \n" + " phaeo_10um\n" + " float\n" + " \n" + " .03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " Phaeopigments 10um\n" + " -9999.0\n" + " ug L-1\n" + " \n" + " \n" + " \n" + " sal00\n" + " float\n" + " \n" + " 32.0\n" + " 37.0\n" + " Salinity\n" + " Practical Salinity from T0 and C0 Sensors\n" + " -9999.0\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " sal11\n" + " float\n" + " \n" + " 32.0\n" + " 37.0\n" + " Salinity\n" + " Practical Salinity from T1 and C1 Sensors\n" + " -9999.0\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " t0\n" + " temperature0\n" + " float\n" + " \n" + " 0.0\n" + " 32.0\n" + " Temperature\n" + " Sea Water Temperature from T0 Sensor\n" + " -9999.0\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " t1\n" + " temperature1\n" + " float\n" + " \n" + " 0.0\n" + " 32.0\n" + " Temperature\n" + " Sea Water Temperature from T1 Sensor\n" + " -9999.0\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " fluor_v\n" + " float\n" + " \n" + " 0\n" + " 5\n" + " Ocean Color\n" + " Fluorescence Voltage\n" + " -9999.0\n" + " \n" + " volts\n" + " \n" + " \n" + " \n" + " xmiss_v\n" + " float\n" + " \n" + " 0\n" + " 5\n" + " Optical Properties\n" + " Transmissivity Voltage\n" + " -9999.0\n" + " \n" + " volts\n" + " \n" + " \n" + " \n" + " po4\n" + " PO4\n" + " float\n" + " \n" + " 0\n" + " 4\n" + " Dissolved Nutrients\n" + " Phosphate\n" + " -9999.0\n" + " mole_concentration_of_phosphate_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " n_n\n" + " N_N\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Dissolved Nutrients\n" + " Nitrate plus Nitrite\n" + " -99.0\n" + " -9999.0\n" + " moles_of_nitrate_and_nitrite_per_unit_mass_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " no3\n" + " NO3\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Dissolved Nutrients\n" + " -99.0\n" + " Nitrate\n" + " -9999.0\n" + " mole_concentration_of_nitrate_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " si\n" + " Si\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Dissolved Nutrients\n" + " Silicate\n" + " -9999.0\n" + " mole_concentration_of_silicate_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " no2\n" + " NO2\n" + " float\n" + " \n" + " 0\n" + " 1\n" + " Dissolved Nutrients\n" + " Nitrite\n" + " -9999.0\n" + " mole_concentration_of_nitrite_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " nh4\n" + " NH4\n" + " float\n" + " \n" + " 0\n" + " 5\n" + " Dissolved Nutrients\n" + " Ammonium\n" + " -9999.0\n" + " mole_concentration_of_ammonium_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " oxygen\n" + " float\n" + " \n" + " 0\n" + " 10\n" + " Dissolved O2\n" + " Oxygen\n" + " -9999.0\n" + " volume_fraction_of_oxygen_in_sea_water\n" + " mL L-1\n" + " \n" + " \n" + " \n" + " par\n" + " float\n" + " \n" + " 0\n" + " 3\n" + " Ocean Color\n" + " Photosynthetically Active Radiation\n" + " -9999.0\n" + " \n" + " volts\n" + " \n" + " \n" + "\n"; } public static EDD gettestTableCopy() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTableCopy()); } private static String xmlFragment_testTableCopy() throws URISyntaxException { return "\n" + " cruise_id cast\n" + " bottle_posn\n" + " true\n" + " \n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/globec/").toURI()).toString() + "\n" + " Globec_bottle_data_2002\\.nc\n" + " \n" + " GLOBEC NEP Rosette Bottle Data (2002)\n" + " TrajectoryProfile\n" + " bottle_posn\n" + " cruise_id, ship\n" + " cast, longitude, latitude, time\n" + " cruise_id, ship, cast, longitude, latitude, time\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://en.wikipedia.org/wiki/Global_Ocean_Ecosystem_Dynamics\n" + " GLOBEC\n" + " 10um,\n" + "Biosphere > Vegetation > Photosynthetically Active Radiation,\n" + "Oceans > Ocean Chemistry > Ammonia,\n" + "Oceans > Ocean Chemistry > Chlorophyll,\n" + "Oceans > Ocean Chemistry > Nitrate,\n" + "Oceans > Ocean Chemistry > Nitrite,\n" + "Oceans > Ocean Chemistry > Nitrogen,\n" + "Oceans > Ocean Chemistry > Oxygen,\n" + "Oceans > Ocean Chemistry > Phosphate,\n" + "Oceans > Ocean Chemistry > Pigments,\n" + "Oceans > Ocean Chemistry > Silicate,\n" + "Oceans > Ocean Optics > Attenuation/Transmission,\n" + "Oceans > Ocean Temperature > Water Temperature,\n" + "Oceans > Salinity/Density > Salinity,\n" + "active, after, ammonia, ammonium, attenuation, biosphere, bottle, cast, chemistry, chlorophyll, chlorophyll-a, color, concentration, concentration_of_chlorophyll_in_sea_water, cruise, data, density, dissolved, dissolved nutrients, dissolved o2, fluorescence, fraction, from, globec, identifier, mass, mole, mole_concentration_of_ammonium_in_sea_water, mole_concentration_of_nitrate_in_sea_water, mole_concentration_of_nitrite_in_sea_water, mole_concentration_of_phosphate_in_sea_water, mole_concentration_of_silicate_in_sea_water, moles, moles_of_nitrate_and_nitrite_per_unit_mass_in_sea_water, n02, nep, nh4, nitrate, nitrite, nitrogen, no3, number, nutrients, o2, ocean, ocean color, oceans, optical, optical properties, optics, oxygen, passing, per, phaeopigments, phosphate, photosynthetically, pigments, plus, po4, properties, radiation, rosette, salinity, screen, sea, sea_water_practical_salinity, sea_water_temperature, seawater, sensor, sensors, ship, silicate, temperature, time, total, transmission, transmissivity, unit, vegetation, voltage, volume, volume_fraction_of_oxygen_in_sea_water, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " (local files; contact erd.data@noaa.gov)\n" + " CF Standard Name Table v70\n" + " \n" + "GLOBEC (GLOBal Ocean ECosystems Dynamics) NEP (Northeast Pacific)\n" + "Rosette Bottle Data from New Horizon Cruise (NH0207: 1-19 August 2002).\n" + "Notes:\n" + "Physical data processed by Jane Fleischbein (OSU).\n" + "Chlorophyll readings done by Leah Feinberg (OSU).\n" + "Nutrient analysis done by Burke Hales (OSU).\n" + "Sal00 - salinity calculated from primary sensors (C0,T0).\n" + "Sal11 - salinity calculated from secondary sensors (C1,T1).\n" + "secondary sensor pair was used in final processing of CTD data for\n" + "most stations because the primary had more noise and spikes. The\n" + "primary pair were used for cast #9, 24, 48, 111 and 150 due to\n" + "multiple spikes or offsets in the secondary pair.\n" + "Nutrient samples were collected from most bottles; all nutrient data\n" + "developed from samples frozen during the cruise and analyzed ashore;\n" + "data developed by Burke Hales (OSU).\n" + "Operation Detection Limits for Nutrient Concentrations\n" + "Nutrient Range Mean Variable Units\n" + "PO4 0.003-0.004 0.004 Phosphate micromoles per liter\n" + "N+N 0.04-0.08 0.06 Nitrate+Nitrite micromoles per liter\n" + "Si 0.13-0.24 0.16 Silicate micromoles per liter\n" + "NO2 0.003-0.004 0.003 Nitrite micromoles per liter\n" + "Dates and Times are UTC.\n" + "\n" + "For more information, see https://www.bco-dmo.org/dataset/2452\n" + "\n" + "Inquiries about how to access this data should be directed to\n" + "Dr. Hal Batchelder (hbatchelder@coas.oregonstate.edu).\n" + "\n" + " \n" + " \n" + " cruise_id\n" + " String\n" + " \n" + " Identifier\n" + " trajectory_id\n" + " Cruise ID\n" + " \n" + " \n" + " \n" + " ship\n" + " String\n" + " \n" + " Identifier\n" + " Ship\n" + " \n" + " \n" + " \n" + " cast_no\n" + " cast\n" + " short\n" + " \n" + " 0\n" + " 140\n" + " Identifier\n" + " Cast Number\n" + " \n" + " \n" + " \n" + " lon100\n" + " longitude\n" + " int\n" + " \n" + " 0.01\n" + " \n" + " \n" + " \n" + " lat100\n" + " latitude\n" + " int\n" + " \n" + " 0.01\n" + " \n" + " \n" + " \n" + " datetime_epoch\n" + " time\n" + " int\n" + " \n" + " Time\n" + " seconds since 1970-01-01T00:00:00Z\n" + " time\n" + " profile_id\n" + " \n" + " \n" + " \n" + " bottle_posn\n" + " byte\n" + " \n" + " 0\n" + " 12\n" + " Location\n" + " Bottle Number\n" + " -128\n" + " \n" + " \n" + " \n" + " chl_a_total\n" + " float\n" + " \n" + " .03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " Chlorophyll-a\n" + " -9999.0\n" + " concentration_of_chlorophyll_in_sea_water\n" + " ug L-1\n" + " \n" + " \n" + " \n" + " chl_a_10um\n" + " float\n" + " \n" + " .03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " Chlorophyll-a after passing 10um screen\n" + " -9999.0\n" + " concentration_of_chlorophyll_in_sea_water\n" + " ug L-1\n" + " \n" + " \n" + " \n" + " phaeo_total\n" + " float\n" + " \n" + " .03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " Total Phaeopigments\n" + " -9999.0\n" + " ug L-1\n" + " \n" + " \n" + " \n" + " phaeo_10um\n" + " float\n" + " \n" + " .03\n" + " 30\n" + " Log\n" + " Ocean Color\n" + " Phaeopigments 10um\n" + " -9999.0\n" + " ug L-1\n" + " \n" + " \n" + " \n" + " sal00\n" + " float\n" + " \n" + " 32.0\n" + " 37.0\n" + " Salinity\n" + " Practical Salinity from T0 and C0 Sensors\n" + " -9999.0\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " sal11\n" + " float\n" + " \n" + " 32.0\n" + " 37.0\n" + " Salinity\n" + " Practical Salinity from T1 and C1 Sensors\n" + " -9999.0\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " t0\n" + " temperature0\n" + " float\n" + " \n" + " 0.0\n" + " 32.0\n" + " Temperature\n" + " Sea Water Temperature from T0 Sensor\n" + " -9999.0\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " t1\n" + " temperature1\n" + " float\n" + " \n" + " 0.0\n" + " 32.0\n" + " Temperature\n" + " Sea Water Temperature from T1 Sensor\n" + " -9999.0\n" + " sea_water_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " fluor_v\n" + " float\n" + " \n" + " 0\n" + " 5\n" + " Ocean Color\n" + " Fluorescence Voltage\n" + " -9999.0\n" + " \n" + " volts\n" + " \n" + " \n" + " \n" + " xmiss_v\n" + " float\n" + " \n" + " 0\n" + " 5\n" + " Optical Properties\n" + " Transmissivity Voltage\n" + " -9999.0\n" + " \n" + " volts\n" + " \n" + " \n" + " \n" + " po4\n" + " PO4\n" + " float\n" + " \n" + " 0\n" + " 4\n" + " Dissolved Nutrients\n" + " Phosphate\n" + " -9999.0\n" + " mole_concentration_of_phosphate_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " n_n\n" + " N_N\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Dissolved Nutrients\n" + " Nitrate plus Nitrite\n" + " -99.0\n" + " -9999.0\n" + " moles_of_nitrate_and_nitrite_per_unit_mass_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " no3\n" + " NO3\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Dissolved Nutrients\n" + " -99.0\n" + " Nitrate\n" + " -9999.0\n" + " mole_concentration_of_nitrate_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " si\n" + " Si\n" + " float\n" + " \n" + " 0\n" + " 50\n" + " Dissolved Nutrients\n" + " Silicate\n" + " -9999.0\n" + " mole_concentration_of_silicate_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " no2\n" + " NO2\n" + " float\n" + " \n" + " 0\n" + " 1\n" + " Dissolved Nutrients\n" + " Nitrite\n" + " -9999.0\n" + " mole_concentration_of_nitrite_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " nh4\n" + " NH4\n" + " float\n" + " \n" + " 0\n" + " 5\n" + " Dissolved Nutrients\n" + " Ammonium\n" + " -9999.0\n" + " mole_concentration_of_ammonium_in_sea_water\n" + " micromoles L-1\n" + " \n" + " \n" + " \n" + " oxygen\n" + " float\n" + " \n" + " 0\n" + " 10\n" + " Dissolved O2\n" + " Oxygen\n" + " -9999.0\n" + " volume_fraction_of_oxygen_in_sea_water\n" + " mL L-1\n" + " \n" + " \n" + " \n" + " par\n" + " float\n" + " \n" + " 0\n" + " 3\n" + " Ocean Color\n" + " Photosynthetically Active Radiation\n" + " -9999.0\n" + " \n" + " volts\n" + " \n" + " \n" + "\n" + "\n"; } public static EDD getrepPostDet() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_repPostDet()); } private static String xmlFragment_repPostDet() { return "\n" + " 10080\n" + " pi common_name surgery_id\n" + " time\n" + "\n" + " jdbc:postgresql://142.22.58.155:5432/postparse\n" + " org.postgresql.Driver\n" + " erduser\n" + " [redacted]\n" + " true\n" + " org.postgresql.ssl.NonValidatingFactory\n" + " 1024\n" + " \n" + " erd\n" + " detection\n" + " pi, project, surgery_id, detection_timestamp\n" + " 10080\n" + " \n" + " Point\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " http://www.coml.org/\n" + " POST\n" + " \n" + "Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "Biosphere > Aquatic Ecosystems > Pelagic Habitat,\n" + "Biosphere > Aquatic Ecosystems > Estuarine Habitat,\n" + "Biosphere > Aquatic Ecosystems > Rivers/Stream Habitat\n" + "\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " \n" + "The dataset has tag detection records from the Pacific Ocean\n" + "Shelf Tracking project (POST). POST is a research tool for\n" + "tracking the movement and estimated survival of marine animals along\n" + "the West Coast of North America, using acoustic transmitters implanted\n" + "in animals and a series of receivers running in lines across the\n" + "continental shelf. It is one of fourteen field projects of the\n" + "Census of Marine Life assessing the distribution, diversity and\n" + "abundance of marine organisms internationally. (V1)\n" + " POST Tag Detections\n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " detection_timestamp\n" + " time\n" + " double\n" + " \n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " common_name\n" + " String\n" + " \n" + " Taxonomy\n" + " Common Name\n" + " \n" + " \n" + " \n" + " pi\n" + " String\n" + " \n" + " Identifier\n" + " Principal Investigator\n" + " \n" + " \n" + " \n" + " project\n" + " String\n" + " \n" + " Identifier\n" + " Project\n" + " \n" + " \n" + " \n" + " surgery_id\n" + " int\n" + " \n" + " This is a unique number associated with one tagging of one animal.\n" + " Identifier\n" + " Surgery ID\n" + " \n" + " \n" + " \n" + " tag_id_code\n" + " tag_id_code\n" + " String\n" + " \n" + " This number identifies a tag. NOTE: some tags were (re)used in more than one animal.\n" + " Identifier\n" + " Tag ID Code\n" + " \n" + " \n" + " \n" + " tag_sn\n" + " String\n" + " \n" + " This number identifies a tag. NOTE: some tags were (re)used in more than one animal.\n" + " Identifier\n" + " Tag Serial Number\n" + " \n" + " \n" + "\n" + "\n"; } public static EDD getjplMURSST41() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_jplMURSST41()); } private static String xmlFragment_jplMURSST41() throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/satellite/MUR41/ssta/1day/").toURI()) .toString() + "\n" + " .*fv04\\.1\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Please acknowledge the use of these data with the following statement: These data were provided by JPL under support by NASA MEaSUREs program.\n" + " null\n" + " MUR = "Multi-scale Ultra-high Resolution"\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " group\n" + " https://podaac.jpl.nasa.gov/dataset/MUR-JPL-L4-GLOB-v4.1\n" + " null\n" + " created at nominal 4-day latency; replaced nrt (1-day latency) version.\n" + "Data is downloaded daily from https://podaac-opendap.jpl.nasa.gov/opendap/allData/ghrsst/data/GDS2/L4/GLOB/JPL/MUR/v4.1/ to NOAA NMFS SWFSC ERD by erd.data@noaa.gov .\n" + "The data for the most recent 7 days is usually revised everyday. The data for other days is sometimes revised.\n" + " https://podaac.jpl.nasa.gov/dataset/MUR-JPL-L4-GLOB-v4.1\n" + " NASA JPL\n" + " analysed, analysed_sst, analysis, analysis_error, area, binary, composite, daily, data, day, deviation, distribution, error, estimated, field, final, foundation, fraction, ghrsst, high, ice, ice distribution, identifier, jet, jpl, laboratory, land, land_binary_mask, mask, multi, multi-scale, mur, nasa, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature,\n" + "product, propulsion, resolution, scale, sea, sea ice area fraction, sea/land, sea_ice_fraction, sea_surface_foundation_temperature, sst, standard, statistics, surface, temperature, time, ultra, ultra-high\n" + " GCMD Science Keywords\n" + " These data are available free of charge under the JPL PO.DAAC data policy.\n" + "\n" + "[standard]\n" + " null\n" + " null\n" + " null\n" + " https://podaac.jpl.nasa.gov/dataset/MUR-JPL-L4-GLOB-v4.1\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " This is a merged, multi-sensor L4 Foundation Sea Surface Temperature (SST) analysis product from Jet Propulsion Laboratory (JPL). This daily, global, Multi-scale, Ultra-high Resolution (MUR) Sea Surface Temperature (SST) 1-km data set, Version 4.1, is produced at JPL under the NASA MEaSUREs program. For details, see https://podaac.jpl.nasa.gov/dataset/MUR-JPL-L4-GLOB-v4.1 . This dataset is part of the Group for High-Resolution Sea Surface Temperature (GHRSST) project. The data for the most recent 7 days is usually revised everyday. The data for other days is sometimes revised.\n" + " now-3days\n" + " Multi-scale Ultra-high Resolution (MUR) SST Analysis fv04.1, Global, 0.01°, 2002-present, Daily\n" + " null\n" + " null\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " Location\n" + " Latitude\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " Location\n" + " Longitude\n" + " \n" + " \n" + " \n" + " analysed_sst\n" + " analysed_sst\n" + " short\n" + " \n" + " \n" + " null\n" + " null\n" + " 25.0\n" + " 32.0\n" + " 0.0\n" + " null\n" + " Temperature\n" + " Analysed Sea Surface Temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " analysis_error\n" + " analysis_error\n" + " short\n" + " \n" + " \n" + " null\n" + " null\n" + " 5.0\n" + " 0.0\n" + " null\n" + " null\n" + " Statistics\n" + " Estimated Error Standard Deviation of analysed_sst\n" + " degree_C\n" + " \n" + " \n" + " \n" + " mask\n" + " mask\n" + " byte\n" + " \n" + " \n" + " null\n" + " null\n" + " 20.0\n" + " 0.0\n" + " null\n" + " Identifier\n" + " Sea/Land Field Composite Mask\n" + " land_binary_mask\n" + " \n" + " \n" + " \n" + " sea_ice_fraction\n" + " sea_ice_fraction\n" + " byte\n" + " \n" + " \n" + " null\n" + " null\n" + " 1.0\n" + " 0.0\n" + " null\n" + " Ice Distribution\n" + " Sea Ice Area Fraction\n" + " sea_ice_area_fraction\n" + " 1\n" + " \n" + " \n" + "\n"; } public static EDD gettestGroups() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGroups()); } private static String xmlFragment_testGroups() throws URISyntaxException { return "\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/hdf/").toURI()).toString() + "/\n" + " Q2011237000100.L2_SCI_V4\\.0\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " webadmin@oceancolor.gsfc.nasa.gov\n" + " NASA/GSFC OBPG\n" + " https://oceancolor.gsfc.nasa.gov/cms/\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://oceancolor.gsfc.nasa.gov/cms/\n" + " aquarius, Aquarius_Flags_rad_rfi_flags, Aquarius_Flags_unnamedDim0, Aquarius_Flags_unnamedDim1, Aquarius_Flags_unnamedDim2, Aquarius_Flags_unnamedDim3, biology, center, color, data, flight, goddard, group, gsfc, level, nasa, obpg, ocean, processing, quality, space\n" + " null\n" + " [standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " null\n" + " null\n" + " Aquarius Level 2 Data. NASA/Goddard Space Flight Center (GSFC) Ocean Biology Processing Group (OBPG) data from a local source.\n" + " null\n" + " Aquarius Level 2 Data\n" + " \n" + " \n" + " Aquarius_Flags/_unnamedDim0\n" + " Aquarius_Flags_unnamedDim0\n" + " \n" + " \n" + " Quality\n" + " Aquarius Flags Unnamed Dim0\n" + " \n" + " \n" + " \n" + " Aquarius_Flags/_unnamedDim1\n" + " Aquarius_Flags_unnamedDim1\n" + " \n" + " \n" + " Quality\n" + " Aquarius Flags Unnamed Dim1\n" + " \n" + " \n" + " \n" + " Aquarius_Flags/_unnamedDim2\n" + " Aquarius_Flags_unnamedDim2\n" + " \n" + " \n" + " Quality\n" + " Aquarius Flags Unnamed Dim2\n" + " \n" + " \n" + " \n" + " Aquarius_Flags/_unnamedDim3\n" + " Aquarius_Flags_unnamedDim3\n" + " \n" + " \n" + " Quality\n" + " Aquarius Flags Unnamed Dim3\n" + " \n" + " \n" + " \n" + " Aquarius_Flags/rad_rfi_flags\n" + " Aquarius_Flags_rad_rfi_flags\n" + " byte\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + "\n"; } public static EDD gettestIslandShift() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testIslandShift()); } private static String xmlFragment_testIslandShift() throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/nc/").toURI()).toString() + "\n" + " testIslandShift\\.nc\n" + " false\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " CF-1.6, ACDD-1.3, COARDS\n" + " PIBHMC\n" + " 5-m, american, bathymetry, bathymetry/seafloor, data, earth, Earth Science > Oceans > Bathymetry/Seafloor Topography > Bathymetry, elev, elevation, height, latitude, longitude, noaa, ocean, oceans, ofu, olosega, pibhmc, samoa, science, seafloor, topography\n" + " \n" + " \n" + " latitude\n" + " latitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " longitude\n" + " longitude\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " elev\n" + " elev\n" + " float\n" + " \n" + " \n" + " \n" + " \n" + "\n"; } public static EDD gettestMinimalReadSource() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testMinimalReadSource(false)); } private static String xmlFragment_testMinimalReadSource(boolean useXinclude) throws URISyntaxException { return "\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/PH53/1day/").toURI()).toString() + "\n" + " .*_day-v.*\\.nc\n" + " true\n" + // " /u00/satellite/PH53/1day/(|[0-9]{4}/(|data/))\n" + // // " last\n" + " 0\n" + " false\n" + " \n" + " \n" + " CF-1.6, ACDD-1.3, COARDS\n" + " https://pathfinder.nodc.noaa.gov\n" + " null\n" + " null\n" + " https://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.nodc:AVHRR_Pathfinder-NCEI-L3C-v5.3\n" + " 10m, advanced, aerosol, aerosol_dynamic_indicator, analysis, area, atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "atmospheric, avhrr, bias, centers, climate, collated, cryosphere,\n" + "Earth Science > Cryosphere > Sea Ice > Ice Extent,\n" + "data, deviation, difference, distribution, dt_analysis, dynamic, environmental, error, estimate, extent, flag, flags, fraction, ghrsst, global, high, high-resolution, ice, ice distribution, indicator, information, l2p, l2p_flags, l3-collated, l3c, level, national, ncei, noaa, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature,\n" + "Earth Science > Oceans > Sea Ice > Ice Extent,\n" + "optical, optical properties, pathfinder, pathfinder_quality_level, pixel, properties, quality, quality_level, radiometer, record, reference, resolution, sea, sea_ice_area_fraction, sea_ice_fraction, sea_surface_skin_temperature, sea_surface_temperature, sensor, single, skin, speed, sses, sses_bias, sses_standard_deviation, sst, sst_dtime, standard, statistics, surface, temperature, time, version, very, vhrr, wind, wind_speed, winds\n" + " GCMD Science Keywords\n" + " These data are available for use without restriction.\n" + "[standard]\n" + " null\n" + " null\n" + " null\n" + " https://pathfinder.nodc.noaa.gov and Casey, K.S., T.B. Brandon, P. Cornillon, and R. Evans: The Past, Present and Future of the AVHRR Pathfinder SST Program, in Oceanography from Space: Revisited, eds. V. Barale, J.F.R. Gower, and L. Alberotanza, Springer, 2010. DOI: 10.1007/978-90-481-8681-5_16.\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " Advanced Very High Resolution Radiometer (AVHRR) Pathfinder Version 5.3 L3-Collated (L3C) sea surface temperature. This netCDF-4 file contains sea surface temperature (SST) data produced as part of the AVHRR Pathfinder SST Project. These data were created using Version 5.3 of the Pathfinder algorithm and the file is nearly but not completely compliant with the Global High-Resolution Sea Surface Temperature (GHRSST) Data Specifications V2.0 (GDS2). The sses_bias and sses_standard_deviation variables are empty. Full compliance with GDS2 specifications will be achieved in the future Pathfinder Version 6. These data were created by the NOAA National Centers for Environmental Information (NCEI).\n" + " AVHRR Pathfinder Version 5.3 L3-Collated (L3C) SST, Global, 0.0417°, 1981-2018, Daytime (1 Day Composite)\n" + " null\n" + " null\n" + " \n" + " \n" + " ***replaceFromFileName,timeFormat=yyyyDDD,.*_Pathfinder-PFV5\\.3_NOAA\\d\\d_G_(\\d{7})_day.*\\.nc,1\n" + " time\n" + " \n" + " \n" + " null\n" + " This is the centered, reference time.\n" + " Time\n" + " Centered Time\n" + " seconds since 1970-01-01T12:00:00Z\n" + " \n" + " \n" + (useXinclude ? " \n" : xmlFragment_PH53_axis_lat()) + (useXinclude ? " \n" : xmlFragment_PH53_axis_lon()) + " \n" + " sea_surface_temperature\n" + " sea_surface_temperature\n" + " double\n" + " \n" + " \n" + " null\n" + " 0\n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " \n" + " dt_analysis\n" + " dt_analysis\n" + " double\n" + " \n" + " \n" + " null\n" + " 5.0\n" + " -5.0\n" + " Statistics\n" + " null\n" + " AVHRR_OI, with inland values populated from AVHRR_Pathfinder daily climatological SST. For more information on this reference field see https://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.nodc:0071180.\n" + " degree_C\n" + " \n" + " \n" + " \n" + " wind_speed\n" + " wind_speed\n" + " byte\n" + " \n" + " \n" + " null\n" + " null\n" + " 15.0\n" + " 0.0\n" + " Wind\n" + " null\n" + " \n" + " \n" + " \n" + " sea_ice_fraction\n" + " sea_ice_fraction\n" + " double\n" + " \n" + " \n" + " null\n" + " 1.0\n" + " 0.0\n" + " Sea ice concentration data are taken from the EUMETSAT Ocean and Sea Ice Satellite Application Facility (OSISAF) Global Daily Sea Ice Concentration Reprocessing Data Set (https://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.nodc:0068294) when these data are available. The data are reprojected and interpolated from their original polar stereographic projection at 10km spatial resolution to the 4km Pathfinder Version 5.3 grid. When the OSISAF data are not available for both hemispheres on a given day, the sea ice concentration data are taken from the sea_ice_fraction variable found in the L4 GHRSST DailyOI SST product from NOAA/NCDC, and are interpolated from the 25km DailyOI grid to the 4km Pathfinder Version 5.3 grid.\n" + " Ice Distribution\n" + " null\n" + " Reynolds, et al.(2006) Daily High-resolution Blended Analyses. Available at http://doi.org/10.7289/V5SQ8XB5\n" + " \n" + " \n" + " \n" + (useXinclude ? " \n" : xmlFragment_PH53_data_quality()) + (useXinclude ? " \n" : xmlFragment_PH53_data_pathfinder_quality()) + " \n" + " l2p_flags\n" + " l2p_flags\n" + " short\n" + " \n" + " \n" + " null\n" + " null\n" + " 300.0\n" + " 0.0\n" + " Quality\n" + " null\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsWLR6() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsWLR6()); } private static String xmlFragment_nosCoopsWLR6() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/waterlevelrawsixmin/plain/response.jsp?unit=0&timeZone=0&metadata=yes&Submit=Submit\n" + " &time%3E=now-1days&time%3C=now&stationName=%22San%20Francisco%22&datum=%22STND%22\n" + " time,waterLevel&time%3E=now-1days&time%3C=now&stationName=%22San%20Francisco%22&datum=%22STND%22&.draw=lines\n" + " GMT\n" + " Meters\n" + " <b>ID D S Date Time WL Sigma O F R L</b> ==========================================================================================================\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID,deployment,longitude, latitude, datum\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " 6-minute,\n" + "Earth Science > Oceans > Coastal Processes > Tidal Height,\n" + "Earth Science > Oceans > Sea Surface Topography > Sea Surface Height,\n" + "Earth Science > Oceans > Tides > Tidal Height,\n" + "amplitude, change, co-ops, coastal, collection, count, data, date, datum, deployment, designation, deviation, due, established, flag, flat, geocentric, height, identifier, level, limit, minute, name, noaa, nos, ocean, oceans, ops, outlier, platform, preliminary, processes, sea, sea level, sea_surface_height_amplitude_due_to_geocentric_ocean_tide, seawater, sensor, shef_id, shefID, standard, state, station, surface, tidal, tide, tides, time, tolerance, topography, water\n" + " GCMD Science Keywords\n" + " \n" + "These raw data have not been subjected to the National Ocean Service's quality control\n" + "or quality assurance procedures and do not meet the criteria and standards of\n" + "official National Ocean Service data. They are released for limited public use as\n" + "preliminary data to be used only with appropriate caution.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has recent, preliminary (not quality-controlled), 6-minute, water level\n" + "(tide) data from NOAA NOS Center for Operational Oceanographic Products and Services\n" + "(CO-OPS).\n" + "\n" + "WARNING: These raw data have not been subjected to the National Ocean Service's\n" + "quality control or quality assurance procedures and do not meet the criteria and\n" + "standards of official National Ocean Service data. They are released for limited\n" + "public use as preliminary data to be used only with appropriate caution.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID=, datum=, time>=.\n" + "* Queries for data USUALLY include time<=.\n" + "* Queries MUST be for less than 30 days worth of data.\n" + " The default time<= value corresponds to 'now'.\n" + "* Different stations support different datums.\n" + " Use ERDDAP's Subset web page to find out which datums a given station supports.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Make sure the station you specified supports the datum you specified.\n" + " * Try revising the request (e.g., a different datum or a different time range).\n" + " * The list of stations offering this data (or the list of datums) may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Water Level Data, Preliminary, 6-Minute\n" + " \n" + "\n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\".\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 13, 29\n" + " \n" + " \n" + " \n" + " datum\n" + " String\n" + " \n" + " Location\n" + " Queries for data MUST include \"datum=\".\n" + "Different stations support different datums.\n" + "Use ERDDAP's Subset web page to find out which datums a given station supports.\n" + "\n" + "A datum is a base elevation used as a reference from which to reckon heights or\n" + "depths. The possible datums are:\n" + "DATUM DESCRIPTION\n" + "DHQ Mean Diurnal High Water Inequality\n" + "DLQ Mean Diurnal Low Water Inequality\n" + "DTL Mean Diurnal Tide Level\n" + "GT Great Diurnal Range\n" + "HWI Greenwich High Water Interval (in Hours)\n" + "LWI Greenwich Low Water Interval (in Hours)\n" + "MHHW Mean Higher-High Water\n" + "MHW Mean High Water\n" + "MLLW Mean Lower-Low Water\n" + "MLW Mean Low Water\n" + "MN Mean Range of Tide\n" + "MSL Mean Sea Level\n" + "MTL Mean Tide Level\n" + "NAVD North American Vertical Datum\n" + "STND Station Datum\n" + "\n" + " Datum\n" + " \n" + " \n" + " \n" + " dcp\n" + " String\n" + " \n" + " Identifier\n" + " A one character identifier for the data collection platform (DCP) at a station.\n" + " Data Collection Platform\n" + " 8, 9\n" + " \n" + " \n" + " \n" + " sensor\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " Sensor ID\n" + " 10, 12\n" + " \n" + " \n" + " \n" + " waterLevel\n" + " float\n" + " \n" + " Sea Level\n" + " Water Level\n" + " m\n" + " 30, 37\n" + " sea_surface_height_amplitude_due_to_geocentric_ocean_tide\n" + " \n" + " \n" + " \n" + " sigma\n" + " float\n" + " \n" + " Standard deviation of 1 second samples used to compute the water level height\n" + " Sea Level\n" + " Standard Deviation of Water Level\n" + " m\n" + " 38, 44\n" + " \n" + " \n" + " \n" + " O\n" + " short\n" + " \n" + " 32767 \n" + " Quality\n" + " The number of samples that fall outside a 3-sigma band about the mean\n" + " Outlier Count\n" + " count\n" + " 46, 48\n" + " \n" + " \n" + " \n" + " F\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the flat tolerance limit was exceeded\n" + " Flat Tolerance Flag\n" + " 50, 51\n" + " \n" + " \n" + " \n" + " R\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the rate of change tolerance limit was exceeded\n" + " Change Tolerance Flag\n" + " 52, 53\n" + " \n" + " \n" + " \n" + " L\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=either the maximum or minimum expected water level height limit was exceeded\n" + " Limit Flag\n" + " 54, 55\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsWLR1() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsWLR1()); } private static String xmlFragment_nosCoopsWLR1() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/waterlevelrawonemin/plain/response.jsp?unit=0&timeZone=0&metadata=yes&Submit=Submit\n" + " &time%3E=now-1days&time%3C=now&stationName=%22San%20Francisco%22&datum=%22STND%22\n" + " time,waterLevel&time%3E=now-1days&time%3C=now&stationName=%22San%20Francisco%22&datum=%22STND%22&.draw=lines\n" + " \n" + " GMT\n" + " <pre>\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " 1-minute,\n" + "Earth Science > Oceans > Coastal Processes > Tidal Height,\n" + "Earth Science > Oceans > Sea Surface Topography > Sea Surface Height,\n" + "Earth Science > Oceans > Tides > Tidal Height,\n" + "amplitude, co-ops, coastal, collection, data, date, datum, deployment, designation, due, established, geocentric, height, identifier, level, minute, name, noaa, nos, ocean, oceans, ops, platform, preliminary, processes, sea, sea level, sea_surface_height_amplitude_due_to_geocentric_ocean_tide, seawater, sensor, shef_id, shefID, state, station, surface, tidal, tide, tides, time, topography, water\n" + " GCMD Science Keywords\n" + " \n" + "These raw data have not been subjected to the National Ocean Service's quality control\n" + "or quality assurance procedures and do not meet the criteria and standards of\n" + "official National Ocean Service data. They are released for limited public use as\n" + "preliminary data to be used only with appropriate caution.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has recent, preliminary (not quality-controlled), 1-minute, water level\n" + "(tide) data from NOAA NOS Center for Operational Oceanographic Products and Services\n" + "(CO-OPS).\n" + "\n" + "WARNING: These raw data have not been subjected to the National Ocean Service's\n" + "quality control or quality assurance procedures and do not meet the criteria and\n" + "standards of official National Ocean Service data. They are released for limited\n" + "public use as preliminary data to be used only with appropriate caution.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID=, datum=, and time>=.\n" + "* Queries for data USUALLY include time<=.\n" + "* Queries MUST be for less than 30 days worth of data.\n" + " The default time<= value corresponds to 'now'.\n" + "* Different stations support different datums.\n" + " Use ERDDAP's Subset web page to find out which datums a given station supports.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Make sure the station you specified supports the datum you specified.\n" + " * Try revising the request (e.g., a different datum or a different time range).\n" + " * The list of stations offering this data (or the list of datums) may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Water Level Data, Preliminary, 1-Minute\n" + " \n" + "\n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\".\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 13, 29\n" + " \n" + " \n" + " \n" + " datum\n" + " String\n" + " \n" + " Location\n" + " Queries for data MUST include \"datum=\".\n" + "Different stations support different datums.\n" + "Use ERDDAP's Subset web page to find out which datums a given station supports.\n" + "\n" + "A datum is a base elevation used as a reference from which to reckon heights or\n" + "depths. The possible datums are:\n" + "DATUM DESCRIPTION\n" + "DHQ Mean Diurnal High Water Inequality\n" + "DLQ Mean Diurnal Low Water Inequality\n" + "DTL Mean Diurnal Tide Level\n" + "GT Great Diurnal Range\n" + "HWI Greenwich High Water Interval (in Hours)\n" + "LWI Greenwich Low Water Interval (in Hours)\n" + "MHHW Mean Higher-High Water\n" + "MHW Mean High Water\n" + "MLLW Mean Lower-Low Water\n" + "MLW Mean Low Water\n" + "MN Mean Range of Tide\n" + "MSL Mean Sea Level\n" + "MTL Mean Tide Level\n" + "NAVD North American Vertical Datum\n" + "STND Station Datum\n" + "\n" + " Datum\n" + " \n" + " \n" + " \n" + " dcp\n" + " String\n" + " \n" + " Identifier\n" + " A one character identifier for the data collection platform (DCP) at a station.\n" + " Data Collection Platform\n" + " 8, 9\n" + " \n" + " \n" + " \n" + " sensor\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " Sensor ID\n" + " 10, 12\n" + " \n" + " \n" + " \n" + " waterLevel\n" + " float\n" + " \n" + " Sea Level\n" + " Water Level\n" + " m\n" + " 30, 37\n" + " sea_surface_height_amplitude_due_to_geocentric_ocean_tide\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsWLV6() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsWLV6()); } private static String xmlFragment_nosCoopsWLV6() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/waterlevelverifiedsixmin/plain/response.jsp?unit=0&timeZone=0&metadata=yes&Submit=Submit\n" + " &time%3E=now-77days&time%3C=now-70days&stationName=%22San%20Francisco%22&datum=%22STND%22\n" + " time,waterLevel&time%3E=now-77days&time%3C=now-70days&stationName=%22San%20Francisco%22&datum=%22STND%22&.draw=lines\n" + " GMT\n" + " Meters\n" + " <b>ID Date Time WL Sigma I F R T</b> <pre>\n" + " </pre>\n" + " We are sorry\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " 6-minute,\n" + "Earth Science > Oceans > Coastal Processes > Tidal Height,\n" + "Earth Science > Oceans > Sea Surface Topography > Sea Surface Height,\n" + "Earth Science > Oceans > Tides > Tidal Height,\n" + "amplitude, change, co-ops, coastal, data, date, datum, deployment, designation, deviation, due, established, flag, flat, geocentric, height, identifier, inferred, level, limit, minute, name, noaa, nos, ocean, oceans, ops, processes, sea, sea level, sea_surface_height_amplitude_due_to_geocentric_ocean_tide, seawater, shef_id, shefID, standard, state, station, surface, tidal, tide, tides, time, tolerance, topography, verified, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has verified (quality-controlled), 6-minute, water level (tide)\n" + "data from NOAA NOS Center for Operational Oceanographic Products and Services\n" + "(CO-OPS). This is a delayed dataset, not a near-real-time dataset.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID=, datum=, time>=, and time<=.\n" + "* Queries MUST be for less than 30 days worth of data.\n" + "* Different stations support different datums.\n" + " Use ERDDAP's Subset web page to find out which datums a given station supports.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Make sure the station you specified supports the datum you specified.\n" + " * Try revising the request (e.g., a different datum or a different time range).\n" + " * The list of stations offering this data (or the list of datums) may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Water Level Data, Verified, 6-Minute\n" + " \n" + "\n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and \"time<=\".\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 8, 24\n" + " \n" + " \n" + " \n" + " datum\n" + " String\n" + " \n" + " Location\n" + " Queries for data MUST include \"datum=\".\n" + "Different stations support different datums.\n" + "Use ERDDAP's Subset web page to find out which datums a given station supports.\n" + "\n" + "A datum is a base elevation used as a reference from which to reckon heights or\n" + "depths. The possible datums are:\n" + "DATUM DESCRIPTION\n" + "DHQ Mean Diurnal High Water Inequality\n" + "DLQ Mean Diurnal Low Water Inequality\n" + "DTL Mean Diurnal Tide Level\n" + "GT Great Diurnal Range\n" + "HWI Greenwich High Water Interval (in Hours)\n" + "LWI Greenwich Low Water Interval (in Hours)\n" + "MHHW Mean Higher-High Water\n" + "MHW Mean High Water\n" + "MLLW Mean Lower-Low Water\n" + "MLW Mean Low Water\n" + "MN Mean Range of Tide\n" + "MSL Mean Sea Level\n" + "MTL Mean Tide Level\n" + "NAVD North American Vertical Datum\n" + "STND Station Datum\n" + "\n" + " Datum\n" + " \n" + " \n" + " \n" + " waterLevel\n" + " float\n" + " \n" + " Sea Level\n" + " Water Level\n" + " m\n" + " 25, 32\n" + " sea_surface_height_amplitude_due_to_geocentric_ocean_tide\n" + " \n" + " \n" + " \n" + " sigma\n" + " float\n" + " \n" + " Standard deviation of 1 second samples used to compute the water level height\n" + " Sea Level\n" + " Standard Deviation of Water Level\n" + " m\n" + " 33, 40\n" + " \n" + " \n" + " \n" + " I\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=not inferred, 1=inferred\n" + " Inferred Flag\n" + " 43, 44\n" + " \n" + " \n" + " \n" + " F\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the flat tolerance limit was exceeded\n" + " Flat Tolerance Flag\n" + " 45, 46\n" + " \n" + " \n" + " \n" + " R\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the rate of change tolerance limit was exceeded\n" + " Change Tolerance Flag\n" + " 47, 48\n" + " \n" + " \n" + " \n" + " L\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=either the maximum or minimum expected water level height limit was exceeded\n" + " Limit Flag\n" + " 49, 50\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsWLV60() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsWLV60()); } private static String xmlFragment_nosCoopsWLV60() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/waterlevelverifiedhourly/plain/response.jsp?unit=0&timeZone=0&metadata=yes&Submit=Submit\n" + " &time%3E=now-77days&time%3C=now-70days&stationName=%22San%20Francisco%22&datum=%22STND%22\n" + " time,waterLevel&time%3E=now-77days&time%3C=now-70days&stationName=%22San%20Francisco%22&datum=%22STND%22&.draw=lines\n" + " GMT\n" + " Meters\n" + " <b>ID Date Time WL Sigma I L</b> <pre>\n" + " </pre>\n" + " No data\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " \n" + "Earth Science > Oceans > Coastal Processes > Tidal Height,\n" + "Earth Science > Oceans > Sea Surface Topography > Sea Surface Height,\n" + "Earth Science > Oceans > Tides > Tidal Height,\n" + "amplitude, co-ops, coastal, data, date, datum, deployment, designation, deviation, due, flag, established, geocentric, height, hourly, identifier, inferred, level, limit, name, noaa, nos, ocean, oceans, ops, processes, sea, sea level, sea_surface_height_amplitude_due_to_geocentric_ocean_tide, seawater, shef_id, shefID, standard, state, station, surface, tidal, tide, tides, time, topography, verified, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has verified (quality-controlled), hourly, water level (tide) data\n" + "from NOAA NOS Center for Operational Oceanographic Products and Services\n" + "(CO-OPS). This is a delayed dataset, not a near-real-time dataset.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID=, datum=, time>=, and time<=.\n" + "* Queries MUST be for less than 30 days worth of data.\n" + "* Different stations support different datums.\n" + " Use ERDDAP's Subset web page to find out which datums a given station supports.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Make sure the station you specified supports the datum you specified.\n" + " * Try revising the request (e.g., a different datum or a different time range).\n" + " * The list of stations offering this data (or the list of datums) may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Water Level Data, Verified, Hourly\n" + " \n" + "\n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and \"time<=\".\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 8, 24\n" + " \n" + " \n" + " \n" + " datum\n" + " String\n" + " \n" + " Location\n" + " Queries for data MUST include \"datum=\".\n" + "Different stations support different datums.\n" + "Use ERDDAP's Subset web page to find out which datums a given station supports.\n" + "\n" + "A datum is a base elevation used as a reference from which to reckon heights or\n" + "depths. The possible datums are:\n" + "DATUM DESCRIPTION\n" + "DHQ Mean Diurnal High Water Inequality\n" + "DLQ Mean Diurnal Low Water Inequality\n" + "DTL Mean Diurnal Tide Level\n" + "GT Great Diurnal Range\n" + "HWI Greenwich High Water Interval (in Hours)\n" + "LWI Greenwich Low Water Interval (in Hours)\n" + "MHHW Mean Higher-High Water\n" + "MHW Mean High Water\n" + "MLLW Mean Lower-Low Water\n" + "MLW Mean Low Water\n" + "MN Mean Range of Tide\n" + "MSL Mean Sea Level\n" + "MTL Mean Tide Level\n" + "NAVD North American Vertical Datum\n" + "STND Station Datum\n" + "\n" + " Datum\n" + " \n" + " \n" + " \n" + " waterLevel\n" + " float\n" + " \n" + " Sea Level\n" + " Water Level\n" + " m\n" + " 25, 32\n" + " sea_surface_height_amplitude_due_to_geocentric_ocean_tide\n" + " \n" + " \n" + " \n" + " sigma\n" + " float\n" + " \n" + " Standard deviation of 1 second samples used to compute the water level height\n" + " Sea Level\n" + " Standard Deviation of Water Level\n" + " m\n" + " 33, 40\n" + " \n" + " \n" + " \n" + " I\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=not inferred, 1=inferred\n" + " Inferred Flag\n" + " 43, 44\n" + " \n" + " \n" + " \n" + " L\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=either the maximum or minimum expected water level height limit was exceeded\n" + " Limit Flag\n" + " 45, 46\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsWLVHL() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsWLVHL()); } private static String xmlFragment_nosCoopsWLVHL() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/waterlevelverifiedhighlow/plain/response.jsp?unit=0&timeZone=0&metadata=yes&Submit=Submit\n" + " &time%3E=now-77days&time%3C=now-70days&stationName=%22San%20Francisco%22&datum=%22STND%22\n" + " time,waterLevel&time%3E=now-77days&time%3C=now-70days&stationName=%22San%20Francisco%22&datum=%22STND%22&.draw=lines\n" + " GMT\n" + " Meters\n" + " <b>ID Date Time WL TY I L</b> <pre>\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " \n" + "Earth Science > Oceans > Coastal Processes > Tidal Height,\n" + "Earth Science > Oceans > Sea Surface Topography > Sea Surface Height,\n" + "Earth Science > Oceans > Tides > Tidal Height,\n" + "amplitude, co-ops, coastal, data, date, datum, deployment, designation, due, established, flag, geocentric, height, high, identifier, inferred, level, limit, low, name, noaa, nos, ocean, oceans, ops, processes, sea, sea level, sea_surface_height_amplitude_due_to_geocentric_ocean_tide, seawater, shef_id, shefID, state, station, surface, tidal, tide, tides, time, topography, verified, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has verified (quality-controlled), daily, high low water level\n" + "(tide) data from NOAA NOS Center for Operational Oceanographic Products and\n" + "Services (CO-OPS). This is a delayed dataset, not a near-real-time dataset.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID=, datum=, time>=, and time<=.\n" + "* Queries MUST be for less than 30 days worth of data.\n" + "* Different stations support different datums.\n" + " Use ERDDAP's Subset web page to find out which datums a given station supports.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Make sure the station you specified supports the datum you specified.\n" + " * Try revising the request (e.g., a different datum or a different time range).\n" + " * The list of stations offering this data (or the list of datums) may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Water Level Data, Verified, High Low\n" + " \n" + "\n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and \"time<=\".\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 8, 24\n" + " \n" + " \n" + " \n" + " datum\n" + " String\n" + " \n" + " Location\n" + " Queries for data MUST include \"datum=\".\n" + "Different stations support different datums.\n" + "Use ERDDAP's Subset web page to find out which datums a given station supports.\n" + "\n" + "A datum is a base elevation used as a reference from which to reckon heights or\n" + "depths. The possible datums are:\n" + "DATUM DESCRIPTION\n" + "DHQ Mean Diurnal High Water Inequality\n" + "DLQ Mean Diurnal Low Water Inequality\n" + "DTL Mean Diurnal Tide Level\n" + "GT Great Diurnal Range\n" + "HWI Greenwich High Water Interval (in Hours)\n" + "LWI Greenwich Low Water Interval (in Hours)\n" + "MHHW Mean Higher-High Water\n" + "MHW Mean High Water\n" + "MLLW Mean Lower-Low Water\n" + "MLW Mean Low Water\n" + "MN Mean Range of Tide\n" + "MSL Mean Sea Level\n" + "MTL Mean Tide Level\n" + "NAVD North American Vertical Datum\n" + "STND Station Datum\n" + "\n" + " Datum\n" + " \n" + " \n" + " \n" + " waterLevel\n" + " float\n" + " \n" + " Sea Level\n" + " Water Level\n" + " m\n" + " 25, 32\n" + " sea_surface_height_amplitude_due_to_geocentric_ocean_tide\n" + " \n" + " \n" + " \n" + " type\n" + " String\n" + " \n" + " HH=Higher High water, H=High water, L=Low water, LL=Lower Low water\n" + " Sea Level\n" + " Designation of Water level Height\n" + " 35, 37\n" + " \n" + " \n" + " \n" + " I\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=not inferred, 1=inferred\n" + " Inferred Flag\n" + " 40, 41\n" + " \n" + " \n" + " \n" + " L\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=either the maximum or minimum expected water level height limit was exceeded\n" + " Limit Flag\n" + " 42, 43\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsWLTPHL() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsWLTPHL()); } private static String xmlFragment_nosCoopsWLTPHL() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/highlowtidepred/plain/response.jsp?unit=1&timeZone=1&datum=0&metadata=yes&Submit=Submit\n" + " &time%3E=now&time%3C=now+7days&stationName=%22San%20Francisco%22&datum=%22MLLW%22\n" + " time,waterLevel&time%3E=now&time%3C=now+7days&stationName=%22San%20Francisco%22&datum=%22MLLW%22&.draw=lines\n" + " GMT\n" + " MLLW\n" + " Meters\n" + " <b>Date Time Pred Type</b>\n" + " <pre>\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " \n" + "Earth Science > Oceans > Coastal Processes > Tidal Height,\n" + "Earth Science > Oceans > Sea Surface Topography > Sea Surface Height,\n" + "Earth Science > Oceans > Tides > Tidal Height,\n" + "amplitude, co-ops, coastal, data, datum, deployment, designation, due, geocentric, height, high, identifier, level, low, name, noaa, nos, ocean, oceans, ops, prediction, processes, sea, sea level, sea_surface_height_amplitude_due_to_geocentric_ocean_tide, seawater, shef_id, shefID, station, surface, tidal, tide, tides, time, topography, water\n" + " GCMD Science Keywords\n" + " \n" + "The official Tide and Tidal Current prediction tables are published annually on\n" + "October 1, for the following calendar year. Tide and Tidal Current predictions\n" + "generated prior to the publishing date of the official tables are subject to\n" + "change. The enclosed data are based upon the latest information available as of\n" + "the date of your request. Tide and Tidal Current predictions generated may\n" + "differ from the official predictions if information for the station requested\n" + "has been updated since the publishing date of the official tables.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has High Low Tide Predictions from NOAA NOS Center for Operational\n" + "Oceanographic Products and Services (CO-OPS).\n" + "\n" + "The official Tide and Tidal Current prediction tables are published annually on\n" + "October 1, for the following calendar year. Tide and Tidal Current predictions\n" + "generated prior to the publishing date of the official tables are subject to\n" + "change. The enclosed data are based upon the latest information available as of\n" + "the date of your request. Tide and Tidal Current predictions generated may\n" + "differ from the official predictions if information for the station requested\n" + "has been updated since the publishing date of the official tables.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID=, time>= and time<=.\n" + " Queries MUST be for less than 30 days worth of data.\n" + "* This dataset only returns data for the MLLW (Mean Lower-Low Water) datum.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Try revising the request (e.g., a different time range).\n" + " * The list of stations offering this data may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Water Level Data, High Low Tide Prediction\n" + " \n" + "\n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and \"time<=\".\n" + " Time\n" + " MM/dd/yyyy HH:mm\n" + " 0, 10\n" + " \n" + " \n" + " \n" + " =\"MLLW\"\n" + " datum\n" + " String\n" + " \n" + " Location\n" + " This dataset only returns data with the MLLW (Mean Lower-Low Water) datum.\n" + " Datum\n" + " \n" + " \n" + " \n" + " waterLevel\n" + " float\n" + " \n" + " Sea Level\n" + " Water Level\n" + " m\n" + " sea_surface_height_amplitude_due_to_geocentric_ocean_tide\n" + " \n" + " \n" + " \n" + " type\n" + " String\n" + " \n" + " H=High water, L=Low water\n" + " Sea Level\n" + " Designation of Water Level Height\n" + " 11, 10000\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsWLTP6() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsWLTP6()); } private static String xmlFragment_nosCoopsWLTP6() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/predictions/plain/response.jsp?unit=0&timeZone=0&datum=0&dataInterval=6&metadata=yes&Submit=Submit\n" + " &time%3E=now&time%3C=now+7days&stationName=%22San%20Francisco%22&datum=%22MLLW%22\n" + " time,predictedWL&time%3E=now&time%3C=now+7days&stationName=%22San%20Francisco%22&datum=%22MLLW%22&.draw=lines\n" + " GMT\n" + " MLLW\n" + " Meters\n" + " 6 Min\n" + " <b>ID Date Time Pred </b> <pre>\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " 6-minute,\n" + "Earth Science > Oceans > Coastal Processes > Tidal Height,\n" + "Earth Science > Oceans > Sea Surface Topography > Sea Surface Height,\n" + "Earth Science > Oceans > Tides > Tidal Height,\n" + "amplitude, co-ops, coastal, data, datum, deployment, designation, due, geocentric, height, identifier, level, minute, name, noaa, nos, ocean, oceans, ops, predicted, prediction, processes, sea, sea level, sea_surface_height_amplitude_due_to_geocentric_ocean_tide, seawater, shef_id, shefID, station, surface, tidal, tide, tides, time, topography, water\n" + " GCMD Science Keywords\n" + " \n" + "The official Tide and Tidal Current prediction tables are published annually on\n" + "October 1, for the following calendar year. Tide and Tidal Current predictions\n" + "generated prior to the publishing date of the official tables are subject to\n" + "change. The enclosed data are based upon the latest information available as of\n" + "the date of your request. Tide and Tidal Current predictions generated may\n" + "differ from the official predictions if information for the station requested\n" + "has been updated since the publishing date of the official tables.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has High Low Tide Predictions from NOAA NOS Center for Operational\n" + "Oceanographic Products and Services (CO-OPS).\n" + "\n" + "The official Tide and Tidal Current prediction tables are published annually on\n" + "October 1, for the following calendar year. Tide and Tidal Current predictions\n" + "generated prior to the publishing date of the official tables are subject to\n" + "change. The enclosed data are based upon the latest information available as of\n" + "the date of your request. Tide and Tidal Current predictions generated may\n" + "differ from the official predictions if information for the station requested\n" + "has been updated since the publishing date of the official tables.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID=, time>= and time<=.\n" + " Queries MUST be for less than 30 days worth of data.\n" + "* This dataset only returns data for the MLLW (Mean Lower-Low Water) datum.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Try revising the request (e.g., a different time range).\n" + " * The list of stations offering this data may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Water Level Data, Tide Prediction, 6-Minute\n" + " \n" + "\n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and \"time<=\".\n" + " Time\n" + " MM/dd/yyyy HH:mm\n" + " 9, 25\n" + " \n" + " \n" + " \n" + " =\"MLLW\"\n" + " datum\n" + " String\n" + " \n" + " Location\n" + " This dataset only returns data with the MLLW (Mean Lower-Low Water) datum.\n" + " Datum\n" + " \n" + " \n" + " \n" + " predictedWL\n" + " float\n" + " \n" + " Sea Level\n" + " Predicted Water Level\n" + " m\n" + " 26, 40\n" + " sea_surface_height_amplitude_due_to_geocentric_ocean_tide\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsWLTP60() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsWLTP60()); } private static String xmlFragment_nosCoopsWLTP60() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/predictions/plain/response.jsp?unit=0&timeZone=0&datum=0&dataInterval=60&metadata=yes&Submit=Submit\n" + " &time%3E=now&time%3C=now+7days&stationName=%22San%20Francisco%22&datum=%22MLLW%22\n" + " time,predictedWL&time%3E=now&time%3C=now+7days&stationName=%22San%20Francisco%22&datum=%22MLLW%22&.draw=lines\n" + " GMT\n" + " MLLW\n" + " Meters\n" + " 60 Min\n" + " <b>ID Date Time Pred </b> <pre>\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude, datum\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " 60-minute,\n" + "Earth Science > Oceans > Coastal Processes > Tidal Height,\n" + "Earth Science > Oceans > Sea Surface Topography > Sea Surface Height,\n" + "Earth Science > Oceans > Tides > Tidal Height,\n" + "amplitude, co-ops, coastal, data, datum, deployment, designation, due, geocentric, height, identifier, level, minute, name, noaa, nos, ocean, oceans, ops, predicted, prediction, processes, sea, sea level, sea_surface_height_amplitude_due_to_geocentric_ocean_tide, seawater, shef_id, shefID, station, surface, tidal, tide, tides, time, topography, water\n" + " GCMD Science Keywords\n" + " \n" + "The official Tide and Tidal Current prediction tables are published annually on\n" + "October 1, for the following calendar year. Tide and Tidal Current predictions\n" + "generated prior to the publishing date of the official tables are subject to\n" + "change. The enclosed data are based upon the latest information available as of\n" + "the date of your request. Tide and Tidal Current predictions generated may\n" + "differ from the official predictions if information for the station requested\n" + "has been updated since the publishing date of the official tables.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has High Low Tide Predictions from NOAA NOS Center for Operational\n" + "Oceanographic Products and Services (CO-OPS).\n" + "\n" + "The official Tide and Tidal Current prediction tables are published annually on\n" + "October 1, for the following calendar year. Tide and Tidal Current predictions\n" + "generated prior to the publishing date of the official tables are subject to\n" + "change. The enclosed data are based upon the latest information available as of\n" + "the date of your request. Tide and Tidal Current predictions generated may\n" + "differ from the official predictions if information for the station requested\n" + "has been updated since the publishing date of the official tables.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID=, time>= and time<=.\n" + " Queries MUST be for less than 30 days worth of data.\n" + "* This dataset only returns data for the MLLW (Mean Lower-Low Water) datum.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Try revising the request (e.g., a different time range).\n" + " * The list of stations offering this data may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Water Level Data, Tide Prediction, 60-Minute\n" + " \n" + "\n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and \"time<=\".\n" + " Time\n" + " MM/dd/yyyy HH:mm\n" + " 9, 25\n" + " \n" + " \n" + " \n" + " =\"MLLW\"\n" + " datum\n" + " String\n" + " \n" + " Location\n" + " This dataset only returns data with the MLLW (Mean Lower-Low Water) datum.\n" + " Datum\n" + " \n" + " \n" + " \n" + " predictedWL\n" + " float\n" + " \n" + " Sea Level\n" + " Predicted Water Level\n" + " m\n" + " 26, 40\n" + " sea_surface_height_amplitude_due_to_geocentric_ocean_tide\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsMAT() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsMAT()); } private static String xmlFragment_nosCoopsMAT() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/airtemperature/plain/response.jsp?timeZone=0&metadata=yes&Submit=Submit\n" + " &time%3E=now-7days&time%3C=now&stationName=%22San%20Francisco%22\n" + " time,AT&time%3E=now-7days&time%3C=now&stationName=%22San%20Francisco%22&.draw=lines\n" + " GMT\n" + " Degrees Centigrade\n" + " <b>ID D S Date Time AT X N R</b> <pre>\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " Atmosphere > Atmospheric Temperature > Surface Air Temperature,\n" + "Earth Science > Atmosphere > Atmospheric Temperature > Air Temperature,\n" + "air, air_temperature, atmosphere, atmospheric, co-ops, collection, data, date, deployment, designation, established, flag, identifier, limit, meteorological, minute, name, noaa, nos, ops, platform, sensor, shef_id, shefID, state, station, temperature, time\n" + " GCMD Science Keywords\n" + " \n" + "These preliminary data have not been subjected to the National Ocean Services\n" + "(NOS) Quality Control procedures, and do not necessarily meet the criteria and\n" + "standards of official NOS data. They are released for limited public use with\n" + "appropriate caution.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has Air Temperature data from NOAA NOS Center for Operational\n" + "Oceanographic Products and Services (CO-OPS).\n" + "\n" + "WARNING: These preliminary data have not been subjected to the National Ocean\n" + "Services (NOS) Quality Control procedures, and do not necessarily meet the\n" + "criteria and standards of official NOS data. They are released for limited\n" + "public use with appropriate caution.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID= and time>=.\n" + "* Queries USUALLY include time<= (the default end time corresponds to 'now').\n" + "* Queries MUST be for less than 30 days worth of data.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Try revising the request (e.g., a different time range).\n" + " * The list of stations offering this data may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Meteorological Data, Air Temperature, 6-Minute\n" + " \n" + "\n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and USUALLY include \"time<=\"\n" + "(the default end time corresponds to 'now').\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 13, 29\n" + " \n" + " \n" + " \n" + " dcp\n" + " String\n" + " \n" + " Identifier\n" + " A one character identifier for the data collection platform (DCP) at a station.\n" + " Data Collection Platform\n" + " 8, 9\n" + " \n" + " \n" + " \n" + " sensor\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " Sensor ID\n" + " 10, 12\n" + " \n" + " \n" + " \n" + " AT\n" + " float\n" + " \n" + " -10\n" + " 40\n" + " Temperature\n" + " Air Temperature\n" + " 30, 39\n" + " air_temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " X\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the maximum expected air temperature was exceeded\n" + " Limit Flag\n" + " 40, 41\n" + " \n" + " \n" + " \n" + " N\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the minimum expected air temperature was exceeded\n" + " Limit Flag\n" + " 42, 43\n" + " \n" + " \n" + " \n" + " R\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the rate of change tolerance limit was exceeded\n" + " Limit Flag\n" + " 44, 45\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsMBP() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsMBP()); } private static String xmlFragment_nosCoopsMBP() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/barometricpressure/plain/response.jsp?timeZone=0&metadata=yes&Submit=Submit\n" + " &time%3E=now-7days&time%3C=now&stationName=%22San%20Francisco%22\n" + " time,BP&time%3E=now-7days&time%3C=now&stationName=%22San%20Francisco%22&.draw=lines\n" + " GMT\n" + " Millibars\n" + " <b>ID D S Date Time BP X N R</b> <pre>\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " 6-minute,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Atmospheric Pressure Measurements,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Sea Level Pressure,\n" + "Earth Science > Atmosphere > Atmospheric Pressure > Static Pressure,\n" + "air, air_pressure, atmosphere, atmospheric, barometric, co-ops, collection, data, date, deployment, designation, established, flag, identifier, level, limit, measurements, meteorological, minute, name, noaa, nos, ops, platform, pressure, sea, sensor, shef_id, shefID, state, static, station, time\n" + " GCMD Science Keywords\n" + " \n" + "These preliminary data have not been subjected to the National Ocean Services\n" + "(NOS) Quality Control procedures, and do not necessarily meet the criteria and\n" + "standards of official NOS data. They are released for limited public use with\n" + "appropriate caution.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has Barometric Pressure data from NOAA NOS Center for Operational\n" + "Oceanographic Products and Services (CO-OPS).\n" + "\n" + "WARNING: These preliminary data have not been subjected to the National Ocean\n" + "Services (NOS) Quality Control procedures, and do not necessarily meet the\n" + "criteria and standards of official NOS data. They are released for limited\n" + "public use with appropriate caution.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID= and time>=.\n" + "* Queries USUALLY include time<= (the default end time corresponds to 'now').\n" + "* Queries MUST be for less than 30 days worth of data.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Try revising the request (e.g., a different time range).\n" + " * The list of stations offering this data may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Meteorological Data, Barometric Pressure, 6-Minute\n" + " \n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and USUALLY include \"time<=\"\n" + "(the default end time corresponds to 'now').\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 13, 29\n" + " \n" + " \n" + " \n" + " dcp\n" + " String\n" + " \n" + " Identifier\n" + " A one character identifier for the data collection platform (DCP) at a station.\n" + " Data Collection Platform\n" + " 8, 9\n" + " \n" + " \n" + " \n" + " sensor\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " Sensor ID\n" + " 10, 12\n" + " \n" + " \n" + " \n" + " BP\n" + " float\n" + " \n" + " 950\n" + " 1050\n" + " Pressure\n" + " Barometric Pressure\n" + " air_pressure\n" + " hPa\n" + " 30, 39\n" + " \n" + " \n" + " \n" + " X\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the maximum expected barometric pressure was exceeded\n" + " Limit Flag\n" + " 40, 41\n" + " \n" + " \n" + " \n" + " N\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the minimum expected barometric pressure was exceeded\n" + " Limit Flag\n" + " 42, 43\n" + " \n" + " \n" + " \n" + " R\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the rate of change tolerance limit was exceeded\n" + " Limit Flag\n" + " 44, 45\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsMC() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsMC()); } private static String xmlFragment_nosCoopsMC() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/conductivity/plain/response.jsp?timeZone=0&metadata=yes&Submit=Submit\n" + " &time%3E=now-7days&time%3C=now&stationName=%22Newport%22\n" + " time,CN&time%3E=now-7days&time%3C=now&stationName=%22Newport%22&.draw=lines\n" + " GMT\n" + " mS/cm\n" + " <b>ID D S Date Time CN X N R</b> <pre>\n" + " </pre>\n" + " No data was found\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " 6-minute,\n" + "Earth Science > Oceans > Salinity/Density > Conductivity,\n" + "co-ops, collection, conductivity, data, date, established, density, deployment, designation, electrical, flag, identifier, limit, meteorological, minute, name, noaa, nos, oceans, ops, platform, salinity, sea, sea_water_electrical_conductivity, seawater, sensor, shef_id, shefID, state, station, time, water\n" + " GCMD Science Keywords\n" + " NOAA NOS CO-OPS\n" + " \n" + "These preliminary data have not been subjected to the National Ocean Services\n" + "(NOS) Quality Control procedures, and do not necessarily meet the criteria and\n" + "standards of official NOS data. They are released for limited public use with\n" + "appropriate caution.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has Conductivity data from NOAA NOS Center for Operational\n" + "Oceanographic Products and Services (CO-OPS).\n" + "\n" + "WARNING: These preliminary data have not been subjected to the National Ocean\n" + "Services (NOS) Quality Control procedures, and do not necessarily meet the\n" + "criteria and standards of official NOS data. They are released for limited\n" + "public use with appropriate caution.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID= and time>=.\n" + "* Queries USUALLY include time<= (the default end time corresponds to 'now').\n" + "* Queries MUST be for less than 30 days worth of data.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Try revising the request (e.g., a different time range).\n" + " * The list of stations offering this data may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Meteorological Data, Conductivity, 6-Minute\n" + " \n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and USUALLY include \"time<=\"\n" + "(the default end time corresponds to 'now').\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 13, 29\n" + " \n" + " \n" + " \n" + " dcp\n" + " String\n" + " \n" + " Identifier\n" + " A one character identifier for the data collection platform (DCP) at a station.\n" + " Data Collection Platform\n" + " 8, 9\n" + " \n" + " \n" + " \n" + " sensor\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " Sensor ID\n" + " 10, 12\n" + " \n" + " \n" + " \n" + " CN\n" + " float\n" + " \n" + " 0.0\n" + " 40.0\n" + " Salinity\n" + " Electrical Conductivity\n" + " sea_water_electrical_conductivity\n" + " mS/cm\n" + " 30, 39\n" + " \n" + " \n" + " \n" + " X\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the maximum expected conductivity was exceeded\n" + " Limit Flag\n" + " 40, 41\n" + " \n" + " \n" + " \n" + " N\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the minimum expected conductivity was exceeded\n" + " Limit Flag\n" + " 42, 43\n" + " \n" + " \n" + " \n" + " R\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the rate of change tolerance limit was exceeded\n" + " Limit Flag\n" + " 44, 45\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsMRF() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsMRF()); } private static String xmlFragment_nosCoopsMRF() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/rainfall/plain/response.jsp?timeZone=0&metadata=yes&Submit=Submit\n" + " &time%3E=now-77days&time%3C=now-70days&stationName=%22Mayaguez%22\n" + " time,RF&time%3E=now-77days&time%3C=now-70days&stationName=%22Mayaguez%22&.draw=lines\n" + " GMT\n" + " millimeters\n" + " <b>ID D S Date Time RF X R</b> <pre>\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " 6-minute,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Convection,\n" + "Earth Science > Atmosphere > Precipitation > Precipitation Amount,\n" + "Earth Science > Atmosphere > Precipitation > Rain,\n" + "amount, atmosphere, atmospheric, co-ops, collection, convection, convective, convective_rainfall_amount, data, date, deployment, designation, established, fall, flag, identifier, limit, meteorological, meteorology, minute, name, noaa, nos, ops, platform, precipitation, rain, rainfall, sensor, shef_id, shefID, state, station, time, winds\n" + " GCMD Science Keywords\n" + " \n" + "These preliminary data have not been subjected to the National Ocean Services\n" + "(NOS) Quality Control procedures, and do not necessarily meet the criteria and\n" + "standards of official NOS data. They are released for limited public use with\n" + "appropriate caution.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has Rain Fall data from NOAA NOS Center for Operational\n" + "Oceanographic Products and Services (CO-OPS).\n" + "\n" + "WARNING: These preliminary data have not been subjected to the National Ocean\n" + "Services (NOS) Quality Control procedures, and do not necessarily meet the\n" + "criteria and standards of official NOS data. They are released for limited\n" + "public use with appropriate caution.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID= and time>=.\n" + "* Queries USUALLY include time<= (the default end time corresponds to 'now').\n" + "* Queries MUST be for less than 30 days worth of data.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Try revising the request (e.g., a different time range).\n" + " * The list of stations offering this data may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Meteorological Data, Rain Fall, 6-Minute\n" + " \n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and USUALLY include \"time<=\"\n" + "(the default end time corresponds to 'now').\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 13, 29\n" + " \n" + " \n" + " \n" + " dcp\n" + " String\n" + " \n" + " Identifier\n" + " A one character identifier for the data collection platform (DCP) at a station.\n" + " Data Collection Platform\n" + " 8, 9\n" + " \n" + " \n" + " \n" + " sensor\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " Sensor ID\n" + " 10, 12\n" + " \n" + " \n" + " \n" + " RF\n" + " float\n" + " \n" + " 127 \n" + " Meteorology\n" + " Rain Fall\n" + " convective_rainfall_amount\n" + " mm\n" + " 30, 39\n" + " \n" + " \n" + " \n" + " X\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the maximum expected rain fall was exceeded\n" + " Limit Flag\n" + " 40, 41\n" + " \n" + " \n" + " \n" + " R\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the rate of change tolerance limit was exceeded\n" + " Limit Flag\n" + " 42, 43\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsMRH() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsMRH()); } private static String xmlFragment_nosCoopsMRH() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/relativehumidity/plain/response.jsp?timeZone=0&metadata=yes&Submit=Submit\n" + " &time%3E=now-7days&time%3C=now&stationName=%22Duluth%22\n" + " time,RH&time%3E=now-7days&time%3C=now&stationName=%22Duluth%22&.draw=lines\n" + " GMT\n" + " percentage\n" + " <b>ID D S Date Time RH X N R</b> <pre>\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " 6-minute,\n" + "Earth Science > Atmosphere > Atmospheric Water Vapor > Humidity,\n" + "atmosphere, atmospheric, co-ops, collection, data, date, deployment, designation, established, flag, humidity, identifier, limit, meteorological, meteorology, minute, name, noaa, nos, ops, platform, relative, relative_humidity, sensor, shef_id, shefID, state, station, time, vapor, water\n" + " GCMD Science Keywords\n" + " \n" + "These preliminary data have not been subjected to the National Ocean Services\n" + "(NOS) Quality Control procedures, and do not necessarily meet the criteria and\n" + "standards of official NOS data. They are released for limited public use with\n" + "appropriate caution.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has Relative Humidity data from NOAA NOS Center for Operational\n" + "Oceanographic Products and Services (CO-OPS).\n" + "\n" + "WARNING: These preliminary data have not been subjected to the National Ocean\n" + "Services (NOS) Quality Control procedures, and do not necessarily meet the\n" + "criteria and standards of official NOS data. They are released for limited\n" + "public use with appropriate caution.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID= and time>=.\n" + "* Queries USUALLY include time<= (the default end time corresponds to 'now').\n" + "* Queries MUST be for less than 30 days worth of data.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Try revising the request (e.g., a different time range).\n" + " * The list of stations offering this data may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Meteorological Data, Relative Humidity, 6-Minute\n" + " \n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and USUALLY include \"time<=\"\n" + "(the default end time corresponds to 'now').\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 13, 29\n" + " \n" + " \n" + " \n" + " dcp\n" + " String\n" + " \n" + " Identifier\n" + " A one character identifier for the data collection platform (DCP) at a station.\n" + " Data Collection Platform\n" + " 8, 9\n" + " \n" + " \n" + " \n" + " sensor\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " Sensor ID\n" + " 10, 12\n" + " \n" + " \n" + " \n" + " RH\n" + " float\n" + " \n" + " 127 \n" + " 20\n" + " 100\n" + " Meteorology\n" + " Relative Humidity\n" + " relative_humidity\n" + " percent\n" + " 30, 39\n" + " \n" + " \n" + " \n" + " X\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the maximum expected relative humidity was exceeded\n" + " Limit Flag\n" + " 40, 41\n" + " \n" + " \n" + " \n" + " N\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the minimum expected relative humidity was exceeded\n" + " Limit Flag\n" + " 42, 43\n" + " \n" + " \n" + " \n" + " R\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the rate of change tolerance limit was exceeded\n" + " Limit Flag\n" + " 44, 45\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsMWT() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsMWT()); } private static String xmlFragment_nosCoopsMWT() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/watertemperature/plain/response.jsp?timeZone=0&metadata=yes&Submit=Submit\n" + " &time%3E=now-1days&time%3C=now&stationName=%22San%20Francisco%22\n" + " time,WT&time%3E=now-1days&time%3C=now&stationName=%22San%20Francisco%22&.draw=lines\n" + " GMT\n" + " Degrees Centigrade\n" + " <b>ID D S Date Time WT X N R</b> <pre>\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " 6-minute,\n" + "Earth Science > Oceans > Ocean Temperature > Water Temperature,\n" + "co-ops, collection, data, date, deployment, designation, established, flag, identifier, limit, meteorological, minute, name, noaa, nos, ocean, oceans, ops, platform, sea, sea_water_temperature, seawater, sensor, shef_id, shefID, state, station, temperature, time, water\n" + " GCMD Science Keywords\n" + " \n" + "These preliminary data have not been subjected to the National Ocean Services\n" + "(NOS) Quality Control procedures, and do not necessarily meet the criteria and\n" + "standards of official NOS data. They are released for limited public use with\n" + "appropriate caution.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has Water Temperature data from NOAA NOS Center for Operational\n" + "Oceanographic Products and Services (CO-OPS).\n" + "\n" + "WARNING: These preliminary data have not been subjected to the National Ocean\n" + "Services (NOS) Quality Control procedures, and do not necessarily meet the\n" + "criteria and standards of official NOS data. They are released for limited\n" + "public use with appropriate caution.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID= and time>=.\n" + "* Queries USUALLY include time<= (the default end time corresponds to 'now').\n" + "* Queries MUST be for less than 30 days worth of data.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Try revising the request (e.g., a different time range).\n" + " * The list of stations offering this data may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Meteorological Data, Water Temperature, 6-Minute\n" + " \n" + "\n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and USUALLY include \"time<=\"\n" + "(the default end time corresponds to 'now').\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 13, 29\n" + " \n" + " \n" + " \n" + " dcp\n" + " String\n" + " \n" + " Identifier\n" + " A one character identifier for the data collection platform (DCP) at a station.\n" + " Data Collection Platform\n" + " 8, 9\n" + " \n" + " \n" + " \n" + " sensor\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " Sensor ID\n" + " 10, 12\n" + " \n" + " \n" + " \n" + " WT\n" + " float\n" + " \n" + " 0.0\n" + " 32.0\n" + " Temperature\n" + " Sea Water Temperature\n" + " sea_water_temperature\n" + " degree_C\n" + " 30, 39\n" + " \n" + " \n" + " \n" + " X\n" + " byte\n" + " \n" + " 127 \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the maximum expected water temperature was exceeded\n" + " Limit Flag\n" + " 40, 41\n" + " \n" + " \n" + " \n" + " N\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the minimum expected water temperature was exceeded\n" + " Limit Flag\n" + " 42, 43\n" + " \n" + " \n" + " \n" + " R\n" + " byte\n" + " \n" + " 127 \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the rate of change tolerance limit was exceeded\n" + " Limit Flag\n" + " 44, 45\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsMW() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsMW()); } private static String xmlFragment_nosCoopsMW() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/wind/plain/response.jsp?timeZone=0&metadata=yes&Submit=Submit\n" + " &time%3E=now-7days&time%3C=now&stationName=%22San%20Francisco%22\n" + " time,WS&time%3E=now-7days&time%3C=now&stationName=%22San%20Francisco%22&.draw=lines\n" + " GMT\n" + " Wind speed and gust in meters per second, Wind direction in degrees\n" + " <b>ID D S Date Time WS WD WG X R</b> <pre>\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " 6-minute,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "atmosphere, atmospheric, co-ops, collection, data, date, deployment, designation, direction, established, flag, from, gust, identifier, limit, meteorological, minute, name, noaa, nos, ops, platform, sensor, shef_id, shefID, speed, state, station, surface, time, wind, wind_from_direction, wind_speed, wind_speed_of_gust, winds\n" + " GCMD Science Keywords\n" + " \n" + "These preliminary data have not been subjected to the National Ocean Services\n" + "(NOS) Quality Control procedures, and do not necessarily meet the criteria and\n" + "standards of official NOS data. They are released for limited public use with\n" + "appropriate caution.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has Wind data from NOAA NOS Center for Operational Oceanographic\n" + "Products and Services (CO-OPS).\n" + "\n" + "WARNING: These preliminary data have not been subjected to the National Ocean\n" + "Services (NOS) Quality Control procedures, and do not necessarily meet the\n" + "criteria and standards of official NOS data. They are released for limited\n" + "public use with appropriate caution.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID= and time>=.\n" + "* Queries USUALLY include time<= (the default end time corresponds to 'now').\n" + "* Queries MUST be for less than 30 days worth of data.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Try revising the request (e.g., a different time range).\n" + " * The list of stations offering this data may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Meteorological Data, Wind, 6-Minute\n" + " \n" + "\n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and USUALLY include \"time<=\"\n" + "(the default end time corresponds to 'now').\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 13, 29\n" + " \n" + " \n" + " \n" + " dcp\n" + " String\n" + " \n" + " Identifier\n" + " A one character identifier for the data collection platform (DCP) at a station.\n" + " Data Collection Platform\n" + " 8, 9\n" + " \n" + " \n" + " \n" + " sensor\n" + " String\n" + " \n" + " Identifier\n" + " \n" + " Sensor ID\n" + " 10, 12\n" + " \n" + " \n" + " \n" + " WS\n" + " float\n" + " \n" + " 0\n" + " 15\n" + " Wind\n" + " Wind Speed\n" + " wind_speed\n" + " m s-1\n" + " 30, 37\n" + " \n" + " \n" + " \n" + " WD\n" + " float\n" + " \n" + " 0\n" + " 360\n" + " Wind\n" + " Wind From Direction\n" + " wind_from_direction\n" + " degrees_true\n" + " 38, 45\n" + " \n" + " \n" + " \n" + " WG\n" + " float\n" + " \n" + " 0\n" + " 30\n" + " Wind\n" + " Wind Speed of Gust\n" + " wind_speed_of_gust\n" + " m s-1\n" + " 46, 53\n" + " \n" + " \n" + " \n" + " X\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the maximum expected wind speed was exceeded\n" + " Limit Flag\n" + " 56, 57\n" + " \n" + " \n" + " \n" + " R\n" + " byte\n" + " \n" + " 127 \n" + " Quality\n" + " 0=okay, 1=the rate of change tolerance limit was exceeded\n" + " Limit Flag\n" + " 58, 59\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsMV() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsMV()); } private static String xmlFragment_nosCoopsMV() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/visibility/plain/response.jsp?timeZone=0&metadata=yes&Submit=Submit\n" + " &time%3E=now-7days&time%3C=now&stationName=%22Pier%2017%2C%20San%20Francisco%20Bay%22\n" + " time,Vis&time%3E=now-7days&time%3C=now&stationName=%22Pier%2017%2C%20San%20Francisco%20Bay%22&.draw=lines\n" + " Nautical Miles (NM)\n" + " <b>Date Time Vis</b> <pre>\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " stationID, stationName, state, dateEstablished, shefID, deployment, longitude, latitude\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " 6-minute,\n" + "Earth Science > Atmosphere > Air Quality > Visibility,\n" + "air, atmosphere, co-ops, data, date, deployment, designation, established, identifier, meteorological, meteorology, minute, name, noaa, nos, ops, quality, shef_id, shefID, state, station, time, visibility, visibility_in_air\n" + " GCMD Science Keywords\n" + " \n" + "These preliminary data have not been subjected to the National Ocean Services\n" + "(NOS) Quality Control procedures, and do not necessarily meet the criteria and\n" + "standards of official NOS data. They are released for limited public use with\n" + "appropriate caution.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has Visibility data from NOAA NOS Center for Operational\n" + "Oceanographic Products and Services (CO-OPS).\n" + "\n" + "WARNING: These preliminary data have not been subjected to the National Ocean\n" + "Services (NOS) Quality Control procedures, and do not necessarily meet the\n" + "criteria and standards of official NOS data. They are released for limited\n" + "public use with appropriate caution.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID= and time>=.\n" + "* Queries USUALLY include time<= (the default end time corresponds to 'now').\n" + "* Queries MUST be for less than 30 days worth of data.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Try revising the request (e.g., a different time range).\n" + " * The list of stations offering this data may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Meteorological Data, Visibility, 6-Minute\n" + " \n" + "\n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " state\n" + " String\n" + " \n" + " Location\n" + " State\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " shefID\n" + " String\n" + " \n" + " Identifier\n" + " A.K.A. NWS Location Identifier (NWSLI)\n" + " SHEF ID\n" + " \n" + " \n" + " \n" + " deployment\n" + " String\n" + " \n" + " Identifier\n" + " Deployment Designation\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and USUALLY include \"time<=\"\n" + "(the default end time corresponds to 'now').\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 0, 16\n" + " \n" + " \n" + " \n" + " Vis\n" + " float\n" + " \n" + " 0\n" + " 5\n" + " Meteorology\n" + " Visibility in Air\n" + " visibility_in_air\n" + " nautical_miles\n" + " 17, 25\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsCA() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsCA()); } private static String xmlFragment_nosCoopsCA() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/axis/webservices/currents/plain/response.jsp?metadata=yes&Submit=Submit\n" + " &time%3E=now-2days&time%3C=now&stationName=%22Philadelphia%22\n" + " time,CS&time%3E=now-2days&time%3C=now&stationName=%22Philadelphia%22&.draw=lines\n" + " GMT\n" + " Current speed (knots)\n" + " Current direction (degrees true)\n" + " <b>Date Time CS CD</b> \n" + " <pre>\n" + " </pre>\n" + " no data is available\n" + " 43200\n" + " \n" + " TimeSeries\n" + " stationID, stationName, dateEstablished, longitude, latitude\n" + " stationID, stationName, dateEstablished, longitude, latitude\n" + " NOAA NOS COOPS\n" + " COOPS.IOOS@noaa.gov\n" + " institution\n" + " https://tidesandcurrents.noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://tidesandcurrents.noaa.gov\n" + " NOAA NOS CO-OPS\n" + " 6-minute,\n" + "Earth Science > Oceans > Ocean Circulation > Ocean Currents,\n" + "active, circulation, co-ops, current, currents, data, date, direction, direction_of_sea_water_velocity, established, identifier, minute, name, noaa, nos, ocean, oceans, ops, sea, sea_water_speed, seawater, speed, station, time, velocity, water\n" + " GCMD Science Keywords\n" + " \n" + "These raw data have not been subjected to the National Ocean Services (NOS)\n" + "Quality Control procedures, and do not necessarily meet the criteria and\n" + "standards of official NOS data. They are released for limited public use with\n" + "appropriate caution.\n" + "\n" + "[standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + "This dataset has surface Active Currents data from NOAA NOS Center for\n" + "Operational Oceanographic Products and Services (CO-OPS).\n" + "\n" + "WARNING: These raw data have not been subjected to the National Ocean Services\n" + "(NOS) Quality Control procedures, and do not necessarily meet the criteria and\n" + "standards of official NOS data. They are released for limited public use with\n" + "appropriate caution.\n" + "\n" + "WARNING:\n" + "* Queries for data MUST include stationID= and time>=.\n" + "* Queries USUALLY include time<= (the default end time corresponds to 'now').\n" + "* Queries MUST be for less than 30 days worth of data.\n" + "* The data source isn't completely reliable. If your request returns no data\n" + " when you think it should:\n" + " * Try revising the request (e.g., a different time range).\n" + " * The list of stations offering this data may be incorrect.\n" + " * Sometimes a station or the entire data service is unavailable.\n" + " Wait a while and try again.\n" + "\n" + " NOS CO-OPS Active Currents Data, 6-Minute\n" + " \n" + "\n" + " \n" + " stationID\n" + " String\n" + " \n" + " Identifier\n" + " Queries for data MUST include \"stationID=\".\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " stationName\n" + " String\n" + " \n" + " Identifier\n" + " Station Name\n" + " \n" + " \n" + " \n" + " dateEstablished\n" + " double\n" + " \n" + " Time\n" + " Date Established\n" + " 1970-01-01\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " longitude\n" + " double\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " latitude\n" + " double\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " time\n" + " String\n" + " \n" + " Time\n" + " Queries for data MUST include \"time>=\" and USUALLY include \"time<=\"\n" + "(the default end time corresponds to 'now').\n" + " Time\n" + " yyyy-MM-dd HH:mm\n" + " 0, 16\n" + " \n" + " \n" + " \n" + " CS\n" + " float\n" + " \n" + " -1\n" + " 1\n" + " Currents\n" + " Current Speed\n" + " sea_water_speed\n" + " knots\n" + " 17, 25\n" + " \n" + " \n" + " \n" + " CD\n" + " float\n" + " \n" + " 0\n" + " 360\n" + " Currents\n" + " Current Direction\n" + " direction_of_sea_water_velocity\n" + " degrees_true\n" + " 26, 34\n" + " \n" + " \n" + "\n"; } public static EDD getcimtPsdac() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_cimtPsdac()); } private static String xmlFragment_cimtPsdac() { return "\n" + " http://cimt.dyndns.org:8080/dods/drds/vCTD\n" + " 10\n" + " vCTD\n" + " \n" + " \n" + " TimeSeries\n" + " station, longitude, latitude\n" + " station, longitude, latitude\n" + " Center for Integrated Marine Technology\n" + " http://cimt.dyndns.org:8080/dods/drds/vCTD.info\n" + " Oceans > Salinity/Density > Salinity\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " PSDAC File\n" + " Center for Integrated Marine Technology\n" + " \n" + " \n" + " station\n" + " \n" + " null\n" + " Location\n" + " Station ID\n" + " timeseries_id\n" + " \n" + " \n" + " \n" + " longitude\n" + " longitude\n" + " \n" + " \n" + " latitude\n" + " latitude\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " yyyy-MM-dd HH:mm:ss.S\n" + " \n" + " \n" + " \n" + " depth\n" + " \n" + " \n" + " \n" + " \n" + " temperature\n" + " waterTemperature\n" + " \n" + " null\n" + " Temperature\n" + " Sea Water Temperature\n" + " degree_C\n" + " \n" + " \n" + " \n" + " salinity\n" + " \n" + " null\n" + " Salinity\n" + " Sea Water Salinity\n" + " \n" + " \n" + "\n"; } public static EDD getnwioosGroundfish() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nwioosGroundfish()); } private static String xmlFragment_nwioosGroundfish() { return " \n" + " http://nwioos.coas.oregonstate.edu:8080/dods/drds/Groundfish%20Survey%202003-2006\n" + " FRAM_SURVEY_CATCH\n" + " \n" + " \n" + " \n" + " Trajectory\n" + " haul_id\n" + " haul_id, longitude, latitude, time, common_name, scientific_name, position_description\n" + " NWFSC Groundfish Data for U.S. West Coast (2003-2005)\n" + " \n" + "The data available for downloading is summarized data from the 2003-2005\n" + "U.S. West Coast Bottom Trawl Survey (WCGTS) of Groundfish Resources off\n" + "Washington, Oregon and California.\n" + "\n" + "The Northwest Fisheries Science Center's Fishery Resource Analysis and\n" + "Monitoring Division (FRAM) completed the sixth in an annual series of\n" + "groundfish bottom trawl surveys in 2003. The survey was conducted June\n" + "24 to October 23, 2003 and targeted the commercial groundfish resources\n" + "inhabiting depths of 55 to 1,280 meters [m], (30 - 700 fathoms [fm])\n" + "from the area off Cape Flattery, Washington (latitude [lat.] 48�10'N)\n" + "to the U.S.-Mexican border (lat. 32�30'N) using chartered West Coast\n" + "commercial trawlers. These ongoing series of annual surveys, conducted\n" + "by FRAM since 1998, are designed to monitor long-term trends in\n" + "distribution and abundance of west coast groundfish, especially those\n" + "species of management concern. The 2003 survey represents the first\n" + "year in which the depth range was expanded to include both the\n" + "continental shelf (55 - 183 m) and continental slope (183 - 1,280 m)\n" + "area and the first year in which a stratified-random sampling design\n" + "was adopted.\n" + "\n" + "In 2003, a total of 574 successful tows were completed out of 643\n" + "attempts. Simrad ITI net mensuration data, as well as global\n" + "positioning system (GPS) navigation data and bottom contact sensor\n" + "data, used to document performance (e.g. bottom tending), were\n" + "obtained for most tows.\n" + "\n" + "An Aberdeen-style net with a small mesh (2\" stretched measure or less)\n" + "liner in the codend (to retain smaller specimens) was used to sample\n" + "fish biomass. Target duration of each tow was 15 minutes. Tow\n" + "duration was the time between touchdown and lift-off of the trawl net\n" + "from the seafloor based on readings from bottom contact sensors.\n" + "\n" + "Catches were sorted to species, aggregate or other appropriate\n" + "taxonomic level and then weighed using an electronic,\n" + "motion-compensated scale. A total of 517 species or families (fish\n" + "and invertebrates) were identified within the survey area. Although\n" + "biological sampling effort continues to include Dover sole\n" + "(Microstomus pacificus), shortspine thornyhead (Sebastolobus\n" + "alascanus), longspine thornyhead (Sebastolobus altivelis), and\n" + "sablefish (Anoplopoma fimbria), focus has increasingly shifted to\n" + "encompass all groundfish species of management concern. Up to 100\n" + "length measurements, sex determinations, and individual weights\n" + "and up to 25 age structures were collected per haul for these species.\n" + "\n" + " NOAA NWFSC\n" + " http://nwioos.coas.oregonstate.edu:8080/dods/drds/Groundfish%20Survey%202003-2005.info\n" + " \n" + "Earth Science > Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Earth Science > Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "Earth Science > Biological Classification > Animals/Vertebrates > Fish,\n" + "Earth Science > Oceans > Aquatic Sciences > Fisheries,\n" + "2003-2005, abundance, beginning, catch, coast, common, data, description, fish, fish abundance, groundfish, haul, identifier, legend, map, max, min, name, noaa, nwfsc, position, range, scientific, survey, taxonomy, time, u.s., west, west coast, year\n" + " GCMD Science Keywords\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " \n" + " \n" + " \n" + " HAUL_ID\n" + " haul_id\n" + " \n" + " \n" + " 200303001600 200503009536\n" + " \n" + " Identifier\n" + " Haul Identifier\n" + " trajectory_id\n" + " \n" + " \n" + " \n" + " HAUL_LONGITUDE_DD\n" + " longitude\n" + " \n" + " -125.8555 -117.2767\n" + " -135\n" + " -115\n" + " \n" + " \n" + " \n" + " \n" + " HAUL_LATITUDE_DD\n" + " latitude\n" + " \n" + " 32.5708 48.4525\n" + " 30\n" + " 55\n" + " \n" + " \n" + " \n" + " \n" + " SURVEY_YEAR\n" + " time\n" + " \n" + " Time\n" + " Time (Beginning of Survey Year)\n" + " yyyy\n" + " \n" + " \n" + " \n" + " SCIENTIFIC_NAME\n" + " scientific_name\n" + " \n" + " \n" + " Taxonomy\n" + " Scientific Name\n" + " \n" + " \n" + " \n" + " COMMON_NAME\n" + " common_name\n" + " \n" + " \n" + " Taxonomy\n" + " Common Name\n" + " \n" + " \n" + " \n" + " POSITION_DESCRIPTION\n" + " position_description\n" + " \n" + " Location\n" + " Position Description\n" + " \n" + " \n" + " \n" + " CATCH_RANGE_MIN_KG_PER_SQKM\n" + " catch_range_min\n" + " \n" + " 0.0 4530.0\n" + " 0\n" + " 4500\n" + " Fish Abundance\n" + " Catch Range Min\n" + " kg km-2\n" + " \n" + " \n" + " \n" + " CATCH_RANGE_MAX_KG_PER_SQKM\n" + " catch_range_max\n" + " \n" + " 0.0 257606.0\n" + " 0\n" + " 250000\n" + " Fish Abundance\n" + " Catch Range Max\n" + " kg km-2\n" + " \n" + " \n" + " \n" + " MAP_LEGEND_KG_PER_SQKM\n" + " map_legend\n" + " \n" + " 0\n" + " 250000\n" + " Fish Abundance\n" + " Map Legend\n" + " kg km-2\n" + " \n" + " \n" + "\n"; } public static EDD getnosCoopsRWL() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_nosCoopsRWL()); } private static String xmlFragment_nosCoopsRWL() { return "\n" + " https://opendap.co-ops.nos.noaa.gov/dods/IOOS/Raw_Water_Level\n" + " WATERLEVEL_RAW_PX\n" + " false\n" + " true\n" + " true\n" + " \n" + " 10080\n" + " \n" + " \n" + " TimeSeries\n" + " COOPS.IOOS@noaa.gov\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://opendap.co-ops.nos.noaa.gov/dods/IOOS/Raw_Water_Level.html\n" + " NOAA NOS CO-OPS\n" + " [standard]\n" + " null\n" + " CF Standard Name Table v70\n" + " \n" + " \n" + "This dataset has recent, raw (not quality-controlled) water level (tide) data\n" + "from NOAA NOS Center for Operational Oceanographic Products and Services (CO-OPS).\n" + "\n" + "WARNING: THIS DATASET IS VERY HARD TO USE!\n" + "Queries for data MUST include station=, datum=, beginTime=, and endTime=.\n" + "The list of stations is at\n" + "https://opendap.co-ops.nos.noaa.gov/stations/index.jsp\n" + "See the metadata for the datum variable for a description of the supported datums.\n" + "\n" + "WARNING: Queries for more than one month's worth of data will fail.\n" + "\n" + "WARNING: The error messages returned by this dataset are often wrong.\n" + " NOS CO-OPS Raw Water Level Data\n" + " \n" + " \n" + " _STATION_ID\n" + " station\n" + " \n" + " \n" + " Identifier\n" + " Queries for data MUST include \"station=...\".\n" + "\n" + "The list of stations is at\n" + "https://opendap.co-ops.nos.noaa.gov/stations/index.jsp\n" + " Station ID\n" + " \n" + " \n" + " \n" + " _DATUM\n" + " datum\n" + " \n" + " \n" + " Location\n" + " Queries for data MUST include \"datum=...\"\n" + "\n" + "A datum is a base elevation used as a reference from which to reckon heights or\n" + "depths. In a data query, the datum MUST be one of:\n" + "MLLW (Mean Lower Low Water) - The average of the lower low water height of each\n" + " tidal day observed over the National Tidal Datum Epoch.\n" + "MSL (Mean Sea Level) - The arithmetic mean of hourly heights observed over the\n" + " National Tidal Datum Epoch.\n" + "MHW (Mean High Water) - The average of all the high water heights observed over\n" + " the National Tidal Datum Epoch.\n" + "STND (Station Datum) - A fixed base elevation at a tide station to which all\n" + " water level measurements are referred. The datum is unique to each station\n" + " and is established at a lower elevation than the water is ever expected to\n" + " reach.\n" + "NGVD (National Geodetic Vertical Datum of 1929) - It is a hybrid model, not a\n" + " pure model of mean sea level, the geoid, or any other equipotential surface.\n" + "NAVD (North American Vertical Datum of 1988) - It held fixed the height of the\n" + " primary tidal bench mark, referenced to the International Great Lakes Datum\n" + " of 1985 local mean sea level height value.\n" + "IGLD (?)\n" + "(The descriptions are from https://tidesandcurrents.noaa.gov/datum_options.html .)\n" + "\n" + " Datum\n" + " \n" + " \n" + " \n" + " _BEGIN_DATE\n" + " beginTime\n" + " \n" + " \n" + " \n" + " Time\n" + " Queries for data MUST include \"beginTime=...\".\n" + "The value you request will be included in the results table, where it is meaningless.\n" + " Begin Time\n" + " yyyyMMdd HH:mm\n" + " \n" + " \n" + " \n" + " _END_DATE\n" + " endTime\n" + " \n" + " \n" + " Time\n" + " Queries for data MUST include \"endTime=...\".\n" + "The value you request will be included in the results table, where it is meaningless.\n" + " End Time\n" + " yyyyMMdd HH:mm\n" + " \n" + " \n" + " \n" + " DATE_TIME\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " Time\n" + " \n" + " MMM d yyyy h:mma\n" + " \n" + " \n" + " \n" + " DCP\n" + " dcp\n" + " \n" + " \n" + " Identifier\n" + " A one character identifier for the data collection platform (DCP) at a station.\n" + " Data Collection Platform\n" + " \n" + " \n" + " \n" + " SENSOR_ID\n" + " sensorId\n" + " \n" + " \n" + " Identifier\n" + " \n" + " Sensor ID\n" + " \n" + " \n" + " \n" + " WL_VALUE\n" + " waterLevel\n" + " \n" + " \n" + " Sea Level\n" + " Water Level\n" + " m\n" + " sea_surface_height_amplitude_due_to_geocentric_ocean_tide\n" + " \n" + " \n" + " \n" + " SIGMA\n" + " sigma\n" + " \n" + " \n" + " Sea Level\n" + " Standard Deviation of Water Level\n" + " m\n" + " \n" + " \n" + " \n" + " O\n" + " O\n" + " \n" + " \n" + " Quality\n" + " The number of samples that fall outside a 3-sigma band about the mean\n" + " Outlier Count\n" + " count\n" + " \n" + " \n" + " \n" + " F\n" + " F\n" + " \n" + " \n" + " Quality\n" + " A flag that when set to 1 indicates that the flat tolerance limit was exceeded\n" + " Flat Tolerance Flag\n" + "\n" + " \n" + " \n" + " \n" + " R\n" + " R\n" + " \n" + " \n" + " Quality\n" + " A flag that when set to 1 indicates that the rate of change tolerance limit was exceeded\n" + " Change Tolerance Flag\n" + " \n" + " \n" + " \n" + " L\n" + " L\n" + " \n" + " \n" + " Quality\n" + " A flag that when set to 1 indicates that either the maximum or minimum expected water level height limit was exceeded\n" + " Limit Flag\n" + " \n" + " \n" + "\n"; } public static EDD geterdQSwindmday() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdQSwindmday()); } private static String xmlFragment_erdQSwindmday() throws URISyntaxException { return "\n" + " &.draw=vectors\n" + " false\n" + "\n" + " 14000\n" + " false\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/QS/ux10/mday/").toURI()) .toString() + "\n" + " true\n" + " QS.*_ux10\\.nc\n" + " last\n" + " 15\n" + " false\n" + " \n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/QS_ux10_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " altitude, atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "atmospheric, coast, coastwatch, data, degrees, global, noaa, node, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Winds > Surface Winds,\n" + "QSux10, quality, quikscat, science, science quality, seawinds, surface, time, wcn, west, wind, winds, x_wind, zonal\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " Remote Sensing Inc. distributes science quality wind velocity data from the SeaWinds instrument onboard NASA's QuikSCAT satellite. SeaWinds is a microwave scatterometer designed to measure surface winds over the global ocean. Wind velocity fields are provided in zonal, meridional, and modulus sets. The reference height for all wind velocities is 10 meters. (This is a monthly composite.)\n" + " Wind, QuikSCAT SeaWinds, 0.125°, Global, Science Quality, 1999-2009 (Monthly)\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " 10\n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " QSux10\n" + " x_wind\n" + " float\n" + " \n" + " \n" + " null\n" + " 15.0\n" + " -15.0\n" + " Wind\n" + " Zonal Wind\n" + " null\n" + " null\n" + " \n" + " \n" + "\n" + "\n" + " 14000\n" + " false\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/QS/uy10/mday/").toURI()) .toString() + "\n" + " true\n" + " QS.*_uy10\\.nc\n" + " last\n" + " 15\n" + " false\n" + " \n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/QS_uy10_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " altitude, atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "atmospheric, coast, coastwatch, data, degrees, global, meridional, noaa, node, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Winds > Surface Winds,\n" + "QSuy10, quality, quikscat, science, science quality, seawinds, surface, time, wcn, west, wind, winds, y_wind\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " Wind, QuikSCAT SeaWinds, 0.125°, Global, Science Quality, Meridional (Monthly Composite)\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " 10\n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " QSuy10\n" + " y_wind\n" + " float\n" + " \n" + " \n" + " null\n" + " 15.0\n" + " -15.0\n" + " Wind\n" + " Meridional Wind\n" + " null\n" + " null\n" + " \n" + " \n" + "\n" + "\n"; } public static EDD geterdQSwindmday_LonPM180() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdQSwindmday_LonPM180()); } private static String xmlFragment_erdQSwindmday_LonPM180() { return "\n" + " \n" + " \n" + " http://localhost:8080/erddap/griddap/erdQSwindmday\n" + " \n" + ""; } public static EDD geterdQSwind8day() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdQSwind8day()); } private static String xmlFragment_erdQSwind8day() throws URISyntaxException { return "\n" + " &.draw=vectors\n" + " false\n" + "\n" + " 14000\n" + " false\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/satellite/QS/ux10/8day/").toURI()) .toString() + "\n" + " true\n" + " QS.*_ux10\\.nc\n" + " last\n" + " 15\n" + " false\n" + " \n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/QS_ux10_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " altitude, atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "atmospheric, coast, coastwatch, data, degrees, global, noaa, node, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Winds > Surface Winds,\n" + "QSux10, quality, quikscat, science, science quality, seawinds, surface, time, wcn, west, wind, winds, x_wind, zonal\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " NASA/JPL Winds: https://winds.jpl.nasa.gov/ .\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " Remote Sensing Inc. distributes science quality wind velocity data from the SeaWinds instrument onboard NASA's QuikSCAT satellite. SeaWinds is a microwave scatterometer designed to measure surface winds over the global ocean. Wind velocity fields are provided in zonal, meridional, and modulus sets. The reference height for all wind velocities is 10 meters. (This is an 8 day composite.)\n" + " Wind, QuikSCAT SeaWinds, 0.125�, Global, Science Quality, 1999-2009 (8 Day)\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " 10\n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " QSux10\n" + " x_wind\n" + " float\n" + " \n" + " \n" + " null\n" + " 15.0\n" + " -15.0\n" + " Wind\n" + " Zonal Wind\n" + " null\n" + " null\n" + " \n" + " \n" + "\n" + "\n" + " 14000\n" + " false\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/satellite/QS/uy10/8day/").toURI()) .toString() + "\n" + " true\n" + " QS.*_uy10\\.nc\n" + " last\n" + " 15\n" + " false\n" + " \n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/QS_uy10_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " altitude, atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Surface Winds,\n" + "atmospheric, coast, coastwatch, data, degrees, global, meridional, noaa, node, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Winds > Surface Winds,\n" + "QSuy10, quality, quikscat, science, science quality, seawinds, surface, time, wcn, west, wind, winds, y_wind\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " NASA/JPL Winds: https://winds.jpl.nasa.gov/ .\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " Wind, QuikSCAT SeaWinds, 0.125�, Global, Science Quality, Meridional (8 Day Composite)\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " 10\n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " QSuy10\n" + " y_wind\n" + " float\n" + " \n" + " \n" + " null\n" + " 15.0\n" + " -15.0\n" + " Wind\n" + " Meridional Wind\n" + " null\n" + " null\n" + " \n" + " \n" + "\n" + "\n"; } public static EDD geterdQSstress1day() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdQSstress1day()); } private static String xmlFragment_erdQSstress1day() throws URISyntaxException { return "\n" + " &.draw=vectors\n" + " false\n" + "\n" + " 14000\n" + " false\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/satellite/QS/taux/1day/").toURI()) .toString() + "\n" + " true\n" + " QS.*_taux\\.nc\n" + " last\n" + " 15\n" + " false\n" + " \n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/QS_taux_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " altitude, atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Wind Stress,\n" + "atmospheric, coast, coastwatch, data, degrees, downward, eastward, global, noaa, node, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Winds > Wind Stress,\n" + "QStaux, quality, quikscat, science, science quality, seawinds, stress, surface, surface_downward_eastward_stress, time, wcn, west, wind, winds, zonal\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " NASA/JPL Winds: https://winds.jpl.nasa.gov/ .\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " NOAA CoastWatch distributes science quality wind stress data in zonal, meridional, modulus, and wind stress curl sets. This data begins with wind velocity measurements from the SeaWinds instrument onboard NASA's QuikSCAT satellite. SeaWinds is a microwave scatterometer designed to measure surface winds over the global ocean. NOAA CoastWatch processes wind velocity to wind stress and wind stress curl. (This is a 1 day composite.)\n" + " Wind Stress, QuikSCAT SeaWinds, 0.125�, Global, Science Quality, 1999-2009 (1 Day)\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " QStaux\n" + " taux\n" + " float\n" + " \n" + " \n" + " null\n" + " 0.5\n" + " -0.5\n" + " Wind\n" + " Zonal Wind Stress\n" + " null\n" + " null\n" + " surface_downward_eastward_stress\n" + " \n" + " \n" + "\n" + "\n" + " 14000\n" + " false\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/satellite/QS/tauy/1day/").toURI()) .toString() + "\n" + " true\n" + " QS.*_tauy\\.nc\n" + " last\n" + " 15\n" + " false\n" + " \n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/QS_tauy_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " altitude, atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Wind Stress,\n" + "atmospheric, coast, coastwatch, data, degrees, downward, global, meridional, noaa, node, northward, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Winds > Wind Stress,\n" + "QStauy, quality, quikscat, science, science quality, seawinds, stress, surface, surface_downward_northward_stress, time, wcn, west, wind, winds\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " NASA/JPL Winds: https://winds.jpl.nasa.gov/ .\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " Wind Stress, QuikSCAT SeaWinds, 0.125�, Global, Science Quality, Meridional (1 Day Composite)\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " QStauy\n" + " tauy\n" + " float\n" + " \n" + " \n" + " null\n" + " 0.5\n" + " -0.5\n" + " Wind\n" + " Meridional Wind Stress\n" + " null\n" + " null\n" + " surface_downward_northward_stress\n" + " \n" + " \n" + "\n" + "\n" + " 14000\n" + " false\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/satellite/QS/curl/1day/").toURI()) .toString() + "\n" + " true\n" + " QS.*_curl\\.nc\n" + " last\n" + " 15\n" + " false\n" + " \n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/QS_curl_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " altitude, atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Wind Stress,\n" + "atmospheric, coast, coastwatch, curl, data, degrees, downward, global, noaa, node, northward, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Winds > Wind Stress,\n" + "QScurl, quality, quikscat, science, science quality, seawinds, stress, surface, surface_downward_northward_stress, time, wcn, west, wind, winds\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " NASA/JPL Winds: https://winds.jpl.nasa.gov/ .\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " Wind Stress, QuikSCAT SeaWinds, 0.125�, Global, Science Quality, Curl (1 Day Composite)\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " QScurl\n" + " curl\n" + " float\n" + " \n" + " \n" + " null\n" + " 0.5\n" + " -0.5\n" + " Wind\n" + " Curl of Wind Stress\n" + " null\n" + " null\n" + " surface_downward_northward_stress\n" + " \n" + " \n" + "\n" + "\n" + " 14000\n" + " false\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/satellite/QS/tmod/1day/").toURI()) .toString() + "\n" + " true\n" + " QS.*_tmod\\.nc\n" + " last\n" + " 15\n" + " false\n" + " \n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/QS_tmod_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " altitude, atmosphere,\n" + "Earth Science > Atmosphere > Atmospheric Winds > Wind Stress,\n" + "atmospheric, coast, coastwatch, data, degrees, downward, global, modulus, noaa, node, northward, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Winds > Wind Stress,\n" + "QStmod, quality, quikscat, science, science quality, seawinds, stress, surface, surface_downward_northward_stress, time, wcn, west, wind, winds\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " NASA/JPL Winds: https://winds.jpl.nasa.gov/ .\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " Wind Stress, QuikSCAT SeaWinds, 0.125�, Global, Science Quality, Modulus (1 Day Composite)\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " QStmod\n" + " modStress\n" + " float\n" + " \n" + " \n" + " null\n" + " 0.5\n" + " 0\n" + " WhiteRedBlack\n" + " Wind\n" + " Modulus of Wind Stress\n" + " null\n" + " null\n" + " surface_downward_northward_stress\n" + " \n" + " \n" + "\n" + "\n" + " 14000\n" + " false\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/satellite/QS/wekm/1day/").toURI()) .toString() + "\n" + " true\n" + " QS.*_wekm\\.nc\n" + " last\n" + " 15\n" + " false\n" + " \n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/QS_wekm_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " altitude, circulation, coast, coastwatch, data, degrees, downwelling, ekman, global, noaa, node, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Circulation > Upwelling/Downwelling,\n" + "QSwekm, quality, quikscat, science, science quality, seawinds, time, upwelling, wcn, west, wind\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " NASA/JPL Winds: https://winds.jpl.nasa.gov/ .\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " Ekman Upwelling, QuikSCAT SeaWinds, 0.125�, Global, Science Quality, 1999-2009 (1 Day Composite)\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " QSwekm\n" + " upwelling\n" + " float\n" + " \n" + " \n" + " null\n" + " 2e-5\n" + " -2e-5\n" + " Currents\n" + " Ekman Upwelling\n" + " null\n" + " null\n" + " \n" + " \n" + "\n" + "\n"; } public static EDD gettestDuplicateSourceNames() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testDuplicateSourceNames()); } private static String xmlFragment_testDuplicateSourceNames() throws URISyntaxException { return "\n" + "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/satellite/MUR41/ssta/1day/").toURI()) .toString() + "\n" + " .*fv04\\.1\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " \n" + " Please acknowledge the use of these data with the following statement: These data were provided by JPL under support by NASA MEaSUREs program.\n" + " null\n" + " MUR = "Multi-scale Ultra-high Resolution"\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " group\n" + " https://podaac.jpl.nasa.gov/dataset/MUR-JPL-L4-GLOB-v4.1\n" + " null\n" + " https://podaac.jpl.nasa.gov/dataset/MUR-JPL-L4-GLOB-v4.1\n" + " NASA JPL\n" + " analysed\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " null\n" + " null\n" + " https://podaac.jpl.nasa.gov/dataset/MUR-JPL-L4-GLOB-v4.1\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " This is a test of EDDGridSideBySide.\n" + " now-3days\n" + " Test of EDDGridSideBySide\n" + " null\n" + " null\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " Location\n" + " Latitude\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " Location\n" + " Longitude\n" + " \n" + " \n" + " \n" + " analysed_sst\n" + " analysed_sst_a\n" + " short\n" + " \n" + " null\n" + " null\n" + " 25.0\n" + " 32.0\n" + " 0.0\n" + " null\n" + " Temperature\n" + " Analysed Sea Surface Temperature\n" + " degree_C\n" + " \n" + " \n" + "\n" + "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/veryLarge/satellite/MUR41/ssta/1day/").toURI()) .toString() + "\n" + " .*fv04\\.1\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " \n" + " Please acknowledge the use of these data with the following statement: These data were provided by JPL under support by NASA MEaSUREs program.\n" + " null\n" + " MUR = "Multi-scale Ultra-high Resolution"\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " group\n" + " https://podaac.jpl.nasa.gov/dataset/MUR-JPL-L4-GLOB-v4.1\n" + " null\n" + " https://podaac.jpl.nasa.gov/dataset/MUR-JPL-L4-GLOB-v4.1\n" + " NASA JPL\n" + " analysed\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " null\n" + " null\n" + " https://podaac.jpl.nasa.gov/dataset/MUR-JPL-L4-GLOB-v4.1\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " null\n" + " This is a test of EDDGridSideBySide.\n" + " now-3days\n" + " Test of EDDGridSideBySide\n" + " null\n" + " null\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " Location\n" + " Latitude\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " Location\n" + " Longitude\n" + " \n" + " \n" + " \n" + " analysed_sst\n" + " analysed_sst_b\n" + " short\n" + " \n" + " null\n" + " null\n" + " 25.0\n" + " 32.0\n" + " 0.0\n" + " null\n" + " Temperature\n" + " Analysed Sea Surface Temperature\n" + " degree_C\n" + " \n" + " \n" + "\n" + "\n"; } public static EDD geterdSWchlamday() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdSWchlamday()); } private static String xmlFragment_erdSWchlamday() throws URISyntaxException { return "\n" + " 11000\n" + " false\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/SW/chla/mday/").toURI()) .toString() + "\n" + " true\n" + " .*_chla\\.nc(|.gz)\n" + " last\n" + " 15\n" + " false\n" + " \n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/SW_chla_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " altitude, center, chemistry, chla, chlorophyll, chlorophyll-a, coast, coastwatch, color, concentration, concentration_of_chlorophyll_in_sea_water, data, degrees, field, field-of-view, flight, global, goddard, gsfc, noaa, node, ocean, ocean color, oceans,\n" + "Earth Science > Oceans > Ocean Chemistry > Chlorophyll,\n" + "orbview, orbview-2, sea, sea-wide, seawater, seawifs, sensor, space, SWchla, time, view, water, wcn, west, wide\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " SeaWiFS information: https://oceancolor.gsfc.nasa.gov/SeaWiFS/ . NASA Ocean Color information: https://oceancolor.gsfc.nasa.gov/ . Processing reference: O'Reilly, J.E., Maritorena, S., Mitchell, B.G., Siegel, D.A., Carder, K.L., Garver, S.A., Kahru, M. and McClain, C. (1998). Ocean color chlorophyll algorithms for SeaWiFS. J. Geophys. Res., 103: 24, 937-24, 953. Processing reference: O'Reilly, J. E., and 21 others. 2000. Ocean color chlorophyll a algorithms for SeaWiFS, OC2 and OC4: Version 4. SeaWiFS Postlaunch Calibration and Validation Analyses, part 3. NASA SeaWiFS technical report series. pp. 8 226 22. Processing reference: Fu, G., Baith, K. S., and McClain, C. R. (1998). SeaDAS: The SeaWiFS Data Analysis System. Proceedings of "The 4th Pacific Ocean Remote Sensing Conference", Qingdao, China, July 28-31, 1998, 73-79. Validation reference: Hooker, S.B., and C.R. McClain (2000). The Calibration and Validation of SeaWiFS Data. Prog. Oceanogr., 45, 427-465.\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " THIS VERSION IS DEPRECATED. SEE THE NEW R2018.0 VERSION IN erdSW2018chla1day. (Feb 2018) \n" + "NASA GSFC Ocean Color Web distributes science-quality chlorophyll-a concentration data from the Sea-viewing Wide Field-of-view Sensor (SeaWiFS) on the Orbview-2 satellite.\n" + " Chlorophyll-a, Orbview-2 SeaWiFS, 0.1°, Global, 1997-2010 (Monthly Composite) DEPRECATED\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " SWchla\n" + " chlorophyll\n" + " float\n" + " \n" + " \n" + " null\n" + " 30.0\n" + " 0.03\n" + " Log\n" + " Ocean Color\n" + " Concentration Of Chlorophyll In Sea Water\n" + " null\n" + " null\n" + " \n" + " \n" + "\n"; } public static EDD geterdVHNchlamday() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdVHNchlamday()); } private static String xmlFragment_erdVHNchlamday() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/VHN/chla/mday/").toURI()) .toString() + "\n" + " .*_chla\\.nc\n" + " true\n" + " last\n" + " 15\n" + " false\n" + " \n" + " \n" + " Grid\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/VHN_chla_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " 1-day, 750m, altitude, center, chemistry, chla, chlorophyll, chlorophyll-a, coastwatch, color, composite, concentration, concentration_of_chlorophyll_in_sea_water, data, day, erd, fisheries, imager, imager/radiometer, imaging, infrared, latitude, longitude, marine, monthly, national, near, nmfs, noaa, north, npp, nrt, ocean, ocean color, oceans,\n" + "Earth Science > Oceans > Ocean Chemistry > Chlorophyll,\n" + "orbiting, pacific, partnership, polar, polar-orbiting, radiometer, real, resolution, science, sea, seawater, service, southwest, suite, swfsc, time, viirs, visible, water\n" + " GCMD Science Keywords\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " CF Standard Name Table v70\n" + " now-120days\n" + " Chlorophyll a, North Pacific, NOAA VIIRS, 750m resolution, 2015-present (Monthly Composite)\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " null\n" + " null\n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " null\n" + " null\n" + " Location\n" + " \n" + " \n" + " \n" + " latitude\n" + " latitude\n" + " \n" + " \n" + " null\n" + " null\n" + " Location\n" + " \n" + " \n" + " \n" + " longitude\n" + " longitude\n" + " \n" + " \n" + " null\n" + " null\n" + " Location\n" + " \n" + " \n" + " \n" + " chla\n" + " chla\n" + " float\n" + " \n" + " \n" + " null\n" + " null\n" + " null\n" + " 30.0\n" + " 0.03\n" + " Log\n" + " Ocean Color\n" + " Chlorophyll a\n" + " \n" + " \n" + ""; } public static EDD gettest_erdVHNchlamday_Lon0360() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_test_erdVHNchlamday_Lon0360()); } private static String xmlFragment_test_erdVHNchlamday_Lon0360() { return "\n" + " \n" + " \n" + " http://localhost:8080/erddap/griddap/erdVHNchlamday\n" + " \n" + "\n"; } public static EDD gettest_nesdisVHNchlaWeekly_Lon0360() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_test_nesdisVHNchlaWeekly_Lon0360()); } private static String xmlFragment_test_nesdisVHNchlaWeekly_Lon0360() { return "\n" + " \n" + " https://coastwatch.pfeg.noaa.gov/erddap/griddap/nesdisVHNchlaWeekly\n" + " \n" + "\n"; } public static EDD getecocast_Lon0360() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_ecocast_Lon0360()); } private static String xmlFragment_ecocast_Lon0360() { return "\n" + " \n" + " \n" + " https://oceanview.pfeg.noaa.gov/erddap/griddap/ecocast\n" + " \n" + "\n"; } public static EDD gettest_etopo180_Lon0360() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_test_etopo180_Lon0360()); } private static String xmlFragment_test_etopo180_Lon0360() { return "\n" + " \n" + "\n"; } public static EDD getnotApplicable_Lon0360() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_notApplicable_Lon0360()); } private static String xmlFragment_notApplicable_Lon0360() { return "\n" + " \n" + " https://coastwatch.pfeg.noaa.gov/erddap/griddap/erdMPchlamday \n" + " \n" + "\n"; } public static EDD gettestLon0360Insert() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testLon0360Insert()); } private static String xmlFragment_testLon0360Insert() throws URISyntaxException { return "\n" + "\n" + "\n" + " 12000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/nc/").toURI()).toString() + "\n" + " erdHadISST_Africa.nc.gz\n" + " \n" + " This is a test dataset for EDDGridLon0360.\n" + " Test for EDDGridLon0630\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " \n" + " \n" + " latitude\n" + " latitude\n" + " \n" + " \n" + " \n" + " \n" + " longitude\n" + " longitude\n" + " \n" + " \n" + " \n" + " \n" + " sst\n" + " sst\n" + " float\n" + " \n" + " \n" + " \n" + "\n" + "\n"; } public static EDD geterdRWdhws1day_LonPM180() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdRWdhws1day_LonPM180()); } private static String xmlFragment_erdRWdhws1day_LonPM180() { return "\n" + " \n" + " \n" + " https://coastwatch.pfeg.noaa.gov/erddap/griddap/erdRWdhws1day\n" + " \n" + "\n"; } public static EDD gettest_erdMHsstnmday_LonPM180() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_test_erdMHsstnmday_LonPM180()); } private static String xmlFragment_test_erdMHsstnmday_LonPM180() { return "\n" + " \n" + " \n" + " https://coastwatch.pfeg.noaa.gov/erddap/griddap/erdMHsstnmday\n" + " \n" + " \n" + "\n"; } public static EDD getnotApplicable_LonPM180() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_notApplicable_LonPM180()); } private static String xmlFragment_notApplicable_LonPM180() { return "\n" + " \n" + " \n" + " http://localhost:8080/erddap/griddap/erdMH1chla1day\n" + " \n" + "\n"; } private static String xmlFragment_ecmwfTest_LonPM180() throws URISyntaxException { return """ 540 10080 10000 """ + Path.of(EDDTestDataset.class.getResource("/data/grib/").toURI()).toString() + """ ecmwf-temp.*\\.grib2 true .* last 20 false Grid CF-1.10, COARDS, ACDD-1.3 ECMWF (RSMC) institution 6371229.0 latitude_longitude ??? ECMWF (RSMC) centre, component, data, ecmwf, european, forecasts, isobaric, local, medium, medium-range, pressure, range, rsmc, source, surface, temperature, Temperature_isobaric, time, u-component, u-component_of_wind_isobaric, v-component, v-component_of_wind_isobaric, weather, wind [standard] CF Standard Name Table v70 European Centre for Medium-Range Weather Forecasts (ECMWF) (RSMC) data from a local source. now-8days ECMWF (RSMC) data from a local source. time time Time hours since 2025-09-29T00:00:00Z isobaric isobaric Pressure hPa 0.01 lat latitude Location Latitude latitude lon longitude Location Longitude longitude Temperature_isobaric Temperature_isobaric float 313.0 263.0 null null Temperature u-component_of_wind_isobaric u_component_of_wind_isobaric float null null Pressure v-component_of_wind_isobaric v_component_of_wind_isobaric float null null Pressure """; } public static EDD getEDD_ecmwfTemp_LonPM180() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_ecmwfTest_LonPM180()); } public static EDD geterdMBsstdmday() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdMBsstdmday()); } private static String xmlFragment_erdMBsstdmday() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " false\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/MB/sstd/mday/").toURI()) .toString() + "\n" + " true\n" + " .*_sstd\\.nc(|.gz)\n" + " last\n" + " 12\n" + " false\n" + " \n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/MB_sstd_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " altitude, aqua, coast, coastwatch, data, day, daytime, degrees, imaging, MBsstd, moderate, modis, national, noaa, node, npp, ocean, oceans,\n" + "Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature,\n" + "orbiting, pacific, partnership, polar, polar-orbiting, resolution, sea, sea_surface_temperature, spectroradiometer, sst, surface, temperature, time, wcn, west\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " null\n" + " null\n" + " null\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " Aqua/MODIS information: https://oceancolor.gsfc.nasa.gov/ . MODIS information: https://coastwatch.noaa.gov/cw_html/OceanColor_NRT_MODIS_Aqua.html .\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " now-60days\n" + " SST, Aqua MODIS, NPP, 0.025 degrees, Pacific Ocean, Daytime, 2006-present (Monthly Composite)\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " MBsstd\n" + " sst\n" + " float\n" + " \n" + " \n" + " null\n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " Sea Surface Temperature\n" + " null\n" + " null\n" + " \n" + " \n" + "\n"; } public static EDD geterdMBsstdmday_LonPM180() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdMBsstdmday_LonPM180()); } private static String xmlFragment_erdMBsstdmday_LonPM180() { return "\n" + " \n" + " \n" + " http://localhost:8080/erddap/griddap/erdMBsstdmday\n" + " \n" + "\n" + ""; } public static EDD gettest_erdPHsstamday_LonPM180() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_test_erdPHsstamday_LonPM180()); } private static String xmlFragment_test_erdPHsstamday_LonPM180() throws URISyntaxException { return "\n" + " \n" + " \n" + " \n" + "\n" + " 10080\n" + " false\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeSatellite/PH/ssta/mday/").toURI()) .toString() + "\n" + " true\n" + " .*_ssta\\.nc(|.gz)\n" + " last\n" + " 15\n" + " false\n" + " \n" + " \n" + " null\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " null\n" + " https://coastwatch.pfeg.noaa.gov/infog/PH_ssta_las.html\n" + " NOAA NMFS SWFSC ERD\n" + " advanced, altitude, area, avhrr, coast, coastwatch, coverage, data, day, gac, global, high, night, noaa, node, ocean, oceans,\n" + "Oceans > Ocean Temperature > Sea Surface Temperature,\n" + "pathfinder, PHssta, quality, radiometer, resolution, science, science quality, sea, sea_surface_temperature, sst, surface, temperature, time, very, vhrr, wcn, west\n" + " [standard]\n" + " null\n" + " null\n" + " null\n" + " CoastWatch (https://coastwatch.noaa.gov/)\n" + " erd.data@noaa.gov\n" + " NOAA NMFS SWFSC ERD\n" + " institution\n" + " https://www.pfeg.noaa.gov\n" + " Pathfinder project: https://www.nodc.noaa.gov/sog/pathfinder4km/ .\n" + " null\n" + " CF Standard Name Table v70\n" + " null\n" + " SST, Pathfinder Ver 5.0, Day and Night, 4.4 km, Global, Science Quality (Monthly Composite) DEPRECATED\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " PHssta\n" + " sst\n" + " float\n" + " \n" + " \n" + " null\n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " Sea Surface Temperature\n" + " null\n" + " null\n" + " \n" + " \n" + "\n" + "\n"; } public static EDD gettestPM180LonValidMinMax() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testPM180LonValidMinMax()); } private static String xmlFragment_testPM180LonValidMinMax() throws URISyntaxException { return "\n" + "\n" + " 10080\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/satellite/oi2/").toURI()).toString() + "\n" + " .*\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " Grid\n" + " null\n" + " oisst-help@noaa.gov\n" + " NOAA NCDC\n" + " Source of data.\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " oisst-help@noaa.gov\n" + " NOAA NCEI\n" + " group\n" + " https://www.ncei.noaa.gov/\n" + " null\n" + " ncdcOisst2Agg\n" + " https://www.ncdc.noaa.gov/oisst\n" + " NOAA NCEI\n" + " [standard]\n" + " gov.noaa.pfeg.coastwatch\n" + " NOAA/National Climatic Data Center\n" + " CF Standard Name Table v70\n" + " My summary.\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " null\n" + " Time\n" + " time\n" + " days since 1978-01-01T12:00:00Z\n" + " \n" + " \n" + " \n" + " zlev\n" + " zlev\n" + " \n" + " \n" + " null\n" + " Sea Level\n" + " sea_surface_height\n" + " m\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " latitude\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " \n" + " \n" + " null\n" + " Location\n" + " longitude\n" + " 359.875\n" + " 0.125\n" + " \n" + " \n" + " \n" + " sst\n" + " sst\n" + " float\n" + " \n" + " \n" + " null\n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " sea_surface_temperature\n" + " degree_C\n" + " \n" + " \n" + "\n" + "\n"; } public static EDD gettestInvalidCRAFiles() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testInvalidCRAFiles()); } private static String xmlFragment_testInvalidCRAFiles() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/nccf/wod/").toURI()).toString() + "\n" + " wod_drb_.*\\.nc\n" + " true\n" + " .*\n" + " last\n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " false\n" + " \n" + " \n" + " CF-1.6, COARDS, ACDD-1.3\n" + " institution\n" + " https://www.nodc.noaa.gov\n" + " World Ocean Database\n" + " https://www.nodc.noaa.gov\n" + " NCEI, NOAA\n" + " Access_no, accession, below, cast, center, centers, chemistry, country, cruise, data, database, dataset, date, density, depth, depth status_flag, dissolved, dissolved o2, earth, Earth Science > Oceans > Ocean Chemistry > Oxygen, Earth Science > Oceans > Ocean Pressure > Water Pressure, Earth Science > Oceans > Ocean Temperature > Water Temperature, Earth Science > Oceans > Salinity/Density > Salinity, environmental, figures, file, flag, fraction, GMT_time, identifier, information, institute, instrument, investigator, latitude, level, longitude, multi, multi-cast, name, national, ncei, nesdis, noaa, nodc, number, O2, observation, ocean, Ocean_Vehicle, oceanographic, oceans, Orig_Stat_Num, original, originators, originators_cruise_identifier, oxygen, Oxygen_Original_units, Oxygen_sigfigs, Oxygen_WODflag, Oxygen_WODprofileflag, platform, practical, pressure, Pressure_sigfigs, primary, Primary_Investigator, Primary_Investigator_VAR, profile, quality, real, real_time, responsible, salinity, Salinity_Instrument, Salinity_sigfigs, Salinity_WODflag, Salinity_WODprofileflag, science, sea, sea_water_practical_salinity, sea_water_pressure, sea_water_salinity status_flag, sea_water_temperature, sea_water_temperature status_flag, seawater, significant, station, statistics, status, surface, temperature, Temperature_Instrument, Temperature_sigfigs, Temperature_WODflag, Temperature_WODprofileflag, time, unique, units, vehicle, volume, volume_fraction_of_oxygen_in_sea_water, volume_fraction_of_oxygen_in_sea_water status_flag, water, wod, WOD_cruise_identifier, wod_unique_cast, world, z_sigfigs, z_WODflag\n" + " GCMD Science Keywords\n" + " [standard]\n" + " institution\n" + " https://www.nodc.noaa.gov\n" + " World Ocean Database 2013. URL:https://data.nodc.noaa.gov/woa/WOD/DOC/wod_intro.pdf\n" + " (local files)\n" + " dataset, Temperature_WODprofileflag, Salinity_WODprofileflag, Oxygen_WODprofileflag, z_WODflag, Temperature_WODflag\n" + " World Ocean Database - Multi-cast file. Data for multiple casts from the World Ocean Database\n" + " World Ocean Database, Multi-cast file\n" + " \n" + " \n" + " country\n" + " country\n" + " String\n" + " \n" + " \n" + " Location\n" + " Country\n" + " \n" + " \n" + " \n" + " WOD_cruise_identifier\n" + " WOD_cruise_identifier\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " originators_cruise_identifier\n" + " originators_cruise_identifier\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " Originators Cruise Identifier\n" + " \n" + " \n" + " \n" + " wod_unique_cast\n" + " wod_unique_cast\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Identifier\n" + " Wod Unique Cast\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " Latitude\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " Longitude\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " double\n" + " \n" + " \n" + " Time\n" + " days since 1770-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " date\n" + " date\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Time\n" + " \n" + " \n" + " \n" + " GMT_time\n" + " GMT_time\n" + " float\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " Access_no\n" + " Access_no\n" + " int\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " Platform\n" + " Platform\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " Institute\n" + " Institute\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " Orig_Stat_Num\n" + " Orig_Stat_Num\n" + " int\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " dataset\n" + " dataset\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " real_time\n" + " real_time\n" + " String\n" + " \n" + " \n" + " Time\n" + " Real Time Data\n" + " \n" + " \n" + " \n" + " Ocean_Vehicle\n" + " Ocean_Vehicle\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Ocean Vehicle\n" + " \n" + " \n" + " \n" + " Temperature_WODprofileflag\n" + " Temperature_WODprofileflag\n" + " byte\n" + " \n" + " \n" + " 127\n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " Temperature_Instrument\n" + " Temperature_Instrument\n" + " String\n" + " \n" + " \n" + " Temperature\n" + " \n" + " \n" + " \n" + " Salinity_WODprofileflag\n" + " Salinity_WODprofileflag\n" + " byte\n" + " \n" + " \n" + " 127\n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " Salinity_Instrument\n" + " Salinity_Instrument\n" + " String\n" + " \n" + " \n" + " 37.0\n" + " 32.0\n" + " Salinity\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " Oxygen_WODprofileflag\n" + " Oxygen_WODprofileflag\n" + " byte\n" + " \n" + " \n" + " 127\n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " Oxygen_Original_units\n" + " Oxygen_Original_units\n" + " String\n" + " \n" + " \n" + " Dissolved O2\n" + " Oxygen Original Units\n" + " \n" + " \n" + " \n" + " Primary_Investigator\n" + " Primary_Investigator\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Primary Investigator\n" + " \n" + " \n" + " \n" + " Primary_Investigator_VAR\n" + " Primary_Investigator_VAR\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Primary Investigator VAR\n" + " \n" + " \n" + " \n" + " z\n" + " depth\n" + " float\n" + " \n" + " \n" + " Location\n" + " 8000.0\n" + " -8000.0\n" + " TopographyDepth\n" + " Location\n" + " Depth Below Sea Surface\n" + " z\n" + " \n" + " \n" + " \n" + " z_WODflag\n" + " z_WODflag\n" + " byte\n" + " \n" + " \n" + " 127\n" + " 2.5\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " z_sigfigs\n" + " z_sigfigs\n" + " byte\n" + " \n" + " \n" + " 127\n" + " Location\n" + " \n" + " \n" + " \n" + " Temperature\n" + " Temperature\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " null\n" + " Temperature\n" + " Sea Water Temperature\n" + " \n" + " \n" + " \n" + " Temperature_sigfigs\n" + " Temperature_sigfigs\n" + " byte\n" + " \n" + " \n" + " 127\n" + " Temperature\n" + " \n" + " \n" + " \n" + " Temperature_WODflag\n" + " Temperature_WODflag\n" + " byte\n" + " \n" + " \n" + " 127\n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " Salinity\n" + " Salinity\n" + " float\n" + " \n" + " \n" + " 37.0\n" + " 32.0\n" + " null\n" + " Salinity\n" + " Sea Water Salinity\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " Salinity_sigfigs\n" + " Salinity_sigfigs\n" + " byte\n" + " \n" + " \n" + " 127\n" + " 37.0\n" + " 32.0\n" + " Salinity\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " Salinity_WODflag\n" + " Salinity_WODflag\n" + " byte\n" + " \n" + " \n" + " 127\n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " Pressure\n" + " Pressure\n" + " float\n" + " \n" + " \n" + " 5000.0\n" + " 0.0\n" + " null\n" + " Pressure\n" + " Sea Water Pressure\n" + " \n" + " \n" + " \n" + " Pressure_sigfigs\n" + " Pressure_sigfigs\n" + " byte\n" + " \n" + " \n" + " 127\n" + " Pressure\n" + " \n" + " \n" + " \n" + " Oxygen\n" + " Oxygen\n" + " float\n" + " \n" + " \n" + " 1.0\n" + " 0.0\n" + " null\n" + " Dissolved O2\n" + " Volume Fraction Of Oxygen In Sea Water\n" + " \n" + " \n" + " \n" + " Oxygen_sigfigs\n" + " Oxygen_sigfigs\n" + " byte\n" + " \n" + " \n" + " 127\n" + " 1.0\n" + " 0.0\n" + " Dissolved O2\n" + " \n" + " \n" + " \n" + " Oxygen_WODflag\n" + " Oxygen_WODflag\n" + " byte\n" + " \n" + " \n" + " 127\n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + "\n"; } public static EDD gettestJsonlCSV() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testJsonlCSV()); } private static String xmlFragment_testJsonlCSV() throws URISyntaxException { return "\n" + " 1440\n" + " -1\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/jsonl/").toURI()).toString() + "\n" + " sampleCSV\\.jsonl\n" + " true\n" + " .*\n" + " last\n" + " \n" + " \n" + " \n" + " \n" + " ship time\n" + " false\n" + " \n" + " \n" + " Trajectory\n" + " ship\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " https://jsonlines.org/examples/\n" + " jsonlines.org\n" + " data, latitude, local, long, longitude, sea, ship, source, sst, status, surface, temperature, test, testLong, time\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " ship\n" + " This is the sample summary.\n" + " Test of JSON Lines CSV\n" + " \n" + " \n" + " ship\n" + " ship\n" + " String\n" + " \n" + " \n" + " trajectory_id\n" + " Identifier\n" + " Ship\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " String\n" + " \n" + " \n" + " Time\n" + " Time\n" + " time\n" + " yyyy-MM-dd'T'HH:mm:ssZ\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " Latitude\n" + " latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " Longitude\n" + " longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " status\n" + " status\n" + " char\n" + " \n" + " \n" + " Other\n" + " Status\n" + " \n" + " \n" + " \n" + " testLong\n" + " testLong\n" + " long\n" + " \n" + " \n" + " 9223372036854775807\n" + " Other\n" + " Test Long\n" + " \n" + " \n" + " \n" + " sst\n" + " sst\n" + " float\n" + " \n" + " \n" + " Temperature\n" + " Sea Surface Temperature\n" + " degree_C\n" + " \n" + " \n" + "\n"; } public static EDD getmergeIR() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_mergeIR()); } private static String xmlFragment_mergeIR() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/mergeIR/").toURI()).toString() + "\n" + " true\n" + " merg_[0-9]{10}_4km-pixel\n" + " last\n" + " false\n" + " \n" + " [standard]\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " T\n" + " 0000-00-00 00:30:00\n" + " Time\n" + " time\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " latitude\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " longitude\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " ir\n" + " short\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " flux\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + "\n"; } public static EDD getmergeIRZ() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_mergeIRZ()); } private static String xmlFragment_mergeIRZ() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/mergeIR/").toURI()).toString() + "\n" + " true\n" + " merg_[0-9]{10}_4km-pixel\\.Z\n" + " last\n" + " false\n" + " \n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " Bob Joyce\n" + " robert.joyce@noaa.gov\n" + " https://www.cpc.ncep.noaa.gov/\n" + " https://www.cpc.ncep.noaa.gov/products/global_precip/html/README\n" + " NOAA NWS NCEP CPC\n" + " 4km, brightness, cpc, flux, global, ir, merge, ncep, noaa, nws, temperature\n" + " GCMD Science Keywords\n" + " [standard]\n" + " The Climate Prediction Center/NCEP/NWS is now making available\n" + "globally-merged (60N-60S) pixel-resolution IR brightness\n" + "temperature data (equivalent blackbody temps), merged from all\n" + "available geostationary satellites (GOES-8/10, METEOSAT-7/5 and\n" + "GMS). The availability of data from METEOSAT-7, which is\n" + "located at 57E at the present time, yields a unique opportunity\n" + "for total global (60N-60S) coverage.\n" + " NCEP/CPC 4km Global (60N - 60S) IR Dataset\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " T\n" + " 0000-00-00 00:30:00\n" + " Time\n" + " time\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " latitude\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " longitude\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " ir\n" + " short\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " flux\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + "\n"; } public static EDD getmergeIRgz() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_mergeIRgz()); } private static String xmlFragment_mergeIRgz() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/mergeIR/").toURI()).toString() + "\n" + " true\n" + " merg_[0-9]{10}_4km-pixel\\.gz\n" + " last\n" + " false\n" + " \n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " Bob Joyce\n" + " robert.joyce@noaa.gov\n" + " https://www.cpc.ncep.noaa.gov/\n" + " https://www.cpc.ncep.noaa.gov/products/global_precip/html/README\n" + " NOAA NWS NCEP CPC\n" + " 4km, brightness, cpc, flux, global, ir, merge, ncep, noaa, nws, temperature\n" + " GCMD Science Keywords\n" + " [standard]\n" + " The Climate Prediction Center/NCEP/NWS is now making available\n" + "globally-merged (60N-60S) pixel-resolution IR brightness\n" + "temperature data (equivalent blackbody temps), merged from all\n" + "available geostationary satellites (GOES-8/10, METEOSAT-7/5 and\n" + "GMS). The availability of data from METEOSAT-7, which is\n" + "located at 57E at the present time, yields a unique opportunity\n" + "for total global (60N-60S) coverage.\n" + " NCEP/CPC 4km Global (60N - 60S) IR Dataset\n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " T\n" + " 0000-00-00 00:30:00\n" + " Time\n" + " time\n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " latitude\n" + " \n" + " degrees_north\n" + " \n" + " \n" + " \n" + " longitude\n" + " \n" + " degrees_east\n" + " \n" + " \n" + " \n" + " ir\n" + " short\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " flux\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + "\n"; } public static EDD gettestNcCF1b() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testNcCF1b()); } private static String xmlFragment_testNcCF1b() throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/nccf/").toURI()).toString() + "\n" + " true\n" + " ncCF1b\\.nc\n" + " last\n" + " \n" + " \n" + " \n" + " \n" + " line_station time\n" + " \n" + " \n" + " line_station\n" + " 1984-2004,\n" + "Atmosphere > Altitude > Station Height,\n" + "Biological Classification > Animals/Vertebrates > Fish,\n" + "Biosphere > Aquatic Ecosystems > Coastal Habitat,\n" + "Biosphere > Aquatic Ecosystems > Marine Habitat,\n" + "Oceans > Aquatic Sciences > Fisheries,\n" + "altitude, animals, aquatic, atmosphere, biological, biology, biosphere, calcofi, classification, coastal, code, common, count, cruise, ecosystems, fish, fisheries, habitat, height, identifier, larvae, line, marine, name, number, observed, occupancy, oceans, order, sciences, scientific, ship, start, station, time, tow, units, value, vertebrates\n" + " \n" + " \n" + " line_station\n" + " line_station\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " longitude\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " \n" + " \n" + " \n" + " latitude\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " \n" + " \n" + " \n" + " altitude\n" + " altitude\n" + " float\n" + " \n" + " \n" + " -210.0\n" + " -218.0\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " double\n" + " \n" + " \n" + " 1.1007E9\n" + " 1.1002E9\n" + " \n" + " \n" + " \n" + " obsScientific\n" + " obsScientific\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " obsValue\n" + " obsValue\n" + " int\n" + " \n" + " \n" + " 25.0\n" + " 0.0\n" + " \n" + " \n" + " \n" + " obsUnits\n" + " obsUnits\n" + " String\n" + " \n" + " \n" + " \n" + " \n" + "\n"; } public static EDD gettestKevin20130109() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testKevin20130109()); } private static String xmlFragment_testKevin20130109() throws URISyntaxException { return "\n" + " 10080\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/kevin/").toURI()).toString() + "\n" + " true\n" + " interpolated_gld\\.20120620_045152_and_meta\\.nc\n" + " last\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " CF-1.6, COARDS, ACDD-1.3\n" + " ???\n" + " ???\n" + " aground, alive, aoml, buoy, center, data, date, death, deployment, eastward, end, experiment, from, identification, local, lost, meteorological, noaa, northward, number, observations, picked, pkey, ran, source., speed, sporadic, standard, still, stop, surface, svp, temperature, time, traj, trajectory, transmissions, transmitting, type, variance, velocity, vessel, world\n" + " [standard]\n" + " null\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " traj\n" + " traj\n" + " double\n" + " \n" + " \n" + " Traj\n" + " Unknown\n" + " \n" + " \n" + " \n" + " trajectory\n" + " trajectory\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " obs\n" + " obs\n" + " double\n" + " \n" + " \n" + " Obs\n" + " Unknown\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " float\n" + " \n" + " \n" + " time\n" + " days since 1900-01-01T00:00:00Z\n" + " Unknown\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " longitude\n" + " Unknown\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " latitude\n" + " Unknown\n" + " \n" + " \n" + " \n" + " temp\n" + " temp\n" + " float\n" + " \n" + " \n" + " 40.0\n" + " -10.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " ve\n" + " ve\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " vn\n" + " vn\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " speed\n" + " speed\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " varlat\n" + " varlat\n" + " float\n" + " \n" + " \n" + " 50.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " varlon\n" + " varlon\n" + " float\n" + " \n" + " \n" + " 50.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " vart\n" + " vart\n" + " float\n" + " \n" + " \n" + " 50.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " id\n" + " id\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " wmo\n" + " wmo\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " expno\n" + " expno\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " typebuoy\n" + " typebuoy\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " deploy_date\n" + " deploy_date\n" + " float\n" + " \n" + " \n" + " days since 1900-01-01T00:00:00Z\n" + " Unknown\n" + " \n" + " \n" + " \n" + " dlat\n" + " dlat\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " latitude\n" + " Unknown\n" + " \n" + " \n" + " \n" + " dlon\n" + " dlon\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " longitude\n" + " Unknown\n" + " \n" + " \n" + " \n" + " end_date\n" + " end_date\n" + " float\n" + " \n" + " \n" + " days since 1900-01-01T00:00:00Z\n" + " Unknown\n" + " \n" + " \n" + " \n" + " elat\n" + " elat\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " latitude\n" + " Unknown\n" + " \n" + " \n" + " \n" + " elon\n" + " elon\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " longitude\n" + " Unknown\n" + " \n" + " \n" + " \n" + " lost_date\n" + " lost_date\n" + " float\n" + " \n" + " \n" + " days since 1900-01-01T00:00:00Z\n" + " Unknown\n" + " \n" + " \n" + " \n" + " typedeath\n" + " typedeath\n" + " float\n" + " \n" + " \n" + " Type of Death\n" + " Type of death (0=buoy still alive, 1=buoy ran aground, 2=picked up by vessel, 3=stop transmitting, 4=sporadic transmissions, 5=b ???\n" + " Unknown\n" + " \n" + " \n" + "\n"; } public static EDD getpmelTaoMonPos() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_pmelTaoMonPos()); } private static String xmlFragment_pmelTaoMonPos() throws URISyntaxException { return "\n" + " 1000000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/points/tao/monthly/").toURI()).toString() + "\n" + " false\n" + " pos[0-9].*_mon\\.cdf\n" + " last\n" + " time\n" + " global:site_code time\n" + " longitude,latitude,LON_502&time>=now-2months\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " array, station, wmo_platform_code, longitude, latitude, depth\n" + " array, station, wmo_platform_code, longitude, latitude, depth\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " GTMBA Project Office/NOAA/PMEL\n" + " Dai.C.McClurg@noaa.gov\n" + " group\n" + " https://www.pmel.noaa.gov/gtmba/mission\n" + " \n" + " https://www.pmel.noaa.gov/gtmba/mission\n" + " NOAA PMEL, TAO/TRITON, RAMA, PIRATA\n" + " buoys, depth, identifier, monthly, noaa, pirata, pmel, position, precise, quality, rama, station, tao, time, triton\n" + " GCMD Science Keywords\n" + " Request for Acknowledgement: If you use these data in publications or presentations, please acknowledge the GTMBA Project Office of NOAA/PMEL. Also, we would appreciate receiving a preprint and/or reprint of publications utilizing the data for inclusion in our bibliography. Relevant publications should be sent to: GTMBA Project Office, NOAA/Pacific Marine Environmental Laboratory, 7600 Sand Point Way NE, Seattle, WA 98115\n" + "\n" + "[standard]\n" + " null\n" + " \n" + " TAO/TRITON, RAMA, PIRATA\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " This dataset has monthly Position data from the\n" + "TAO/TRITON (Pacific Ocean, https://www.pmel.noaa.gov/gtmba/ ),\n" + "RAMA (Indian Ocean, https://www.pmel.noaa.gov/gtmba/pmel-theme/indian-ocean-rama ), and\n" + "PIRATA (Atlantic Ocean, https://www.pmel.noaa.gov/gtmba/pirata/ )\n" + "arrays of moored buoys which transmit oceanographic and meteorological data to shore in real-time via the Argos satellite system. These buoys are major components of the CLIVAR climate analysis project and the GOOS, GCOS, and GEOSS observing systems. Monthly data is an average of daily values collected during a month. A minimum of 15 daily values are required to compute a monthly average. This dataset contains realtime and delayed mode data (see the 'source' variable). For more information, see\n" + "https://www.pmel.noaa.gov/gtmba/mission .\n" + " now-60days\n" + " TAO/TRITON, RAMA, and PIRATA Buoys, Monthly, 1980-present, Position\n" + " \n" + " \n" + " global:array\n" + " array\n" + " String\n" + " \n" + " Identifier\n" + " Array\n" + " \n" + " \n" + " \n" + " global:site_code\n" + " station\n" + " String\n" + " \n" + " \n" + " timeseries_id\n" + " Identifier\n" + " Station\n" + " \n" + " \n" + " \n" + " global:wmo_platform_code\n" + " wmo_platform_code\n" + " int\n" + " \n" + " Identifier\n" + " WMO Platform Code\n" + " 2147483647\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " Location\n" + " Nominal Longitude\n" + " longitude\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " Location\n" + " Nominal Latitude\n" + " latitude\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " float\n" + " \n" + " \n" + " Time\n" + " Time\n" + " time\n" + " \n" + " \n" + " \n" + " depth\n" + " depth\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " Location\n" + " Depth\n" + " \n" + " \n" + " \n" + " LON_502\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " Location\n" + " Precise Longitude\n" + " longitude\n" + " \n" + " \n" + " \n" + " QX_5502\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " 0\n" + " 6\n" + " false\n" + " Quality: 0=missing data, 1=highest, 2=standard, 3=lower, 4=questionable, 5=bad, -9=contact Dai.C.McClurg@noaa.gov. To get probably valid data only, request QX_5502>=1 and QX_5502<=3.\n" + " Quality\n" + " Longitude Quality\n" + " \n" + " \n" + " \n" + " LAT_500\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " Location\n" + " Precise Latitude\n" + " latitude\n" + " \n" + " \n" + " \n" + " QY_5500\n" + " float\n" + " \n" + " \n" + " 1e35\n" + " 0\n" + " 6\n" + " false\n" + " Quality: 0=missing data, 1=highest, 2=standard, 3=lower, 4=questionable, 5=bad, -9=contact Dai.C.McClurg@noaa.gov. To get probably valid data only, request QY_5500>=1 and QY_5500<=3.\n" + " Quality\n" + " Latitude Quality\n" + " \n" + " \n" + "\n"; } public static EDD gettestNoAttName1() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testNoAttName1()); } private static String xmlFragment_testNoAttName1() throws URISyntaxException { return "\n" + " 60\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/bridger/").toURI()).toString() + "\n" + " true\n" + " B01\\.accelerometer.*\\.nc\n" + " last\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " false\n" + " \n" + " \n" + " \n" + " \n" + " station\n" + " String\n" + " \n" + " Unknown\n" + " \n" + " \n" + "\n"; } public static EDD getUMaineAccB01() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_UMaineAccB01()); } private static String xmlFragment_UMaineAccB01() throws URISyntaxException { return "\n" + " 60\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/bridger/").toURI()).toString() + "\n" + " true\n" + " B01\\.accelerometer.*\\.nc\n" + " last\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " false\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " station\n" + " station\n" + " CF-1.6, COARDS, ACDD-1.3\n" + " http://gyre.umeoce.maine.edu/\n" + " accelerometer, b01, buoy, chemistry, chlorophyll, circulation, conductivity, control, currents, data, density, department, depth, dominant, dominant_wave_period data_quality, height, level, maine, marine, name, o2, ocean, oceanography, oceans,\n" + "Oceans > Ocean Chemistry > Chlorophyll,\n" + "Oceans > Ocean Chemistry > Oxygen,\n" + "Oceans > Ocean Circulation > Ocean Currents,\n" + "Oceans > Ocean Optics > Turbidity,\n" + "Oceans > Ocean Pressure > Sea Level Pressure,\n" + "Oceans > Ocean Temperature > Water Temperature,\n" + "Oceans > Ocean Waves > Significant Wave Height,\n" + "Oceans > Ocean Waves > Swells,\n" + "Oceans > Ocean Waves > Wave Period,\n" + "Oceans > Ocean Winds > Surface Winds,\n" + "Oceans > Salinity/Density > Conductivity,\n" + "Oceans > Salinity/Density > Density,\n" + "Oceans > Salinity/Density > Salinity,\n" + "optics, oxygen, period, physical, pressure, quality, salinity, school, sciences, sea, seawater, sensor, significant, significant_height_of_wind_and_swell_waves, significant_wave_height data_quality, station, station_name, surface, surface waves, swell, swells, temperature, time, turbidity, university, water, wave, waves, wind, winds\n" + " [standard]\n" + " http://www.neracoos.org\n" + " NERACOOS\n" + " null\n" + " null\n" + " (local files)\n" + " University of Maine, B01 Accelerometer Buoy Sensor\n" + " \n" + " \n" + " station\n" + " station\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " Longitude\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " Latitude\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " depth\n" + " depth\n" + " float\n" + " \n" + " \n" + " 8000.0\n" + " -8000.0\n" + " TopographyDepth\n" + " Location\n" + " Depth\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " double\n" + " \n" + " \n" + " Time\n" + " Time\n" + " \n" + " \n" + " \n" + " time_created\n" + " time_created\n" + " double\n" + " \n" + " \n" + " null\n" + " null\n" + " Time\n" + " time\n" + " \n" + " \n" + " \n" + " time_modified\n" + " time_modified\n" + " double\n" + " \n" + " \n" + " null\n" + " null\n" + " Time\n" + " time\n" + " \n" + " \n" + " \n" + " significant_wave_height\n" + " significant_wave_height\n" + " float\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " significant_wave_height_qc\n" + " significant_wave_height_qc\n" + " byte\n" + " \n" + " \n" + " 128.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " dominant_wave_period\n" + " dominant_wave_period\n" + " float\n" + " \n" + " \n" + " 40.0\n" + " 0.0\n" + " Surface Waves\n" + " \n" + " \n" + " \n" + " dominant_wave_period_qc\n" + " dominant_wave_period_qc\n" + " byte\n" + " \n" + " \n" + " 128.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + "\n"; } public static EDD gettestNcCF7SampleDimensions() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testNcCF7SampleDimensions()); } private static String xmlFragment_testNcCF7SampleDimensions() throws URISyntaxException { return "\n" + " 10080\n" + " 0\n" + " E:/data/ncei/\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/nccf/ncei/").toURI()).toString() + "\n" + " true\n" + " ind199105_ctd\\.nc\n" + " last\n" + " \n" + " \n" + " \n" + " \n" + " false\n" + " time\n" + " false\n" + " \n" + " \n" + " TimeSeries\n" + " null\n" + " wod_unique_cast,latitude,longitude,time,Access_no,Project,Platform,Institute,Cast_Tow_number,Temperature_WODprofileFlag,Temperature_Scale,Temperature_instrument\n" + " https://www.nodc.noaa.gov\n" + " wod_unique_cast,latitude,longitude,time,Access_no,Project,Platform,Institute,Cast_Tow_number,Temperature_WODprofileFlag,Temperature_Scale,Temperature_instrument\n" + " CF-1.6, ACDD-1.3, COARDS\n" + " https://www.nodc.noaa.gov/OC5/WOD/pr_wod.html\n" + " temperature\n" + " GCMD Science Keywords\n" + " [standard]\n" + " https://www.nodc.noaa.gov\n" + " World Ocean Database 2013. URL:https://data.nodc.noaa.gov/woa/WOD/DOC/wod_intro.pdf\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " Test WOD .ncCF file\n" + " Test WOD .ncCF file\n" + " \n" + " \n" + " wod_unique_cast\n" + " int\n" + " \n" + " Other\n" + " timeseries_id \n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " time\n" + " double\n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " Access_no\n" + " int\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " Project\n" + " String\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " Platform\n" + " String\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " Institute\n" + " String\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " Cast_Tow_number\n" + " int\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " Temperature_WODprofileFlag\n" + " short\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " Temperature_Scale\n" + " String\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " Temperature_instrument\n" + " String\n" + " \n" + " Other\n" + " \n" + " \n" + "\n" + " \n" + " Temperature\n" + " float\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " Temperature_sigfigs\n" + " short\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " Temperature_WODflag\n" + " short\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " Temperature_origflag\n" + " short\n" + " \n" + " Other\n" + " \n" + " \n" + " \n" + " crs\n" + " crs\n" + " int\n" + " \n" + " \n" + " Location\n" + " CRS\n" + " \n" + " \n" + " \n" + " WODf\n" + " WODf\n" + " short\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " WODfp\n" + " WODfp\n" + " short\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " WODfd\n" + " WODfd\n" + " short\n" + " \n" + " \n" + " 2.5\n" + " 0.0\n" + " Location\n" + " \n" + " \n" + " \n"; } public static EDD getArgoFloats() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_ArgoFloats()); } private static String xmlFragment_ArgoFloats() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/briand/").toURI()).toString() + "\n" + " .*_prof\\.nc\n" + " true\n" + " .*\n" + " last\n" + " ^\n" + " _prof.nc$\n" + " .*\n" + " fileNumber\n" + " \n" + " false\n" + " \n" + " false\n" + " \n" + " \n" + " pres\n" + " TrajectoryProfile\n" + " platform_number, project_name, pi_name, platform_type, float_serial_no\n" + " cycle_number, data_type, format_version, handbook_version, reference_date_time, date_creation, date_update, direction, data_center, dc_reference, data_state_indicator, data_mode, firmware_version, wmo_inst_type, time, time_qc, time_location, latitude, longitude, position_qc, positioning_system, profile_pres_qc, profile_temp_qc, profile_psal_qc, vertical_sampling_scheme\n" + " \n" + " \n" + " \n" + " Argo-3.1, CF-1.6, COARDS, ACDD-1.3\n" + " support@argo.net\n" + " Argo\n" + " http://www.argo.net/\n" + " \n" + " http://www.argo.net/\n" + " Argo\n" + " adjusted, argo, array, assembly, best, centre, centres, charge, coded, CONFIG_MISSION_NUMBER, contains, coriolis, creation, currents, cycle, CYCLE_NUMBER, data, DATA_CENTRE, DATA_MODE, DATA_STATE_INDICATOR, DATA_TYPE, date, DATE_CREATION, DATE_UPDATE, day, days, DC_REFERENCE, degree, delayed, denoting, density, determined, direction, equals, error, estimate, file, firmware, FIRMWARE_VERSION, flag, float, FLOAT_SERIAL_NO, format, FORMAT_VERSION, gdac, geostrophic, global, handbook, HANDBOOK_VERSION, have, identifier, in-situ, instrument, investigator, its, its-90, JULD, JULD_LOCATION, JULD_QC, julian, latitude, level, longitude, missions, mode, name, number, ocean, oceanography, oceans,\n" + "Oceans > Ocean Pressure > Water Pressure,\n" + "Oceans > Ocean Temperature > Water Temperature,\n" + "Oceans > Salinity/Density > Salinity,\n" + "passed, performed, PI_NAME, PLATFORM_NUMBER, PLATFORM_TYPE, position, POSITION_QC, positioning, POSITIONING_SYSTEM, practical, pres, PRES_ADJUSTED, PRES_ADJUSTED_ERROR, PRES_ADJUSTED_QC, PRES_QC, pressure, principal, process, processing, profile, PROFILE_PRES_QC, PROFILE_PSAL_QC, PROFILE_TEMP_QC, profiles, project, PROJECT_NAME, psal, PSAL_ADJUSTED, PSAL_ADJUSTED_ERROR, PSAL_ADJUSTED_QC, PSAL_QC, quality, rdac, real, real time, real-time, realtime, reference, REFERENCE_DATE_TIME, regional, relative, salinity, sampling, scale, scheme, sea, sea level, sea-level, sea_water_practical_salinity, sea_water_pressure, sea_water_temperature, seawater, serial, situ, station, statistics, system, TEMP, TEMP_ADJUSTED, TEMP_ADJUSTED_ERROR, TEMP_ADJUSTED_QC, TEMP_QC, temperature, through, time, type, unique, update, values, version, vertical, VERTICAL_SAMPLING_SCHEME, water, WMO_INST_TYPE\n" + " GCMD Science Keywords\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " \n" + "Argo float vertical profiles from Coriolis Global Data Assembly Centres\n" + "(GDAC). Argo is an international collaboration that collects high-quality\n" + "temperature and salinity profiles from the upper 2000m of the ice-free\n" + "global ocean and currents from intermediate depths. The data come from\n" + "battery-powered autonomous floats that spend most of their life drifting\n" + "at depth where they are stabilised by being neutrally buoyant at the\n" + "\"parking depth\" pressure by having a density equal to the ambient pressure\n" + "and a compressibility that is less than that of sea water. At present there\n" + "are several models of profiling float used in Argo. All work in a similar\n" + "fashion but differ somewhat in their design characteristics. At typically\n" + "10-day intervals, the floats pump fluid into an external bladder and rise\n" + "to the surface over about 6 hours while measuring temperature and salinity.\n" + "Satellites or GPS determine the position of the floats when they surface,\n" + "and the floats transmit their data to the satellites. The bladder then\n" + "deflates and the float returns to its original density and sinks to drift\n" + "until the cycle is repeated. Floats are designed to make about 150 such\n" + "cycles.\n" + "Data Management URL: http://www.argodatamgt.org/Documentation\n" + " Argo Float Vertical Profiles\n" + " \n" + " \n" + " fileNumber\n" + " fileNumber\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " File Number\n" + " \n" + " \n" + " \n" + " DATA_TYPE\n" + " data_type\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " FORMAT_VERSION\n" + " format_version\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " HANDBOOK_VERSION\n" + " handbook_version\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " REFERENCE_DATE_TIME\n" + " reference_date_time\n" + " String\n" + " \n" + " \n" + " null\n" + " Time\n" + " yyyyMMddHHmmss\n" + " \n" + " \n" + " \n" + " DATE_CREATION\n" + " date_creation\n" + " String\n" + " \n" + " \n" + " null\n" + " Time\n" + " yyyyMMddHHmmss\n" + " \n" + " \n" + " \n" + " DATE_UPDATE\n" + " date_update\n" + " String\n" + " \n" + " \n" + " null\n" + " Time\n" + " yyyyMMddHHmmss\n" + " \n" + " \n" + " \n" + " PLATFORM_NUMBER\n" + " platform_number\n" + " String\n" + " \n" + " \n" + " trajectory_id\n" + " Identifier\n" + " \n" + " \n" + " \n" + " PROJECT_NAME\n" + " project_name\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " PI_NAME\n" + " pi_name\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " CYCLE_NUMBER\n" + " cycle_number\n" + " int\n" + " \n" + " \n" + " profile_id\n" + " 200.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " DIRECTION\n" + " direction\n" + " String\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " Currents\n" + " \n" + " \n" + " \n" + " DATA_CENTRE\n" + " data_center\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " DC_REFERENCE\n" + " dc_reference\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " DATA_STATE_INDICATOR\n" + " data_state_indicator\n" + " String\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " DATA_MODE\n" + " data_mode\n" + " String\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " PLATFORM_TYPE\n" + " platform_type\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " FLOAT_SERIAL_NO\n" + " float_serial_no\n" + " String\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " FIRMWARE_VERSION\n" + " firmware_version\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " WMO_INST_TYPE\n" + " wmo_inst_type\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " JULD\n" + " time\n" + " double\n" + " \n" + " \n" + " null\n" + " Time\n" + " null\n" + " \n" + " \n" + " \n" + " JULD_QC\n" + " time_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " JULD_LOCATION\n" + " time_location\n" + " double\n" + " \n" + " \n" + " null\n" + " Time\n" + " null\n" + " time\n" + " \n" + " \n" + " \n" + " LATITUDE\n" + " latitude\n" + " double\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " LONGITUDE\n" + " longitude\n" + " double\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " POSITION_QC\n" + " position_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " POSITIONING_SYSTEM\n" + " positioning_system\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " PROFILE_PRES_QC\n" + " profile_pres_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " PROFILE_TEMP_QC\n" + " profile_temp_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " PROFILE_PSAL_QC\n" + " profile_psal_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " VERTICAL_SAMPLING_SCHEME\n" + " vertical_sampling_scheme\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " CONFIG_MISSION_NUMBER\n" + " config_mission_number\n" + " int\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " PRES\n" + " pres\n" + " float\n" + " \n" + " \n" + " 5000.0\n" + " 0.0\n" + " Sea Level\n" + " null\n" + " \n" + " \n" + " \n" + " PRES_QC\n" + " pres_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " PRES_ADJUSTED\n" + " pres_adjusted\n" + " float\n" + " \n" + " \n" + " 5000.0\n" + " 0.0\n" + " Sea Level\n" + " null\n" + " \n" + " \n" + " \n" + " PRES_ADJUSTED_QC\n" + " pres_adjusted_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " PRES_ADJUSTED_ERROR\n" + " pres_adjusted_error\n" + " float\n" + " \n" + " \n" + " 50.0\n" + " 0.0\n" + " Statistics\n" + " null\n" + " \n" + " \n" + " \n" + " TEMP\n" + " temp\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " null\n" + " \n" + " \n" + " \n" + " TEMP_QC\n" + " temp_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " TEMP_ADJUSTED\n" + " temp_adjusted\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " null\n" + " \n" + " \n" + " \n" + " TEMP_ADJUSTED_QC\n" + " temp_adjusted_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " TEMP_ADJUSTED_ERROR\n" + " temp_adjusted_error\n" + " float\n" + " \n" + " \n" + " 1.0\n" + " 0.0\n" + " Statistics\n" + " null\n" + " \n" + " \n" + " \n" + " PSAL\n" + " psal\n" + " float\n" + " \n" + " \n" + " 37.0\n" + " 32.0\n" + " Salinity\n" + " null\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " PSAL_QC\n" + " psal_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " PSAL_ADJUSTED\n" + " psal_adjusted\n" + " float\n" + " \n" + " \n" + " 37.0\n" + " 32.0\n" + " Salinity\n" + " null\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " PSAL_ADJUSTED_QC\n" + " psal_adjusted_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " PSAL_ADJUSTED_ERROR\n" + " psal_adjusted_error\n" + " float\n" + " \n" + " \n" + " 1.0\n" + " 0.0\n" + " Statistics\n" + " null\n" + " \n" + " \n" + "\n"; } public static EDD getTS_ATMP_AAD() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_TS_ATMP_AAD()); } private static String xmlFragment_TS_ATMP_AAD() throws URISyntaxException { return "\n" + "\t60\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/TS_ATMP_AAD/").toURI()).toString() + "\n" + "\t.*\\.nc\n" + "\ttrue\n" + "\t.*\n" + "\tlast\n" + "\t0\n" + "\tfalse\n" + "\t\n" + "\tfalse\n" + "\t\n" + "\t\t\n" + " TimeSeries\n" + " PLATFORMCODE,SOURCE,latitude,longitude\n" + " (local files)\n" + " http://www.emodnet-physics.eu\n" + " AAD\n" + " AAD - Collection of atmospheric pressure at altitude (ATMP) TimeSeries - IN SITU MultiPointTimeSeriesObservation\n" + " AAD - Collection of atmospheric pressure at altitude (ATMP) TimeSeries - IN SITU MultiPointTimeSeriesObservation\n" + "\t \n" + "\t\n" + "\t\tglobal:platformCode\n" + "\t\tPLATFORMCODE\n" + "\t\tString\n" + "\t\t\n" + "\t\t\tEMODnet Platform Code\n" + "\t\t\ttimeseries_id\n" + " Unknown\n" + "\t\t\n" + "\t \n" + "\t\n" + "\t\t=\"aad\"\n" + "\t\tSOURCE\n" + "\t\tString\n" + "\t\t\n" + "\t\t\tsource\n" + " Unknown\n" + "\t\t\n" + "\t \n" + "\t\n" + "\t\tvariable:ATMP:sensor\n" + "\t\tSENSOR\n" + "\t\tString\n" + "\t\t\n" + "\t\t\tPlatform Sensor\n" + " Unknown\n" + "\t\t\n" + "\t \n" + "\t\n" + "\t\tTIME\n" + "\t\ttime\n" + "\t\tdouble\n" + "\t\t\n" + "\t\t\tnull\n" + " Unknown\n" + "\t\t\n" + "\t\n" + "\t\n" + "\t\tTIME_QC\n" + "\t\tTIME_QC\n" + "\t\tshort\n" + "\t\t\n" + "\t\t\tnull\n" + " Unknown\n" + "\t\t\n" + "\t\n" + "\t\n" + "\t\tDEPTH\n" + "\t\tdepth\n" + "\t\tdouble\n" + "\t\t\n" + "\t\t\tnull\n" + " Unknown\n" + "\t\t\n" + "\t\n" + "\t\n" + "\t\tDEPTH_QC\n" + "\t\tDEPTH_QC\n" + "\t\tshort\n" + "\t\t\n" + "\t\t\tnull\n" + "\t\t\tdepth\n" + " Unknown\n" + "\t\t\n" + "\t\n" + "\t\n" + "\t\tLATITUDE\n" + "\t\tlatitude\n" + "\t\tdouble\n" + "\t\t\n" + "\t\t\tnull\n" + "\t\t\tnull\n" + "\t\t\tgeographical coordinates, WGS84 projection\n" + " Unknown\n" + "\t\t\n" + "\t \n" + "\t\n" + "\t\tLONGITUDE\n" + "\t\tlongitude\n" + "\t\tdouble\n" + "\t\t\n" + "\t\t\tnull\n" + " Unknown\n" + "\t\t\tnull\n" + "\t\t\tgeographical coordinates, WGS84 projection\n" + "\t\t\n" + "\t\n" + "\t\n" + "\t\tPOSITION_QC\n" + "\t\tPOSITION_QC\n" + "\t\tshort\n" + "\t\t\n" + "\t\t\tnull\n" + " Unknown\n" + "\t\t\n" + "\t\n" + "\t\n" + "\t\tATMP\n" + "\t\tATMP\n" + "\t\tdouble\n" + "\t\t\n" + "\t\t\tnull\n" + " Unknown\n" + "\t\t\n" + "\t\n" + "\t\n" + "\t\tATMP_QC\n" + "\t\tATMP_QC\n" + "\t\tshort\n" + "\t\t\n" + "\t\t\tnull\n" + " Unknown\n" + "\t\t\n" + "\t\n" + "\t\n" + "\t\tATMP_DM\n" + "\t\tATMP_DM\n" + "\t\tchar\n" + "\t\t\n" + "\t\t\tnull\n" + " Unknown\n" + "\t\t\n" + "\t\n" + "\t\n" + "\t\t=var p=row.columnString(\"global:platformCode\");var s=\"aad\";var x=\"https://data-erddap.emodnet-physics.eu/erddap/tabledap/EP_PLATFORMS_METADATA.htmlTable?&PLATFORMCODE=%22\"+p+\"%22&integrator_id=%22\"+s+\"%22&distinct()\";return x\n" + "\t\turl_metadata\n" + "\t\tString\n" + "\t\t\n" + "\t\t\tMetadata Link\n" + " Unknown\n" + "\t\t\n" + "\t\n" + "\t\n" + "\t\t=25\n" + "\t\tqc_entity\n" + "\t\tint\n" + "\t\t\n" + " Unknown\n" + "\t\t\t\"https://er2webapps.emodnet-physics.eu/erddap/tabledap/qc_reference_table.htmlTable\n" + "\t\t\n" + "\t\n" + "\n"; } public static EDD gettestTreatDimensionsAs() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTreatDimensionsAs()); } private static String xmlFragment_testTreatDimensionsAs() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/nc/").toURI()).toString() + "\n" + " GL_.*44761\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 4355 \n" + " \n" + " \n" + " \n" + " \n" + " false\n" + " TIME\n" + " false\n" + " \n" + " \n" + " \n" + " Point\n" + " OceanSITES Manual 1.1, CF-1.6, COARDS, ACDD-1.3\n" + " null\n" + " codac@ifremer.fr\n" + " CODAC\n" + " institution\n" + " https://wwz.ifremer.fr/\n" + " http://www.myocean.eu.org\n" + " air, air_pressure_at_sea_level, atmosphere, atmospheric, ATMS, ATMS_DM, ATMS_QC, ATPT, ATPT_DM, ATPT_QC, data, depth, DEPTH_QC, earth, Earth Science > Atmosphere > Atmospheric Pressure > Atmospheric Pressure Measurements, Earth Science > Atmosphere > Atmospheric Pressure > Pressure Tendency, Earth Science > Atmosphere > Atmospheric Pressure > Sea Level Pressure, Earth Science > Atmosphere > Atmospheric Pressure > Static Pressure, Earth Science > Oceans > Ocean Temperature > Water Temperature, flag, hour, hourly, institution, latitude, level, local, longitude, measurements, method, ocean, oceans, pressure, processing, quality, science, sea, sea_water_temperature, seawater, source, static, TEMP, TEMP_DM, TEMP_QC, temperature, tendency, tendency_of_air_pressure, time, TIME_QC, water\n" + " GCMD Science Keywords\n" + " These data follow MyOcean standards; they are public and free of charge. User assumes all risk for use of data. User must display citation in any publication or product using data. User must contact PI prior to any commercial use of data. More on: http://www.myocean.eu/data_policy\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " TIME_QC, depth, DEPTH_QC, TEMP_QC, TEMP_DM, ATPT_QC, ATPT_DM, ATMS_QC, ATMS_DM\n" + " Unknown institution data from a local source.\n" + " The Title for testTreatDimensionsAs\n" + " LATITUDE, TIME; LONGITUDE, TIME; ZZTOP, TIME \n" + " \n" + " \n" + " TIME\n" + " time\n" + " double\n" + " \n" + " \n" + " 8.0E9\n" + " -2.0E9\n" + " Time\n" + " \n" + " \n" + " \n" + " TIME_QC\n" + " TIME_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " DEPTH\n" + " depth\n" + " float\n" + " \n" + " \n" + " 8000.0\n" + " -8000.0\n" + " TopographyDepth\n" + " Location\n" + " null\n" + " sea_level\n" + " \n" + " \n" + " \n" + " DEPTH_QC\n" + " DEPTH_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " depth\n" + " \n" + " \n" + " \n" + " LATITUDE\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " LONGITUDE\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " TEMP\n" + " TEMP\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " \n" + " \n" + " \n" + " TEMP_QC\n" + " TEMP_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " TEMP_DM\n" + " TEMP_DM\n" + " char\n" + " \n" + " \n" + " 20.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " ATPT\n" + " ATPT\n" + " float\n" + " \n" + " \n" + " 3.0\n" + " -3.0\n" + " Pressure\n" + " \n" + " \n" + " \n" + " ATPT_QC\n" + " ATPT_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " ATPT_DM\n" + " ATPT_DM\n" + " char\n" + " \n" + " \n" + " 20.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " ATMS\n" + " ATMS\n" + " float\n" + " \n" + " \n" + " 1050.0\n" + " 950.0\n" + " Pressure\n" + " \n" + " \n" + " \n" + " ATMS_QC\n" + " ATMS_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " ATMS_DM\n" + " ATMS_DM\n" + " char\n" + " \n" + " \n" + " 20.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + "\n"; } public static EDD gettestTreatDimensionsAs2() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testTreatDimensionsAs2()); } private static String xmlFragment_testTreatDimensionsAs2() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/marco/example2/").toURI()).toString() + "\n" + " BS_.*\\.nc\n" + " true\n" + " .*\n" + " last\n" + " 4355\n" + " \n" + " \n" + " \n" + " \n" + " false\n" + " TIME\n" + " false\n" + " \n" + " \n" + " \n" + " CF-1.6 OceanSITES-Manual-1.2 Copernicus-InSituTAC-SRD-1.3 Copernicus-InSituTAC-ParametersList-3.0.0, COARDS, ACDD-1.3\n" + " Point\n" + " cmems-service@io-bas.bg\n" + " Unknown institution\n" + " http://www.oceansites.org\n" + " http://www.oceansites.org\n" + " air, air_pressure_at_sea_level, air_temperature, atmosphere, atmospheric, ATMS, ATMS_DM, ATMS_QC, bulb, currents, data, DEPH_DM, DEPH_QC, depth, dew, dew point, dew_point_temperature, DEWT, DEWT_DM, DEWT_QC, direction, dry, DRYT, DRYT_DM, DRYT_QC, earth, Earth Science > Atmosphere > Atmospheric Pressure > Atmospheric Pressure Measurements, Earth Science > Atmosphere > Atmospheric Pressure > Sea Level Pressure, Earth Science > Atmosphere > Atmospheric Pressure > Static Pressure, Earth Science > Atmosphere > Atmospheric Temperature > Air Temperature, Earth Science > Atmosphere > Atmospheric Temperature > Dew Point Temperature, Earth Science > Atmosphere > Atmospheric Temperature > Surface Air Temperature, Earth Science > Atmosphere > Atmospheric Water Vapor > Dew Point Temperature, Earth Science > Atmosphere > Atmospheric Water Vapor > Humidity, Earth Science > Atmosphere > Atmospheric Winds > Surface Winds, flag, GSPD, GSPD_DM, GSPD_QC, gust, horizontal, humidity, institution, latitude, level, local, longitude, measurements, meteorology, method, north, point, pressure, processing, quality, relative, relative_humidity, RELH, RELH_DM, RELH_QC, science, sea, seawater, source, speed, static, surface, temperature, time, TIME_QC, true, vapor, water, WDIR, WDIR_DM, WDIR_QC, wind, wind_from_direction, wind_speed, wind_speed_of_gust, winds, WSPD, WSPD_DM, WSPD_QC\n" + " GCMD Science Keywords\n" + " These data follow Copernicus standards; they are public and free of charge. User assumes all risk for use of data. User must display citation in any publication or product using data. User must contact PI prior to any commercial use of data.\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " latitude, longitude, depth\n" + " Unknown institution data from a local source.\n" + " Unknown institution data from a local source.\n" + " LATITUDE, LONGITUDE, TIME\n" + " \n" + " \n" + " TIME\n" + " time\n" + " double\n" + " \n" + " \n" + " 8.0E9\n" + " -2.0E9\n" + " Time\n" + " \n" + " \n" + " \n" + " TIME_QC\n" + " TIME_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " LATITUDE\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " LONGITUDE\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " DEPH\n" + " depth\n" + " float\n" + " \n" + " \n" + " 8000.0\n" + " -8000.0\n" + " TopographyDepth\n" + " Location\n" + " DEPH\n" + " \n" + " \n" + " \n" + " DEPH_QC\n" + " DEPH_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " DEPH_DM\n" + " DEPH_DM\n" + " char\n" + " \n" + " \n" + " 20.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " RELH\n" + " RELH\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Meteorology\n" + " percent\n" + " \n" + " \n" + " \n" + " RELH_QC\n" + " RELH_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " RELH_DM\n" + " RELH_DM\n" + " char\n" + " \n" + " \n" + " 20.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " ATMS\n" + " ATMS\n" + " float\n" + " \n" + " \n" + " 1050.0\n" + " 950.0\n" + " Pressure\n" + " \n" + " \n" + " \n" + " ATMS_QC\n" + " ATMS_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " ATMS_DM\n" + " ATMS_DM\n" + " char\n" + " \n" + " \n" + " 20.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " DRYT\n" + " DRYT\n" + " float\n" + " \n" + " \n" + " 40.0\n" + " -10.0\n" + " Temperature\n" + " \n" + " \n" + " \n" + " DRYT_QC\n" + " DRYT_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " DRYT_DM\n" + " DRYT_DM\n" + " char\n" + " \n" + " \n" + " 20.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " DEWT\n" + " DEWT\n" + " float\n" + " \n" + " \n" + " 40.0\n" + " 0.0\n" + " Temperature\n" + " \n" + " \n" + " \n" + " DEWT_QC\n" + " DEWT_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " DEWT_DM\n" + " DEWT_DM\n" + " char\n" + " \n" + " \n" + " 20.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " WSPD\n" + " WSPD\n" + " float\n" + " \n" + " \n" + " 15.0\n" + " 0.0\n" + " Wind\n" + " \n" + " \n" + " \n" + " WSPD_QC\n" + " WSPD_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " WSPD_DM\n" + " WSPD_DM\n" + " char\n" + " \n" + " \n" + " 20.0\n" + " 0.0\n" + " Wind\n" + " wind_speed\n" + " \n" + " \n" + " \n" + " WDIR\n" + " WDIR\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " Wind\n" + " \n" + " \n" + " \n" + " WDIR_QC\n" + " WDIR_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " WDIR_DM\n" + " WDIR_DM\n" + " char\n" + " \n" + " \n" + " 20.0\n" + " 0.0\n" + " Wind\n" + " \n" + " \n" + " \n" + " GSPD\n" + " GSPD\n" + " float\n" + " \n" + " \n" + " 30.0\n" + " 0.0\n" + " Wind\n" + " \n" + " \n" + " \n" + " GSPD_QC\n" + " GSPD_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " GSPD_DM\n" + " GSPD_DM\n" + " char\n" + " \n" + " \n" + " 20.0\n" + " 0.0\n" + " Currents\n" + " \n" + " \n" + "\n"; } public static EDD gettestLong() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testLong()); } private static String xmlFragment_testLong() throws URISyntaxException { return "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/nc/").toURI()).toString() + "\n" + " testLong\\.nc\n" + " true\n" + " .*\n" + " last\n" + " \n" + " \n" + " \n" + " \n" + " false\n" + " \n" + " false\n" + " \n" + " \n" + " \n" + " TimeSeries\n" + " feature_type_instance, latitude, longitude, crs, platform, depth, deploy_id\n" + " CF-1.6,ACDD-1.3, COARDS\n" + " person\n" + " http://oceanobservatories.org\n" + " CGSN\n" + " bank, batteries, battery\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " feature_type_instance, latitude, longitude, crs, platform, depth, deploy_id\n" + " \n" + " \n" + " feature_type_instance\n" + " feature_type_instance\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " latitude\n" + " latitude\n" + " double\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " \n" + " \n" + " \n" + " longitude\n" + " longitude\n" + " double\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " \n" + " \n" + " \n" + " crs\n" + " crs\n" + " int\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " platform\n" + " platform\n" + " int\n" + " \n" + " \n" + " Wind\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " double\n" + " \n" + " \n" + " null\n" + " Time\n" + " 1970-01-01T00:00:00.000Z\n" + " \n" + " \n" + " \n" + " z\n" + " depth\n" + " double\n" + " \n" + " \n" + " 8000.0\n" + " -8000.0\n" + " TopographyDepth\n" + " Location\n" + " \n" + " \n" + " \n" + " battery_bank1_current\n" + " battery_bank1_current\n" + " double\n" + " \n" + " \n" + " null\n" + " null\n" + " Unknown\n" + " \n" + " \n" + " \n" + " battery_bank1_temperature\n" + " battery_bank1_temperature\n" + " double\n" + " \n" + " \n" + " null\n" + " null\n" + " Temperature\n" + " degree_Celsius\n" + " \n" + " \n" + " \n" + " dcl_date_time_string\n" + " dcl_date_time_string\n" + " String\n" + " \n" + " \n" + " null\n" + " Time\n" + " 1970-01-01T00:00:00.000Z\n" + " yyyy/MM/dd HH:mm:ss.SSS\n" + " \n" + " \n" + " \n" + " error_flag1\n" + " error_flag1\n" + " long\n" + " \n" + " \n" + " 2.5E9\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " error_flag2\n" + " error_flag2\n" + " long\n" + " \n" + " \n" + " 5000000.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " error_flag3\n" + " error_flag3\n" + " long\n" + " \n" + " \n" + " 2.5e9\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " deploy_id\n" + " deploy_id\n" + " String\n" + " \n" + " \n" + " null\n" + " Identifier\n" + " \n" + " \n" + "\n"; } public static EDD getW1M3A() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_W1M3A()); } private static String xmlFragment_W1M3A() throws URISyntaxException { return "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/briand/W1M3A/").toURI()).toString() + "\n" + " .*\\.nc\n" + " true\n" + " .*\n" + " last\n" + " \n" + " \n" + " \n" + " \n" + " TIME\n" + " TIME\n" + " false\n" + " \n" + " Profile\n" + "longitude, latitude, time\n" + " \n" + " \n" + " \n" + " OceanSITES Manual 1.1, CF-1.6, COARDS, ACDD-1.3\n" + " boz@ge.issia.cnr.it\n" + " BOZ\n" + " http://wwz.ifremer.fr/\n" + " http://www.oceansites.org/index.html\n" + " Oceansites project\n" + " air, air_pressure_at_sea_level, air_temperature, assembly, atmosphere,\n" + "Atmosphere > Atmospheric Pressure > Atmospheric Pressure Measurements,\n" + "Atmosphere > Atmospheric Pressure > Sea Level Pressure,\n" + "Atmosphere > Atmospheric Pressure > Static Pressure,\n" + "Atmosphere > Atmospheric Temperature > Air Temperature,\n" + "Atmosphere > Atmospheric Temperature > Surface Air Temperature,\n" + "Atmosphere > Atmospheric Water Vapor > Humidity,\n" + "Atmosphere > Atmospheric Winds > Surface Winds,\n" + "Atmosphere > Precipitation > Liquid Water Equivalent,\n" + "Atmosphere > Precipitation > Precipitation Rate,\n" + "atmospheric, ATMS, ATMS_QC, bulb, centres, CNDC, CNDC_QC, cnr, conductivity, consiglio, council, data, delle, density, DEPH, DEPH_QC, depth, direction, dry, DRYT, DRYT_QC, each, electrical, equivalent, exploitation, flag, francais, gdac, GSPD, GSPD_QC, gust, HEAD, HEAD_QC, heading, horizontal, humidity, ifremer, in-situ, incident, incoming, institut, its, its-90, level, LINC, LINC_QC, liquid, long, long-wave, lwe, lwe_precipitation_rate, measurement, measurements, mer, national, nazionale, north, noth, ocean, oceans,\n" + "Oceans > Ocean Temperature > Water Temperature,\n" + "Oceans > Salinity/Density > Conductivity,\n" + "oceansites, platform, pour, precipitation, pressure, PRRT, PRRT_QC, quality, radiation, rain, rainfall, rate, RDIN, RDIN_QC, recherche, regional, rel, relative, relative_humidity, RELH, RELH_QC, research, ricerche, salinity, scale, sea, sea_water_electrical_conductivity, sea_water_temperature, seawater, situ, speed, static, surface, tabledap, TEMP, TEMP_QC, temperature, time, true, vapor, water, wave, WDIR, WDIR_QC, wind, wind_speed, wind_speed_of_gust, wind_to_direction, winds, WSPD, WSPD_QC, xxx\n" + " GCMD Science Keywords\n" + " Follows CLIVAR (Climate Varibility and Predictability)standards, cf.http://www.clivar.org/data/data_policy.php. Data available free of charge.User assumes ll risk foruse of data. User mustdisplay citation in anypublication or product usingdata. User must contact PIprior to any commercial useof data\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " OceanSITES is a worldwide system of long-term, open-ocean reference stations measuring dozens of variables and monitoring the full depth of the ocean from air-sea interactions down to the seafloor. It is a network of stations or observatories measuring many aspects of the ocean's surface and water column using, where possible, automated systems with advanced sensors and telecommunications systems, yielding high time resolution, often in real-time, while building a long record. Observations cover meteorology, physical oceanography, transport of water, biogeochemistry, and parameters relevant to the carbon cycle, ocean acidification, the ecosystem, and geophysics.\n" + " Oceansites W1M3A tabledap\n" + " \n" + " \n" + " TIME\n" + " time\n" + " double\n" + " \n" + " \n" + " profile_id\n" + " 100000.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " TIME_QC\n" + " TIME_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " DEPTH\n" + " depth\n" + " float\n" + " \n" + " \n" + " 8000.0\n" + " 0.0\n" + " Rainbow\n" + " m\n" + " Unknown\n" + " \n" + " \n" + " \n" + " DEPTH_QC\n" + " DEPTH_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " LATITUDE\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " LONGITUDE\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " POSITION_QC\n" + " POSITION_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " DEPH\n" + " DEPH\n" + " float\n" + " \n" + " \n" + " 8000.0\n" + " 0.0\n" + " Rainbow\n" + " null\n" + " Unknown\n" + " \n" + " \n" + " \n" + " DEPH_QC\n" + " DEPH_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " ATMS\n" + " ATMS\n" + " float\n" + " \n" + " \n" + " 1050.0\n" + " 950.0\n" + " null\n" + " Unknown\n" + " \n" + " \n" + " \n" + " ATMS_QC\n" + " ATMS_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " WSPD\n" + " WSPD\n" + " float\n" + " \n" + " \n" + " 15.0\n" + " 0.0\n" + " null\n" + " Unknown\n" + " \n" + " \n" + " \n" + " WSPD_QC\n" + " WSPD_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " WDIR\n" + " WDIR\n" + " float\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " null\n" + " Unknown\n" + " \n" + " \n" + " \n" + " WDIR_QC\n" + " WDIR_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " HEAD\n" + " HEAD\n" + " float\n" + " \n" + " \n" + " 1.0\n" + " -1.0\n" + " null\n" + " Unknown\n" + " \n" + " \n" + " \n" + " HEAD_QC\n" + " HEAD_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " RELH\n" + " RELH\n" + " float\n" + " \n" + " \n" + " 100.0\n" + " 20.0\n" + " null\n" + " Unknown\n" + " \n" + " \n" + " \n" + " RELH_QC\n" + " RELH_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " GSPD\n" + " GSPD\n" + " float\n" + " \n" + " \n" + " 30.0\n" + " 0.0\n" + " null\n" + " Unknown\n" + " \n" + " \n" + " \n" + " GSPD_QC\n" + " GSPD_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " RDIN\n" + " RDIN\n" + " float\n" + " \n" + " \n" + " 1.0\n" + " -1.0\n" + " null\n" + " Unknown\n" + " \n" + " \n" + " \n" + " RDIN_QC\n" + " RDIN_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " PRRT\n" + " PRRT\n" + " float\n" + " \n" + " \n" + " 1.0E-4\n" + " 0.0\n" + " null\n" + " Unknown\n" + " \n" + " \n" + " \n" + " PRRT_QC\n" + " PRRT_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " DRYT\n" + " DRYT\n" + " float\n" + " \n" + " \n" + " 40.0\n" + " -10.0\n" + " null\n" + " Unknown\n" + " \n" + " \n" + " \n" + " DRYT_QC\n" + " DRYT_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " TEMP\n" + " TEMP\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " null\n" + " Unknown\n" + " -3.4E38\n" + " \n" + " \n" + " \n" + " TEMP_QC\n" + " TEMP_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " LINC\n" + " LINC\n" + " float\n" + " \n" + " \n" + " 1.0\n" + " -1.0\n" + " null\n" + " Unknown\n" + " \n" + " \n" + " \n" + " LINC_QC\n" + " LINC_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + " \n" + " CNDC\n" + " CNDC\n" + " float\n" + " \n" + " \n" + " 40.0\n" + " 30.0\n" + " null\n" + " Unknown\n" + " \n" + " \n" + " \n" + " CNDC_QC\n" + " CNDC_QC\n" + " byte\n" + " \n" + " \n" + " 10.0\n" + " 0.0\n" + " Unknown\n" + " \n" + " \n" + "\n"; } public static EDD gettestCharAsString() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testCharAsString()); } private static String xmlFragment_testCharAsString() throws URISyntaxException { return "\n" + "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/nccf/testCharAsString/").toURI()) .toString() + "\n" + " .*_prof\\.nc\n" + " true\n" + " .*\n" + " last\n" + " ^\n" + " _prof.nc$\n" + " .*\n" + " fileNumber\n" + " \n" + " false\n" + " \n" + " false\n" + " \n" + " \n" + " pres\n" + " TrajectoryProfile\n" + " platform_number, project_name, pi_name, platform_type, float_serial_no\n" + " cycle_number, data_type, format_version, handbook_version, reference_date_time, date_creation, date_update, direction, data_center, dc_reference, data_state_indicator, data_mode, firmware_version, wmo_inst_type, time, time_qc, time_location, latitude, longitude, position_qc, positioning_system, profile_pres_qc, profile_temp_qc, profile_psal_qc, vertical_sampling_scheme\n" + " \n" + " \n" + " \n" + " Argo-3.1, CF-1.6, COARDS, ACDD-1.3\n" + " support@argo.net\n" + " Argo\n" + " http://www.argo.net/\n" + " \n" + " http://www.argo.net/\n" + " Argo\n" + " adjusted, argo, array, assembly, best, centre, centres, charge, coded, CONFIG_MISSION_NUMBER, contains, coriolis, creation, currents, cycle, CYCLE_NUMBER, data, DATA_CENTRE, DATA_MODE, DATA_STATE_INDICATOR, DATA_TYPE, date, DATE_CREATION, DATE_UPDATE, day, days, DC_REFERENCE, degree, delayed, denoting, density, determined, direction, equals, error, estimate, file, firmware, FIRMWARE_VERSION, flag, float, FLOAT_SERIAL_NO, format, FORMAT_VERSION, gdac, geostrophic, global, handbook, HANDBOOK_VERSION, have, identifier, in-situ, instrument, investigator, its, its-90, JULD, JULD_LOCATION, JULD_QC, julian, latitude, level, longitude, missions, mode, name, number, ocean, oceanography, oceans,\n" + "Oceans > Ocean Pressure > Water Pressure,\n" + "Oceans > Ocean Temperature > Water Temperature,\n" + "Oceans > Salinity/Density > Salinity,\n" + "passed, performed, PI_NAME, PLATFORM_NUMBER, PLATFORM_TYPE, position, POSITION_QC, positioning, POSITIONING_SYSTEM, practical, pres, PRES_ADJUSTED, PRES_ADJUSTED_ERROR, PRES_ADJUSTED_QC, PRES_QC, pressure, principal, process, processing, profile, PROFILE_PRES_QC, PROFILE_PSAL_QC, PROFILE_TEMP_QC, profiles, project, PROJECT_NAME, psal, PSAL_ADJUSTED, PSAL_ADJUSTED_ERROR, PSAL_ADJUSTED_QC, PSAL_QC, quality, rdac, real, real time, real-time, realtime, reference, REFERENCE_DATE_TIME, regional, relative, salinity, sampling, scale, scheme, sea, sea level, sea-level, sea_water_practical_salinity, sea_water_pressure, sea_water_temperature, seawater, serial, situ, station, statistics, system, TEMP, TEMP_ADJUSTED, TEMP_ADJUSTED_ERROR, TEMP_ADJUSTED_QC, TEMP_QC, temperature, through, time, type, unique, update, values, version, vertical, VERTICAL_SAMPLING_SCHEME, water, WMO_INST_TYPE\n" + " GCMD Science Keywords\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v29\n" + " \n" + "Argo float vertical profiles from Coriolis Global Data Assembly Centres\n" + "(GDAC). Argo is an international collaboration that collects high-quality\n" + "temperature and salinity profiles from the upper 2000m of the ice-free\n" + "global ocean and currents from intermediate depths. The data come from\n" + "battery-powered autonomous floats that spend most of their life drifting\n" + "at depth where they are stabilised by being neutrally buoyant at the\n" + "\"parking depth\" pressure by having a density equal to the ambient pressure\n" + "and a compressibility that is less than that of sea water. At present there\n" + "are several models of profiling float used in Argo. All work in a similar\n" + "fashion but differ somewhat in their design characteristics. At typically\n" + "10-day intervals, the floats pump fluid into an external bladder and rise\n" + "to the surface over about 6 hours while measuring temperature and salinity.\n" + "Satellites or GPS determine the position of the floats when they surface,\n" + "and the floats transmit their data to the satellites. The bladder then\n" + "deflates and the float returns to its original density and sinks to drift\n" + "until the cycle is repeated. Floats are designed to make about 150 such\n" + "cycles.\n" + "Data Management URL: http://www.argodatamgt.org/Documentation\n" + " Argo Float Vertical Profiles\n" + " \n" + " \n" + " fileNumber\n" + " fileNumber\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " File Number\n" + " \n" + " \n" + " \n" + " DATA_TYPE\n" + " data_type\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " FORMAT_VERSION\n" + " format_version\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " HANDBOOK_VERSION\n" + " handbook_version\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " REFERENCE_DATE_TIME\n" + " reference_date_time\n" + " String\n" + " \n" + " \n" + " null\n" + " Time\n" + " yyyyMMddHHmmss\n" + " \n" + " \n" + " \n" + " DATE_CREATION\n" + " date_creation\n" + " String\n" + " \n" + " \n" + " null\n" + " Time\n" + " yyyyMMddHHmmss\n" + " \n" + " \n" + " \n" + " DATE_UPDATE\n" + " date_update\n" + " String\n" + " \n" + " \n" + " null\n" + " Time\n" + " yyyyMMddHHmmss\n" + " \n" + " \n" + " \n" + " PLATFORM_NUMBER\n" + " platform_number\n" + " String\n" + " \n" + " \n" + " trajectory_id\n" + " Identifier\n" + " \n" + " \n" + " \n" + " PROJECT_NAME\n" + " project_name\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " PI_NAME\n" + " pi_name\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " CYCLE_NUMBER\n" + " cycle_number\n" + " int\n" + " \n" + " \n" + " profile_id\n" + " 200.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " DIRECTION\n" + " direction\n" + " String\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " Currents\n" + " \n" + " \n" + " \n" + " DATA_CENTRE\n" + " data_center\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " DC_REFERENCE\n" + " dc_reference\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " DATA_STATE_INDICATOR\n" + " data_state_indicator\n" + " String\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " DATA_MODE\n" + " data_mode\n" + " String\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " PLATFORM_TYPE\n" + " platform_type\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " FLOAT_SERIAL_NO\n" + " float_serial_no\n" + " String\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " FIRMWARE_VERSION\n" + " firmware_version\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " WMO_INST_TYPE\n" + " wmo_inst_type\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " JULD\n" + " time\n" + " double\n" + " \n" + " \n" + " null\n" + " Time\n" + " null\n" + " \n" + " \n" + " \n" + " JULD_QC\n" + " time_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " JULD_LOCATION\n" + " time_location\n" + " double\n" + " \n" + " \n" + " null\n" + " Time\n" + " null\n" + " time\n" + " \n" + " \n" + " \n" + " LATITUDE\n" + " latitude\n" + " double\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " LONGITUDE\n" + " longitude\n" + " double\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " POSITION_QC\n" + " position_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " POSITIONING_SYSTEM\n" + " positioning_system\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " PROFILE_PRES_QC\n" + " profile_pres_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " PROFILE_TEMP_QC\n" + " profile_temp_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " PROFILE_PSAL_QC\n" + " profile_psal_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " VERTICAL_SAMPLING_SCHEME\n" + " vertical_sampling_scheme\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " CONFIG_MISSION_NUMBER\n" + " config_mission_number\n" + " int\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " PRES\n" + " pres\n" + " float\n" + " \n" + " \n" + " 5000.0\n" + " 0.0\n" + " Sea Level\n" + " null\n" + " \n" + " \n" + " \n" + " PRES_QC\n" + " pres_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " PRES_ADJUSTED\n" + " pres_adjusted\n" + " float\n" + " \n" + " \n" + " 5000.0\n" + " 0.0\n" + " Sea Level\n" + " null\n" + " \n" + " \n" + " \n" + " PRES_ADJUSTED_QC\n" + " pres_adjusted_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " PRES_ADJUSTED_ERROR\n" + " pres_aqdjusted_error\n" + " float\n" + " \n" + " \n" + " 50.0\n" + " 0.0\n" + " Statistics\n" + " null\n" + " \n" + " \n" + " \n" + " TEMP\n" + " temp\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " null\n" + " \n" + " \n" + " \n" + " TEMP_QC\n" + " temp_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " TEMP_ADJUSTED\n" + " temp_adjusted\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " null\n" + " \n" + " \n" + " \n" + " TEMP_ADJUSTED_QC\n" + " temp_adjusted_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " TEMP_ADJUSTED_ERROR\n" + " temp_adjusted_error\n" + " float\n" + " \n" + " \n" + " 1.0\n" + " 0.0\n" + " Statistics\n" + " null\n" + " \n" + " \n" + " \n" + " PSAL\n" + " psal\n" + " float\n" + " \n" + " \n" + " 37.0\n" + " 32.0\n" + " Salinity\n" + " null\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " PSAL_QC\n" + " psal_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " PSAL_ADJUSTED\n" + " psal_adjusted\n" + " float\n" + " \n" + " \n" + " 37.0\n" + " 32.0\n" + " Salinity\n" + " null\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " PSAL_ADJUSTED_QC\n" + " psal_adjusted_qc\n" + " String\n" + " \n" + " \n" + " 150.0\n" + " 0.0\n" + " Quality\n" + " \n" + " \n" + " \n" + " PSAL_ADJUSTED_ERROR\n" + " psal_adjusted_error\n" + " float\n" + " \n" + " \n" + " 1.0\n" + " 0.0\n" + " Statistics\n" + " null\n" + " \n" + " \n" + "\n" + "\n"; } public static EDD gettestCharAsChar() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testCharAsChar()); } private static String xmlFragment_testCharAsChar() throws URISyntaxException { return "\n" + "\n" + " 1440\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/nccf/testCharAsString/").toURI()) .toString() + "\n" + " .*_prof\\.nc\n" + " true\n" + " .*\n" + " last\n" + " ^\n" + " _prof.nc$\n" + " .*\n" + " fileNumber\n" + " \n" + " false\n" + " \n" + " false\n" + " \n" + " \n" + " pres\n" + " TrajectoryProfile\n" + " platform_number, project_name, pi_name, platform_type, float_serial_no\n" + " cycle_number, data_type, format_version, handbook_version, reference_date_time, date_creation, date_update, direction, data_center, dc_reference, data_state_indicator, data_mode, firmware_version, wmo_inst_type, time, time_qc, time_location, latitude, longitude, position_qc, positioning_system, profile_pres_qc, profile_temp_qc, profile_psal_qc, vertical_sampling_scheme\n" + " \n" + " \n" + " \n" + " Argo-3.1, CF-1.6, COARDS, ACDD-1.3\n" + " support@argo.net\n" + " Argo\n" + " http://www.argo.net/\n" + " \n" + " http://www.argo.net/\n" + " Argo\n" + " adjusted, argo, array, assembly, best, centre, centres, charge, coded, CONFIG_MISSION_NUMBER, contains, coriolis, creation, currents, cycle, CYCLE_NUMBER, data, DATA_CENTRE, DATA_MODE, DATA_STATE_INDICATOR, DATA_TYPE, date, DATE_CREATION, DATE_UPDATE, day, days, DC_REFERENCE, degree, delayed, denoting, density, determined, direction, equals, error, estimate, file, firmware, FIRMWARE_VERSION, flag, float, FLOAT_SERIAL_NO, format, FORMAT_VERSION, gdac, geostrophic, global, handbook, HANDBOOK_VERSION, have, identifier, in-situ, instrument, investigator, its, its-90, JULD, JULD_LOCATION, JULD_QC, julian, latitude, level, longitude, missions, mode, name, number, ocean, oceanography, oceans,\n" + "Oceans > Ocean Pressure > Water Pressure,\n" + "Oceans > Ocean Temperature > Water Temperature,\n" + "Oceans > Salinity/Density > Salinity,\n" + "passed, performed, PI_NAME, PLATFORM_NUMBER, PLATFORM_TYPE, position, POSITION_QC, positioning, POSITIONING_SYSTEM, practical, pres, PRES_ADJUSTED, PRES_ADJUSTED_ERROR, PRES_ADJUSTED_QC, PRES_QC, pressure, principal, process, processing, profile, PROFILE_PRES_QC, PROFILE_PSAL_QC, PROFILE_TEMP_QC, profiles, project, PROJECT_NAME, psal, PSAL_ADJUSTED, PSAL_ADJUSTED_ERROR, PSAL_ADJUSTED_QC, PSAL_QC, quality, rdac, real, real time, real-time, realtime, reference, REFERENCE_DATE_TIME, regional, relative, salinity, sampling, scale, scheme, sea, sea level, sea-level, sea_water_practical_salinity, sea_water_pressure, sea_water_temperature, seawater, serial, situ, station, statistics, system, TEMP, TEMP_ADJUSTED, TEMP_ADJUSTED_ERROR, TEMP_ADJUSTED_QC, TEMP_QC, temperature, through, time, type, unique, update, values, version, vertical, VERTICAL_SAMPLING_SCHEME, water, WMO_INST_TYPE\n" + " GCMD Science Keywords\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v29\n" + " \n" + "Argo float vertical profiles from Coriolis Global Data Assembly Centres\n" + "(GDAC). Argo is an international collaboration that collects high-quality\n" + "temperature and salinity profiles from the upper 2000m of the ice-free\n" + "global ocean and currents from intermediate depths. The data come from\n" + "battery-powered autonomous floats that spend most of their life drifting\n" + "at depth where they are stabilised by being neutrally buoyant at the\n" + "\"parking depth\" pressure by having a density equal to the ambient pressure\n" + "and a compressibility that is less than that of sea water. At present there\n" + "are several models of profiling float used in Argo. All work in a similar\n" + "fashion but differ somewhat in their design characteristics. At typically\n" + "10-day intervals, the floats pump fluid into an external bladder and rise\n" + "to the surface over about 6 hours while measuring temperature and salinity.\n" + "Satellites or GPS determine the position of the floats when they surface,\n" + "and the floats transmit their data to the satellites. The bladder then\n" + "deflates and the float returns to its original density and sinks to drift\n" + "until the cycle is repeated. Floats are designed to make about 150 such\n" + "cycles.\n" + "Data Management URL: http://www.argodatamgt.org/Documentation\n" + " Argo Float Vertical Profiles\n" + " \n" + " \n" + " fileNumber\n" + " fileNumber\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " File Number\n" + " \n" + " \n" + " \n" + " DATA_TYPE\n" + " data_type\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " FORMAT_VERSION\n" + " format_version\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " HANDBOOK_VERSION\n" + " handbook_version\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " REFERENCE_DATE_TIME\n" + " reference_date_time\n" + " String\n" + " \n" + " \n" + " null\n" + " Time\n" + " yyyyMMddHHmmss\n" + " \n" + " \n" + " \n" + " DATE_CREATION\n" + " date_creation\n" + " String\n" + " \n" + " \n" + " null\n" + " Time\n" + " yyyyMMddHHmmss\n" + " \n" + " \n" + " \n" + " DATE_UPDATE\n" + " date_update\n" + " String\n" + " \n" + " \n" + " null\n" + " Time\n" + " yyyyMMddHHmmss\n" + " \n" + " \n" + " \n" + " PLATFORM_NUMBER\n" + " platform_number\n" + " String\n" + " \n" + " \n" + " trajectory_id\n" + " Identifier\n" + " \n" + " \n" + " \n" + " PROJECT_NAME\n" + " project_name\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " PI_NAME\n" + " pi_name\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " CYCLE_NUMBER\n" + " cycle_number\n" + " int\n" + " \n" + " \n" + " profile_id\n" + " 200.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " DIRECTION\n" + " direction\n" + " char\n" + " \n" + " \n" + " 360.0\n" + " 0.0\n" + " Currents\n" + " \n" + " \n" + " \n" + " DATA_CENTRE\n" + " data_center\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " DC_REFERENCE\n" + " dc_reference\n" + " String\n" + " \n" + " \n" + " Identifier\n" + " \n" + " \n" + " \n" + " DATA_STATE_INDICATOR\n" + " data_state_indicator\n" + " String\n" + " \n" + " \n" + " Location\n" + " \n" + " \n" + " \n" + " DATA_MODE\n" + " data_mode\n" + " char\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " PLATFORM_TYPE\n" + " platform_type\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " FLOAT_SERIAL_NO\n" + " float_serial_no\n" + " String\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " FIRMWARE_VERSION\n" + " firmware_version\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " WMO_INST_TYPE\n" + " wmo_inst_type\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " JULD\n" + " time\n" + " double\n" + " \n" + " \n" + " null\n" + " Time\n" + " null\n" + " \n" + " \n" + " \n" + " JULD_QC\n" + " time_qc\n" + " char\n" + " \n" + " \n" + " Quality\n" + " \n" + " \n" + " \n" + " JULD_LOCATION\n" + " time_location\n" + " double\n" + " \n" + " \n" + " null\n" + " Time\n" + " null\n" + " time\n" + " \n" + " \n" + " \n" + " LATITUDE\n" + " latitude\n" + " double\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " degrees_north\n" + " \n" + " \n" + " \n" + " LONGITUDE\n" + " longitude\n" + " double\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " degrees_east\n" + " \n" + " \n" + " \n" + " POSITION_QC\n" + " position_qc\n" + " char\n" + " \n" + " \n" + " Quality\n" + " \n" + " \n" + " \n" + " POSITIONING_SYSTEM\n" + " positioning_system\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " PROFILE_PRES_QC\n" + " profile_pres_qc\n" + " char\n" + " \n" + " \n" + " Quality\n" + " \n" + " \n" + " \n" + " PROFILE_TEMP_QC\n" + " profile_temp_qc\n" + " char\n" + " \n" + " \n" + " Quality\n" + " \n" + " \n" + " \n" + " PROFILE_PSAL_QC\n" + " profile_psal_qc\n" + " char\n" + " \n" + " \n" + " Quality\n" + " \n" + " \n" + " \n" + " VERTICAL_SAMPLING_SCHEME\n" + " vertical_sampling_scheme\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " \n" + " \n" + " \n" + " CONFIG_MISSION_NUMBER\n" + " config_mission_number\n" + " int\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " \n" + " \n" + " \n" + " PRES\n" + " pres\n" + " float\n" + " \n" + " \n" + " 5000.0\n" + " 0.0\n" + " Sea Level\n" + " null\n" + " \n" + " \n" + " \n" + " PRES_QC\n" + " pres_qc\n" + " char\n" + " \n" + " \n" + " Quality\n" + " \n" + " \n" + " \n" + " PRES_ADJUSTED\n" + " pres_adjusted\n" + " float\n" + " \n" + " \n" + " 5000.0\n" + " 0.0\n" + " Sea Level\n" + " null\n" + " \n" + " \n" + " \n" + " PRES_ADJUSTED_QC\n" + " pres_adjusted_qc\n" + " char\n" + " \n" + " \n" + " Quality\n" + " \n" + " \n" + " \n" + " PRES_ADJUSTED_ERROR\n" + " pres_aqdjusted_error\n" + " float\n" + " \n" + " \n" + " 50.0\n" + " 0.0\n" + " Statistics\n" + " null\n" + " \n" + " \n" + " \n" + " TEMP\n" + " temp\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " null\n" + " \n" + " \n" + " \n" + " TEMP_QC\n" + " temp_qc\n" + " char\n" + " \n" + " \n" + " Quality\n" + " \n" + " \n" + " \n" + " TEMP_ADJUSTED\n" + " temp_adjusted\n" + " float\n" + " \n" + " \n" + " 32.0\n" + " 0.0\n" + " Temperature\n" + " null\n" + " \n" + " \n" + " \n" + " TEMP_ADJUSTED_QC\n" + " temp_adjusted_qc\n" + " char\n" + " \n" + " \n" + " Quality\n" + " \n" + " \n" + " \n" + " TEMP_ADJUSTED_ERROR\n" + " temp_adjusted_error\n" + " float\n" + " \n" + " \n" + " 1.0\n" + " 0.0\n" + " Statistics\n" + " null\n" + " \n" + " \n" + " \n" + " PSAL\n" + " psal\n" + " float\n" + " \n" + " \n" + " 37.0\n" + " 32.0\n" + " Salinity\n" + " null\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " PSAL_QC\n" + " psal_qc\n" + " char\n" + " \n" + " \n" + " Quality\n" + " \n" + " \n" + " \n" + " PSAL_ADJUSTED\n" + " psal_adjusted\n" + " float\n" + " \n" + " \n" + " 37.0\n" + " 32.0\n" + " Salinity\n" + " null\n" + " sea_water_practical_salinity\n" + " PSU\n" + " \n" + " \n" + " \n" + " PSAL_ADJUSTED_QC\n" + " psal_adjusted_qc\n" + " char\n" + " \n" + " \n" + " Quality\n" + " \n" + " \n" + " \n" + " PSAL_ADJUSTED_ERROR\n" + " psal_adjusted_error\n" + " float\n" + " \n" + " \n" + " 1.0\n" + " 0.0\n" + " Statistics\n" + " null\n" + " \n" + " \n" + "\n" + "\n"; } public static EDD gettestEDDTableFromHyraxFiles() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testEDDTableFromHyraxFiles()); } private static String xmlFragment_testEDDTableFromHyraxFiles() { return "\n" + " 2880\n" + " \n" + " true\n" + " pentad.*\\.nc\\.gz\n" + " last\n" + " \n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " \n" + " \n" + " \n" + " null\n" + " Point\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " https://opendap.jpl.nasa.gov/opendap/allData/ccmp/L3.5a/pentad/flk/1987/09/.html\n" + " NASA JPL\n" + " \n" + "Atmosphere > Atmospheric Winds > Surface Winds,\n" + "Atmosphere > Atmospheric Winds > Wind Stress,\n" + "atlas, atmosphere, atmospheric, component, derived, downward, eastward, eastward_wind, flk, jpl, level, meters, nasa, northward, northward_wind, number, observations, oceanography, physical, physical oceanography, pseudostress, speed, statistics, stress, surface, surface_downward_eastward_stress, surface_downward_northward_stress, time, u-component, u-wind, v-component, v-wind, v1.1, wind, wind_speed, winds\n" + " GCMD Science Keywords\n" + " [standard]\n" + " null\n" + " https://opendap.jpl.nasa.gov/opendap/allData/ccmp/L3.5a/pentad/flk/1987/09/\n" + " CF Standard Name Table v70\n" + " Time average of level3.0 products.\n" + " \n" + " \n" + " lon\n" + " longitude\n" + " float\n" + " \n" + " \n" + " 180.0\n" + " -180.0\n" + " Location\n" + " longitude\n" + " \n" + " \n" + " \n" + " lat\n" + " latitude\n" + " float\n" + " \n" + " \n" + " 90.0\n" + " -90.0\n" + " Location\n" + " latitude\n" + " \n" + " \n" + " \n" + " time\n" + " time\n" + " double\n" + " \n" + " \n" + " 6300.0\n" + " 5700.0\n" + " Time\n" + " time\n" + " \n" + " \n" + " \n" + " uwnd\n" + " uwnd\n" + " short\n" + " \n" + " \n" + " 15.0\n" + " -15.0\n" + " Wind\n" + " eastward_wind\n" + " -50.0 50.0 \n" + " \n" + " \n" + " \n" + " vwnd\n" + " vwnd\n" + " short\n" + " \n" + " \n" + " 15.0\n" + " -15.0\n" + " Wind\n" + " northward_wind\n" + " -50.0 50.0 \n" + " \n" + " \n" + " \n" + " wspd\n" + " wspd\n" + " short\n" + " \n" + " \n" + " 15.0\n" + " 0.0\n" + " Wind\n" + " wind_speed\n" + " 0.0 75.0\n" + " \n" + " \n" + " \n" + " upstr\n" + " upstr\n" + " short\n" + " \n" + " \n" + " 0.5\n" + " -0.5\n" + " Physical Oceanography\n" + " surface_downward_eastward_stress\n" + " -1000.0 1000.0\n" + " \n" + " \n" + " \n" + " vpstr\n" + " vpstr\n" + " short\n" + " \n" + " \n" + " 0.5\n" + " -0.5\n" + " Physical Oceanography\n" + " surface_downward_northward_stress\n" + " -1000.0 1000.0\n" + " \n" + " \n" + " \n" + " nobs\n" + " nobs\n" + " short\n" + " \n" + " \n" + " 100.0\n" + " 0.0\n" + " Statistics\n" + " 0.0 65532.0\n" + " \n" + " \n" + "\n"; } public static EDD gettestGridFromTable() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGridFromTable()); } private static String xmlFragment_testGridFromTable() throws URISyntaxException { return "\n" + " 10080\n" + " 15 \n" + "\n" + " \n" + " \n" + " \n" + " time\n" + " \n" + " \n" + " 1101844360, 120, 1109788360\n" + " \n" + " \n" + " \n" + " \n" + " latitude\n" + " \n" + " 34.04017\n" + " \n" + " \n" + " \n" + " longitude\n" + " \n" + " -120.31121\n" + " \n" + " \n" + " \n" + " depth\n" + " \n" + " -1.8, 1, 16.2\n" + " \n" + " \n" + " \n" + " DataQuality\n" + " \n" + " \n" + " \n" + " \n" + " DataQuality_flag\n" + " \n" + " \n" + " \n" + " \n" + " Eastward\n" + " \n" + " \n" + " \n" + " \n" + " Eastward_flag\n" + " \n" + " \n" + " \n" + " \n" + " ErrorVelocity\n" + " \n" + " \n" + " \n" + " \n" + " ErrorVelocity_flag\n" + " \n" + " \n" + " \n" + " \n" + " Intensity\n" + " \n" + " \n" + " \n" + " \n" + " Intensity_flag\n" + " \n" + " \n" + " \n" + " \n" + " Northward\n" + " \n" + " \n" + " \n" + " \n" + " Northward_flag\n" + " \n" + " \n" + " \n" + " \n" + " Upwards\n" + " \n" + " \n" + " \n" + " \n" + " Upwards_flag\n" + " \n" + " \n" + " \n" + "\n" + " \n" + " \n" + " \n" + " 10080\n" + " " + Path.of(EDDTestDataset.class.getResource("/erddapBPD/copy/nmspWcosAdcpD/BAY/").toURI()) .toString() + "\n" + " true\n" + " BAYXXX_015ADCP.*\\.nc\n" + " last\n" + " Time\n" + " Time Depth\n" + " \n" + " Point\n" + " longitude, latitude\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " null\n" + " \n" + " Created by the NCDDC PISCO ADCP Profile to converter on 2009/00/11 15:00 CST.\n" + " ftp://ftp.nodc.noaa.gov/nodc/archive/arc0006/0002039/1.1/about/WCOS_project_document_phaseI_20060317.pdf\n" + " NOAA NMSP\n" + " \n" + "Oceans > Ocean Circulation > Ocean Currents,\n" + "adcp, atmosphere, circulation, coast, current, currents, data, depth, eastward, eastward_sea_water_velocity, eastward_sea_water_velocity status_flag, error, flag, height, identifier, intensity, nmsp, noaa, northward, northward_sea_water_velocity, northward_sea_water_velocity status_flag, observing, ocean, oceans, quality, sea, seawater, station, status, system, time, upward, upward_sea_water_velocity, upwards, velocity, water, wcos, west, west coast\n" + " GCMD Science Keywords\n" + " [standard]\n" + " \n" + " https://data.nodc.noaa.gov/thredds/catalog/nmsp/wcos/catalog.xml\n" + " CF Standard Name Table v70\n" + " The West Coast Observing System (WCOS) project provides access to temperature and currents data collected at four of the five National Marine Sanctuary sites, including Olympic Coast, Gulf of the Farallones, Monterey Bay, and Channel Islands. A semi-automated end-to-end data management system transports and transforms the data from source to archive, making the data acessible for discovery, access and analysis from multiple Internet points of entry.\n" + "\n" + "The stations (and their code names) are San Miguel North (BAY), Santa Rosa North (BEA), Cuyler Harbor (CUY), Pelican/Prisoners Area (PEL), San Miguel South (SMS), Santa Rosa South (SRS), Valley Anch (VAL).\n" + " West Coast Observing System (WCOS) ADCP Currents Data\n" + " \n" + " \n" + " Longitude\n" + " longitude\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " Latitude\n" + " latitude\n" + " double\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " Time\n" + " time\n" + " double\n" + " \n" + " \n" + " time\n" + " seconds since 1970-01-01 00:00:00\n" + " \n" + " \n" + " \n" + " Depth\n" + " depth\n" + " double\n" + " \n" + " null \n" + " Relative to Mean Sea Level (MSL)\n" + " \n" + " \n" + " \n" + " DataQuality\n" + " int\n" + " \n" + " Quality\n" + " Data Quality\n" + " \n" + " \n" + " \n" + " DataQuality_flag\n" + " byte\n" + " \n" + " Quality\n" + " Data Quality Flag\n" + " \n" + " \n" + " \n" + " Eastward\n" + " double\n" + " \n" + " -0.5\n" + " 0.5\n" + " Currents\n" + " Eastward Current\n" + " eastward_sea_water_velocity\n" + " m s-1\n" + " \n" + " \n" + " \n" + " Eastward_flag\n" + " byte\n" + " \n" + " Quality\n" + " Eastward Flag\n" + " \n" + " \n" + " \n" + " ErrorVelocity\n" + " double\n" + " \n" + " Currents\n" + " Error Velocity\n" + " m s-1\n" + " \n" + " \n" + " \n" + " ErrorVelocity_flag\n" + " byte\n" + " \n" + " Quality\n" + " Error Velocity Flag\n" + " \n" + " \n" + " \n" + " Intensity\n" + " int\n" + " \n" + " Currents\n" + " Intensity\n" + " \n" + " \n" + " \n" + " Intensity_flag\n" + " byte\n" + " \n" + " Quality\n" + " Intensity Flag\n" + " \n" + " \n" + " \n" + " Northward\n" + " double\n" + " \n" + " -0.5\n" + " 0.5\n" + " Currents\n" + " Northward Current\n" + " northward_sea_water_velocity\n" + " m s-1\n" + " \n" + " \n" + " \n" + " Northward_flag\n" + " byte\n" + " \n" + " Quality\n" + " Northward Flag\n" + " \n" + " \n" + " \n" + " Upwards\n" + " double\n" + " \n" + " Currents\n" + " Upward Current\n" + " upward_sea_water_velocity\n" + " m s-1\n" + " \n" + " \n" + " \n" + " Upwards_flag\n" + " byte\n" + " \n" + " Quality\n" + " Upwards Flag\n" + " \n" + " \n" + " \n" + "\n"; } public static EDD gettestGridWav() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testGridWav()); } private static String xmlFragment_testGridWav() throws URISyntaxException { return "\n" + " 1440\n" + " -1\n" + " channel_1[0][(0):(1)]&.draw=lines&.vars=elapsedTime|time\n" + " &time=min(time)\n" + " " + Path.of(EDDTestDataset.class.getResource("/largeFiles/audio/wav/").toURI()).toString() + " \n" + " aco_acoustic\\.[0-9]{8}_[0-9]{6}\\.wav\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " false\n" + " \n" + " \n" + " Grid\n" + " COARDS, CF-1.6, ACDD-1.3\n" + " ???\n" + " ???\n" + " channel_1, data, elapsedTime, local, source, time\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " Audio data from a local source.\n" + " Audio data from a local source.\n" + " \n" + " \n" + " ***fileName,\"timeFormat=yyyyMMdd'_'HHmmss\",\"aco_acoustic\\\\.([0-9]{8}_[0-9]{6})\\\\.wav\",1\n" + " time\n" + " \n" + " \n" + " seconds since 1970-01-01T00:00:00Z\n" + " \n" + " \n" + " \n" + " elapsedTime\n" + " elapsedTime\n" + " \n" + " \n" + " Time\n" + " \n" + " \n" + " \n" + " channel_1\n" + " channel_1\n" + " short\n" + " \n" + " \n" + " null\n" + " 33000.0\n" + " -33000.0\n" + " Other\n" + " \n" + " \n" + "\n"; } public static EDD getTS_SLEV_TAD() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_TS_SLEV_TAD()); } private static String xmlFragment_TS_SLEV_TAD() { return "\n" + " 60\n" + " \n" + " 60\n" + " https://er1webapps.emodnet-physics.eu/erddap/tabledap/TS_SLEV_TAD_19\n" + " \n" + " \n" + " 60\n" + " https://er1webapps.emodnet-physics.eu/erddap/tabledap/TS_SLEV_TAD_1888\n" + " \n" + "\n"; } public static EDD gettestZarr_compressedData() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testZarr_compressedData()); } private static String xmlFragment_testZarr_compressedData() throws URISyntaxException { return "\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/zarr/").toURI()).toString() + "\n" + " .*zarr_compressed_data\\.zarr\n" + " true\n" + " .*\n" + " last\n" + " 0\n" + " \n" + " \n" + " false\n" + " \n" + " \n" + " \n" + " Other\n" + " COARDS, CF-1.10, ACDD-1.3\n" + " ???\n" + " ???\n" + " adler, adler32, comp, comp_filt_Adler_shuffle_deflate, comp_filt_shuffle_deflate, compressed, compressed/adler32, compressed/crc32, compressed/deflate1, compressed/deflate9, compressed/scale, compressed/shuffle, compressed_adler32, compressed_crc32, compressed_deflate1, compressed_deflate9, compressed_scaleOffset, compressed_shuffle, compressor, crc32, data, deflate, deflate1, deflate9, dim0, dim1, filt, filt/adler, filt/shuffle, filtered, filtered/adler, filtered/adler32, filtered_adler32, filtered_adler_shuffle, local, null_compressor, offset, scale, shuffle, source\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " dim0\n" + " dim0\n" + " short\n" + " \n" + " \n" + " 32767\n" + " Unknown\n" + " Dim0\n" + " \n" + " \n" + " \n" + " dim1\n" + " dim1\n" + " short\n" + " \n" + " \n" + " 32767\n" + " Unknown\n" + " Dim1\n" + " \n" + " \n" + " \n" + " null_compressor\n" + " null_compressor\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Null Compressor\n" + " \n" + " \n" + " \n" + " comp_filt/Adler_shuffle_deflate\n" + " comp_filt_Adler_shuffle_deflate\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Comp Filt/Adler Shuffle Deflate\n" + " \n" + " \n" + " \n" + " comp_filt/shuffle_deflate\n" + " comp_filt_shuffle_deflate\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Comp Filt/shuffle Deflate\n" + " \n" + " \n" + " \n" + " compressed/adler32\n" + " compressed_adler32\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Compressed/adler32\n" + " \n" + " \n" + " \n" + " compressed/crc32\n" + " compressed_crc32\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Compressed/crc32\n" + " \n" + " \n" + " \n" + " compressed/deflate1\n" + " compressed_deflate1\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Compressed/deflate1\n" + " \n" + " \n" + " \n" + " compressed/deflate9\n" + " compressed_deflate9\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Compressed/deflate9\n" + " \n" + " \n" + " \n" + " compressed/scaleOffset\n" + " compressed_scaleOffset\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Compressed/scale Offset\n" + " \n" + " \n" + " \n" + " compressed/shuffle\n" + " compressed_shuffle\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Compressed/shuffle\n" + " \n" + " \n" + " \n" + " filtered/adler32\n" + " filtered_adler32\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Filtered/adler32\n" + " \n" + " \n" + " \n" + " filtered/adler_shuffle\n" + " filtered_adler_shuffle\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Filtered/adler Shuffle\n" + " \n" + " \n" + "\n"; } public static EDD gettestZarr_testData() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testZarr_testData()); } private static String xmlFragment_testZarr_testData() throws URISyntaxException { return "\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/zarr/").toURI()).toString() + "\n" + " .*zarr_test_data\\.zarr\\.zip\n" + " true\n" + " .*\n" + " last\n" + " 0\n" + " \n" + " \n" + " false\n" + " \n" + " \n" + " \n" + " Other\n" + " COARDS, CF-1.10, ACDD-1.3\n" + " ???\n" + " ???\n" + " data, dim0, dim1, dim2, dim3, dims, dims/var4, group, group_with_dims_var4D, local, source, var4, with\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " dim0\n" + " dim0\n" + " byte\n" + " \n" + " \n" + " 127\n" + " Unknown\n" + " Dim0\n" + " \n" + " \n" + " \n" + " dim1\n" + " dim1\n" + " byte\n" + " \n" + " \n" + " 127\n" + " Unknown\n" + " Dim1\n" + " \n" + " \n" + " \n" + " dim2\n" + " dim2\n" + " byte\n" + " \n" + " \n" + " 127\n" + " Unknown\n" + " Dim2\n" + " \n" + " \n" + " \n" + " dim3\n" + " dim3\n" + " byte\n" + " \n" + " \n" + " 127\n" + " Unknown\n" + " Dim3\n" + " \n" + " \n" + " \n" + " group_with_dims/var4D\n" + " group_with_dims_var4D\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Group With Dims/var4 D\n" + " \n" + " \n" + "\n"; } public static EDD gettestZarr_fillValues() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testZarr_fillValues()); } private static String xmlFragment_testZarr_fillValues() throws URISyntaxException { return "\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/zarr/").toURI()).toString() + "\n" + " .*fill_values\\.zarr\n" + " true\n" + " .*\n" + " last\n" + " 0\n" + " \n" + " \n" + " false\n" + " \n" + " \n" + " \n" + " Other\n" + " COARDS, CF-1.10, ACDD-1.3\n" + " ???\n" + " ???\n" + " data, dim0, dim1, double, double_inf, double_nan, double_ninf, float, float_inf, float_nan, float_ninf, inf, local, nan, ninf, source\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " double_inf, double_nan, double_ninf, float_inf, float_nan, float_ninf\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " dim0\n" + " dim0\n" + " byte\n" + " \n" + " \n" + " 127\n" + " Unknown\n" + " Dim0\n" + " \n" + " \n" + " \n" + " dim1\n" + " dim1\n" + " byte\n" + " \n" + " \n" + " 127\n" + " Unknown\n" + " Dim1\n" + " \n" + " \n" + " \n" + " double_inf\n" + " double_inf\n" + " double\n" + " \n" + " \n" + " NaN\n" + " Unknown\n" + " Double Inf\n" + " \n" + " \n" + " \n" + " double_nan\n" + " double_nan\n" + " double\n" + " \n" + " \n" + " NaN\n" + " Unknown\n" + " Double Nan\n" + " \n" + " \n" + " \n" + " double_ninf\n" + " double_ninf\n" + " double\n" + " \n" + " \n" + " NaN\n" + " Unknown\n" + " Double Ninf\n" + " \n" + " \n" + " \n" + " float_inf\n" + " float_inf\n" + " float\n" + " \n" + " \n" + " NaN\n" + " Unknown\n" + " Float Inf\n" + " \n" + " \n" + " \n" + " float_nan\n" + " float_nan\n" + " float\n" + " \n" + " \n" + " NaN\n" + " Unknown\n" + " Float Nan\n" + " \n" + " \n" + " \n" + " float_ninf\n" + " float_ninf\n" + " float\n" + " \n" + " \n" + " NaN\n" + " Unknown\n" + " Float Ninf\n" + " \n" + " \n" + "\n"; } public static EDD gettestZarr_gridFillValues() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testZarr_gridFillValues()); } public static String xmlFragment_testZarr_gridFillValues() throws URISyntaxException { return "\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/zarr/").toURI()).toString() + "\n" + " fill_values\\.zarr\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " COARDS, CF-1.10, ACDD-1.3\n" + " ???\n" + " ???\n" + " data, dim0, dim1, double, double_inf, double_nan, double_ninf, float, float_inf, float_nan, float_ninf, inf, local, nan, ninf, source\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " dim0\n" + " dim0\n" + " \n" + " \n" + " Unknown\n" + " Dim0\n" + " \n" + " \n" + " \n" + " dim1\n" + " dim1\n" + " \n" + " \n" + " Unknown\n" + " Dim1\n" + " \n" + " \n" + " \n" + " double_inf\n" + " double_inf\n" + " double\n" + " \n" + " \n" + " Unknown\n" + " Double Inf\n" + " \n" + " \n" + " \n" + " double_nan\n" + " double_nan\n" + " double\n" + " \n" + " \n" + " Unknown\n" + " Double Nan\n" + " \n" + " \n" + " \n" + " double_ninf\n" + " double_ninf\n" + " double\n" + " \n" + " \n" + " Unknown\n" + " Double Ninf\n" + " \n" + " \n" + " \n" + " float_inf\n" + " float_inf\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Float Inf\n" + " \n" + " \n" + " \n" + " float_nan\n" + " float_nan\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Float Nan\n" + " \n" + " \n" + " \n" + " float_ninf\n" + " float_ninf\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Float Ninf\n" + " \n" + " \n" + "\n"; } public static EDD gettestZarr_griddTypes() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testZarr_griddTypes()); } public static String xmlFragment_testZarr_griddTypes() throws URISyntaxException { return "\n" + "\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/zarr/").toURI()).toString() + "\n" + " test_dtypes\\.zarr\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " COARDS, CF-1.10, ACDD-1.3\n" + " ???\n" + " ???\n" + " big, byte, byte_ordered_group/big_endian/dim0, byte_ordered_group/big_endian/dim1, byte_ordered_group/big_endian/double_data, byte_ordered_group/big_endian/long_data, byte_ordered_group/big_endian/ulong_data, byte_ordered_group/little_endian/double_data, byte_ordered_group/little_endian/long_data, byte_ordered_group/little_endian/ulong_data, data, dim0, dim1, double, endian, endian/dim0, endian/dim1, group, group/big, local, long, ordered, source, ulong\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " byte_ordered_group/big_endian/dim0\n" + " byte_ordered_group_big_endian_dim0\n" + " \n" + " \n" + " Unknown\n" + " Dim0\n" + " \n" + " \n" + " \n" + " byte_ordered_group/big_endian/dim1\n" + " byte_ordered_group_big_endian_dim1\n" + " \n" + " \n" + " Unknown\n" + " Dim1\n" + " \n" + " \n" + " \n" + " byte_ordered_group/big_endian/double_data\n" + " byte_ordered_group_big_endian_double_data\n" + " double\n" + " \n" + " \n" + " Unknown\n" + " Double Data\n" + " \n" + " \n" + " \n" + " byte_ordered_group/big_endian/long_data\n" + " byte_ordered_group_big_endian_long_data\n" + " long\n" + " \n" + " \n" + " 9223372036854775807\n" + " Unknown\n" + " Long Data\n" + " \n" + " \n" + " \n" + " byte_ordered_group/big_endian/ulong_data\n" + " byte_ordered_group_big_endian_ulong_data\n" + " ulong\n" + " \n" + " \n" + " 18446744073709551615\n" + " Unknown\n" + " Ulong Data\n" + " \n" + " \n" + " \n" + " byte_ordered_group/little_endian/double_data\n" + " byte_ordered_group_little_endian_double_data\n" + " double\n" + " \n" + " \n" + " Unknown\n" + " Double Data\n" + " \n" + " \n" + " \n" + " byte_ordered_group/little_endian/long_data\n" + " byte_ordered_group_little_endian_long_data\n" + " long\n" + " \n" + " \n" + " 9223372036854775807\n" + " Unknown\n" + " Long Data\n" + " \n" + " \n" + " \n" + " byte_ordered_group/little_endian/ulong_data\n" + " byte_ordered_group_little_endian_ulong_data\n" + " ulong\n" + " \n" + " \n" + " 18446744073709551615\n" + " Unknown\n" + " Ulong Data\n" + " \n" + " \n" + "\n"; } public static EDD gettestZarr_gridCompressedData() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testZarr_gridCompressedData()); } public static String xmlFragment_testZarr_gridCompressedData() throws URISyntaxException { return "\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/zarr/").toURI()).toString() + "\n" + " .*zarr_compressed_data\\.zarr\\.zip\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " COARDS, CF-1.10, ACDD-1.3\n" + " ???\n" + " ???\n" + " adler, adler32, comp, comp_filt/Adler_shuffle_deflate, comp_filt/shuffle_deflate, compressed, compressed/adler32, compressed/crc32, compressed/deflate1, compressed/deflate9, compressed/scale, compressed/scaleOffset, compressed/shuffle, compressor, crc32, data, deflate, deflate1, deflate9, dim0, dim1, filt, filt/adler, filt/shuffle, filtered, filtered/adler, filtered/adler32, filtered/adler_shuffle, local, null_compressor, offset, scale, shuffle, source\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " dim0\n" + " dim0\n" + " \n" + " \n" + " Unknown\n" + " Dim0\n" + " \n" + " \n" + " \n" + " dim1\n" + " dim1\n" + " \n" + " \n" + " Unknown\n" + " Dim1\n" + " \n" + " \n" + " \n" + " null_compressor\n" + " null_compressor\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Null Compressor\n" + " \n" + " \n" + " \n" + " comp_filt/Adler_shuffle_deflate\n" + " comp_filt_Adler_shuffle_deflate\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Comp Filt/Adler Shuffle Deflate\n" + " \n" + " \n" + " \n" + " comp_filt/shuffle_deflate\n" + " comp_filt_shuffle_deflate\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Comp Filt/shuffle Deflate\n" + " \n" + " \n" + " \n" + " compressed/adler32\n" + " compressed_adler32\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Compressed/adler32\n" + " \n" + " \n" + " \n" + " compressed/crc32\n" + " compressed_crc32\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Compressed/crc32\n" + " \n" + " \n" + " \n" + " compressed/deflate1\n" + " compressed_deflate1\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Compressed/deflate1\n" + " \n" + " \n" + " \n" + " compressed/deflate9\n" + " compressed_deflate9\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Compressed/deflate9\n" + " \n" + " \n" + " \n" + " compressed/scaleOffset\n" + " compressed_scaleOffset\n" + " float\n" + " \n" + " \n" + " Unknown\n" + " Compressed/scale Offset\n" + " \n" + " \n" + " \n" + " compressed/shuffle\n" + " compressed_shuffle\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Compressed/shuffle\n" + " \n" + " \n" + " \n" + " filtered/adler32\n" + " filtered_adler32\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Filtered/adler32\n" + " \n" + " \n" + " \n" + " filtered/adler_shuffle\n" + " filtered_adler_shuffle\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Filtered/adler Shuffle\n" + " \n" + " \n" + "\n"; } public static EDD gettestZarr_gridTestData() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testZarr_gridTestData()); } public static String xmlFragment_testZarr_gridTestData() throws URISyntaxException { return "\n" + "\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/zarr/").toURI()).toString() + "\n" + " zarr_test_data\\.zarr\n" + " true\n" + " .*\n" + " last\n" + " 20\n" + " false\n" + " \n" + " \n" + " Grid\n" + " COARDS, CF-1.10, ACDD-1.3\n" + " ???\n" + " ???\n" + " data, dim0, dim1, dim2, dim3, dims, dims/dim0, dims/dim1, dims/dim2, dims/dim3, dims/var4, group, group_with_dims/dim0, group_with_dims/dim1, group_with_dims/dim2, group_with_dims/dim3, group_with_dims/var4D, local, source, var4, with\n" + " [standard]\n" + " CF Standard Name Table v70\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " group_with_dims/dim0\n" + " group_with_dims_dim0\n" + " \n" + " \n" + " Unknown\n" + " Group With Dims/dim0\n" + " \n" + " \n" + " \n" + " group_with_dims/dim1\n" + " group_with_dims_dim1\n" + " \n" + " \n" + " Unknown\n" + " Group With Dims/dim1\n" + " \n" + " \n" + " \n" + " group_with_dims/dim2\n" + " group_with_dims_dim2\n" + " \n" + " \n" + " Unknown\n" + " Group With Dims/dim2\n" + " \n" + " \n" + " \n" + " group_with_dims/dim3\n" + " group_with_dims_dim3\n" + " \n" + " \n" + " Unknown\n" + " Group With Dims/dim3\n" + " \n" + " \n" + " \n" + " group_with_dims/var4D\n" + " group_with_dims_var4D\n" + " int\n" + " \n" + " \n" + " 2147483647\n" + " Unknown\n" + " Group With Dims/var4 D\n" + " \n" + " \n" + "\n"; } public static EDD gettest_chars() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_test_chars()); } private static String xmlFragment_test_chars() throws URISyntaxException { return "\n" + "\n" + " 10080\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/datasets/").toURI()).toString() + "\n" + " test_chars\\.csv\n" + " true\n" + " .*\n" + " last\n" + " 0\n" + " UTF-8\n" + " ;\n" + " 1\n" + " 2\n" + " \n" + " \n" + " false\n" + " \n" + " \n" + " \n" + " Other\n" + " COARDS, CF-1.10, ACDD-1.3\n" + " ???\n" + " ???\n" + " characters, data, local, row, source\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " Data from a local source.\n" + " Données provenant d'une source locale.\n" + " Daten aus einer lokalen Quelle.\n" + " Data from a local source.\n" + " Données provenant d'une source locale.\n" + " Daten aus einer lokalen Quelle.\n" + " \n" + " \n" + " row\n" + " row\n" + " byte\n" + " \n" + " \n" + " 127\n" + " Unknown\n" + " Row\n" + " rangée\n" + " Reihe\n" + " \n" + " \n" + " \n" + " characters\n" + " characters\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Characters\n" + " \n" + " \n" + "\n"; } public static EDD geterdMPOC1day_AsATable() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_erdMPOC1day_AsATable()); } private static String xmlFragment_erdMPOC1day_AsATable() { return "\n" + " String for accessibleTo\n" + " \n" + " MODIS Aqua, Level-3 Standard Mapped Image (SMI), Global, 4km, Particulate Organic Carbon (POC) (1 Day Composite)\n" + " MODIS Aqua, Level-3 SMI, Global, 4km, Particulate Organic Carbon, 2003-present (1 Day Composite) as Table\n" + " 0\n" + " \n" + " \n" + " http://localhost:8080/erddap/griddap/erdMPOC1day\n" + " \n" + " \n"; } public static EDD gettestParquet() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_testParquet()); } private static String xmlFragment_testParquet() throws URISyntaxException { return "\n" + "\n" + " 1440\n" + " 10000\n" + " " + Path.of(EDDTestDataset.class.getResource("/data/parquet/").toURI()).toString() + "\n" + " .*\\.parquet\n" + " true\n" + " .*\n" + " last\n" + " 0\n" + " Year\n" + " false\n" + " true\n" + " \n" + " \n" + " \n" + " Other\n" + " COARDS, CF-1.10, ACDD-1.3\n" + " ???\n" + " ???\n" + " amount, array, array-data, attribution, AttributionSources, class, collection, comprehensive, consumed, ConsumedBySectorType, context, correlation, data, DataCollection, DataReliability, distribution, DistributionType, flow, flowable, FlowAmount, FlowType, FlowUUID, geographical, GeographicalCorrelation, large, local, Location, LocationSystem, max, measureof, MeasureofSpread, meta, MetaSources, min, name, produced, ProducedBySectorType, quality, reliability, sector, SectorConsumedBy, SectorProducedBy, SectorSourceName, source, SourceName, sources, spread, stewardship, system, technological, TechnologicalCorrelation, temporal, TemporalCorrelation, time, type, unit, uuid, year\n" + " [standard]\n" + " (local files)\n" + " CF Standard Name Table v70\n" + " Class, SectorConsumedBy, SectorSourceName, Context, LocationSystem, FlowType, Year, MeasureofSpread, Spread, DistributionType, Min, Max, DataReliability, TemporalCorrelation, GeographicalCorrelation, TechnologicalCorrelation, DataCollection, ProducedBySectorType, ConsumedBySectorType\n" + " Data from a local source.\n" + " Data from a local source.\n" + " \n" + " \n" + " Flowable\n" + " Flowable\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Flowable\n" + " \n" + " \n" + " \n" + " Class\n" + " Class\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Class\n" + " \n" + " \n" + " \n" + " SectorProducedBy\n" + " SectorProducedBy\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Sector Produced By\n" + " \n" + " \n" + " \n" + " SectorConsumedBy\n" + " SectorConsumedBy\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Sector Consumed By\n" + " \n" + " \n" + " \n" + " SectorSourceName\n" + " SectorSourceName\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Sector Source Name\n" + " \n" + " \n" + " \n" + " Context\n" + " Context\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Context\n" + " \n" + " \n" + " \n" + " Location\n" + " Location\n" + " String\n" + " \n" + " \n" + " Location\n" + " Location\n" + " \n" + " \n" + " \n" + " LocationSystem\n" + " LocationSystem\n" + " String\n" + " \n" + " \n" + " Location\n" + " Location System\n" + " \n" + " \n" + " \n" + " FlowAmount\n" + " FlowAmount\n" + " double\n" + " \n" + " \n" + " Unknown\n" + " Flow Amount\n" + " \n" + " \n" + " \n" + " Unit\n" + " Unit\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Unit\n" + " \n" + " \n" + " \n" + " FlowType\n" + " FlowType\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Flow Type\n" + " \n" + " \n" + " \n" + " Year\n" + " Year\n" + " short\n" + " \n" + " \n" + " 32767\n" + " Time\n" + " Year\n" + " \n" + " \n" + " \n" + " MeasureofSpread\n" + " MeasureofSpread\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Measureof Spread\n" + " \n" + " \n" + " \n" + " Spread\n" + " Spread\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Spread\n" + " \n" + " \n" + " \n" + " DistributionType\n" + " DistributionType\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Distribution Type\n" + " \n" + " \n" + " \n" + " Min\n" + " Min\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Min\n" + " \n" + " \n" + " \n" + " Max\n" + " Max\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Max\n" + " \n" + " \n" + " \n" + " DataReliability\n" + " DataReliability\n" + " String\n" + " \n" + " \n" + " Quality\n" + " Data Reliability\n" + " \n" + " \n" + " \n" + " TemporalCorrelation\n" + " TemporalCorrelation\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Temporal Correlation\n" + " \n" + " \n" + " \n" + " GeographicalCorrelation\n" + " GeographicalCorrelation\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Geographical Correlation\n" + " \n" + " \n" + " \n" + " TechnologicalCorrelation\n" + " TechnologicalCorrelation\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Technological Correlation\n" + " \n" + " \n" + " \n" + " DataCollection\n" + " DataCollection\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Data Collection\n" + " \n" + " \n" + " \n" + " MetaSources\n" + " MetaSources\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Meta Sources\n" + " \n" + " \n" + " \n" + " FlowUUID\n" + " FlowUUID\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Flow UUID\n" + " \n" + " \n" + " \n" + " ProducedBySectorType\n" + " ProducedBySectorType\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Produced By Sector Type\n" + " \n" + " \n" + " \n" + " ConsumedBySectorType\n" + " ConsumedBySectorType\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Consumed By Sector Type\n" + " \n" + " \n" + " \n" + " AttributionSources\n" + " AttributionSources\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Attribution Sources\n" + " \n" + " \n" + " \n" + " SourceName\n" + " SourceName\n" + " String\n" + " \n" + " \n" + " Unknown\n" + " Source Name\n" + " \n" + " \n" + "\n"; } public static EDD getTableAggregateRows_nceiPH53sst() throws Throwable { return EDD.oneFromXmlFragment(null, xmlFragment_TableAggregateRows_nceiPH53sst()); } private static String xmlFragment_TableAggregateRows_nceiPH53sst() { return "\n" + " 60\n" + " \n" + " String for accessibleTo\n" + " \n" + " MODIS Aqua, Level-3 Standard Mapped Image (SMI), Global, 4km, Particulate Organic Carbon (POC) (1 Day Composite)\n" + " MODIS Aqua, Level-3 SMI, Global, 4km, Particulate Organic Carbon, 2003-present (1 Day Composite) as Table\n" + " 0\n" + " \n" + " \n" + " http://localhost:8080/erddap/griddap/nceiPH53sstd1day\n" + " \n" + " \n" + " \n" + " String for accessibleTo\n" + " \n" + " MODIS Aqua, Level-3 Standard Mapped Image (SMI), Global, 4km, Particulate Organic Carbon (POC) (1 Day Composite)\n" + " MODIS Aqua, Level-3 SMI, Global, 4km, Particulate Organic Carbon, 2003-present (1 Day Composite) as Table\n" + " 0\n" + " \n" + " \n" + " http://localhost:8080/erddap/griddap/nceiPH53sstn1day\n" + " \n" + " \n" + "\n"; } }