Együttműködésdatasets.xmlFile
\[Ez a weboldal csak érdekes leszERDDAP™adminisztrátorok.\]
Miután követted aERDDAP™ telepítési utasítások, szerkesztenie kelldatasets.xmlfájl Tomcat /content/erddap/ leírja azokat az adatkészleteket, amelyeket aERDDAP™A telepítés szolgálni fog.
Bevezetés
Néhány közgyűlés szükséges
Adatkészlet beállításaERDDAP™nem csak egy dolog, ami rámutat az adatkészlet könyvtárára vagy URL-re. Meg kell írnia egy darab XML-tdatasets.xmlamely leírja az adatkészletet.
- A rácsos adatkészletek esetében, hogy az adatkészlet megfeleljenERDDAPA rácsos adatok adatstruktúrája, azonosítania kell az adatkészlet változóinak leállítását, amelyek ugyanazokat a dimenziókat osztják meg. (Miért? Hogyan?)
- Az adatkészlet jelenlegi metaadatát automatikusan importálják. De ha módosítani szeretné ezt a metaadatot, vagy hozzáadni más metaadatot, akkor meg kell határoznia.datasets.xml... ÉsERDDAP™más metaadatokra van szükség, beleértveglobális tulajdonságok (mint példáulinfoUrlintézmény,sourceUrlösszefoglaló és cím) ésváltozó tulajdonságok (mint példáullong\_nameés egység) ... Ahogyan a metaadata, amely jelenleg az adatkészletben található, leíró információkat ad az adatkészlethez, a metadata által kértERDDAP™leíró információkat ad az adatkészlethez. A további metaadat jó kiegészítés az adatkészlet és segítERDDAP™tegyen jobb munkát az adatok bemutatására olyan felhasználók számára, akik nem ismerik.
- ERDDAP™Szüksége van arra, hogy különleges dolgokat tegyenHosszúság, magasság, magasság (vagy mélység) és az idő változók...
Ha megveszi ezeket az ötleteket, és kitölti az XML létrehozására irányuló erőfeszítéstdatasets.xml, kapsz minden előnye, hogyERDDAP™beleértve:
- Teljes szöveges keresés az adatkészletekhez
- Adatkészletek keresése kategória szerint
- Adathozzáférési formák ( datasetID .html) így számos különböző fájlformátumban kérhet egy adatkészletet
- Forms kérni grafikonok és térképek ( datasetID .gráf)
- Web Map szolgáltatás (WMS) a rácsos adatkészletekért
- RESTfulHozzáférés az adataihoz
A készítésdatasets.xmljelentős erőfeszítéseket tesz az első néhány adatkészlet számára, de könnyebb lesz ... Az első adatkészlet után gyakran újra felhasználhatja a munkát a következő adatkészlethez. szerencsére,ERDDAP™jön kétEszközökhogy segítsen létrehozni az XML-t minden adatkészlethezdatasets.xml... Ha megragadsz, lásd a mirész további támogatás megszerzéséről...
Adatszolgáltató Formátum
Amikor egy adatszolgáltató érkezik hozzád, remélve, hogy hozzáad néhány adatot aERDDAPNehéz és időigényes, hogy összegyűjtse az összes metaadatát (információ az adatkészletről) szükséges az adatkészlet hozzáadásáhozERDDAP... Számos adatforrás (például .csv fájlok, Excel fájlok, adatbázisok) nincs belső metaadata, ígyERDDAP™rendelkezik olyan adatszolgáltatói formanyomtatványsal, amely összegyűjti a metaadatot az adatszolgáltatótól, és más iránymutatást ad az adatszolgáltatónak, ideértve a kiterjedt útmutatást is.Adatbázisok... A benyújtott információ átalakul adatasets.xmlformátum, majd e-mailbenERDDAP™adminisztrátor (Te vagy) írás (Megjelent) a bigParentDirectory[szerkesztés] /logs/dataProviderForm.log Így a forma félautomatizálja az adatkészlet beszerzésének folyamatátERDDAPde aERDDAP™Az adminisztrátornak még mindig befejeznie kelldatasets.xmlcunk és foglalkozik az adatfájl megszerzésével (s) a szolgáltatótól vagy az adatbázishoz való csatlakozástól.
A tényleges adatfájlok külső forrásokból történő benyújtása hatalmas biztonsági kockázat, ígyERDDAP™nem foglalkozik ezzel. Meg kell találnia egy olyan megoldást, amely az Ön és az adatszolgáltató számára működik, például e-mail (kis fájlokhoz) , húzza ki a felhőből (például a DropBox vagy a Google Drive) Sftp webhely (jelszavakkal) vagy sneaker Net (USB hüvelykujjj meghajtó vagy külső merevlemez) ... Valószínűleg csak olyan fájlokat kell elfogadnia az emberektől, akiket ismer. Meg kell szkennelni a fájlokat vírusok és más biztonsági óvintézkedések.
Nincs kapcsolatERDDAP™az adatszolgáltatói űrlaphoz (például,ERDDAP™weboldal) ... Ehelyett, ha valaki azt mondja, hogy az adatait az Ön által szolgáltatottERDDAPKüldhet nekik egy e-mailt, mondván valamit: Igen, megkaphatjuk az adataitERDDAP... Kezdéshez kérjük, töltse ki az űrlapot https://yourUrl/erddap/dataProviderForm.html (vagyhttp://hahttps://nem engedélyezett) ... Miután befejezte, kapcsolatba lépek, hogy dolgozzon ki a végső részleteket. Ha csak meg akarja nézni a formát (anélkül, hogy kitölte volna) Láthatja a formátERDAERDDAP:Bevezetés,1. rész,2. rész,3. részés4. rész... Ezek a linkek aERD ERDDAP™Információt küldj hozzám, nem te, ezért ne nyújts be információt velük, hacsak nem szeretné hozzáadni az adatokatERD ERDDAP...
Ha el akarja távolítani az adatszolgáltatói űrlapot az ÖntőlERDDAP™, tedd
<dataProviderFormActive>false</dataProviderFormActive>
a setup.xml fájlban.
Ennek az impetusa voltNOAA2014Közös hozzáférés a kutatási eredményekhez (PARR) irányelvami megköveteli, hogy mindenNOAAaz adófizetői dollárokon keresztül finanszírozott környezeti adatokat egy adatszolgáltatáson keresztül elérhetővé kell tenni (Nem csak fájlok) a teremtés 12 hónapján belül. Tehát fokozott érdeklődés van a használatbanERDDAP™az ASAP szolgáltatáson keresztül elérhető adatkészletek készítése. Egy hatékonyabb módszerre volt szükségünk ahhoz, hogy számos adatszolgáltatóval foglalkozzunk.
Visszajelzések/Suggestions? Ez a forma új, ezért kérjük e-mailerd dot data at noaa dot govha bármilyen visszajelzése vagy javaslata van ennek javítására.
Eszközök
ERDDAP™jön két parancssori programok, amelyek eszközök, hogy segítsen létrehozni az XML minden adatkészlet, hogy azt akarja, hogy aERDDAP™szolgálni. Miután létrehoztálERDDAP™és futtassa (legalább egy alkalommal) megtalálhatja és használhatja ezeket a programokat a programokban Tomcat /webapps/erddap/WEB-INF könyvtár. Vannak Linux/Unix shell szkriptek (a kiterjesztés .sh) Windows scriptek (a kiterjesztés .bat) minden program.\[Linuxon futtassa ezeket az eszközöket, mint ugyanazt a felhasználót (Tomcat?) Ez fogja futtatni Tomcat.\]Amikor fut minden programot, kérdéseket tesz fel. Minden kérdés esetén írja be a választ, majd press Enter. Vagy sajtó ^C, hogy bármikor kilép egy program.
A program nem fut?
- Ha egy ismeretlen programot kapsz (vagy hasonló) hibaüzenet, a probléma valószínűleg az, hogy az operációs rendszer nem találtJava... Ki kell találnod, holJavaa számítógépén van, majd szerkesztse a java referenciát a .bat vagy .sh fájlban, amelyet megpróbál használni.
- Ha kap egy jar fájl nem talált vagy osztály nem talált hibaüzenetet, akkorJavanem találhatja meg az egyik osztályt, amely szerepel a .bat vagy .sh fájlban, amelyet megpróbál használni. A megoldás az, hogy kitaláljuk, hol van ez a .jar fájl, és szerkeszteni a java hivatkozást a .bat vagy .sh fájlban.
- Ha egy verziót használJavatúl öreg egy programhoz, a program nem fut, és hibaüzenetet fog látni, mint például
Kivétel a szálban "fő" java.lang.UnsupportedClassVersionError:
Néhány / osztály / név : Nem támogatott nagy.minor verzió dalszöveg: SomeNumber
A megoldás az, hogy frissítsük a legújabb verziójátJavaés győződjön meg arról, hogy a .sh vagy .bat fájl a program használja.
Az eszközök különböző diagnosztikai üzeneteket nyomtatnak:
- Az "ERROR" szót akkor használják, amikor valami olyan rosszul ment, hogy az eljárás nem sikerült befejezni. Bár bosszantó hiba, a hiba arra kényszeríti, hogy foglalkozzon a problémával.
- A "WARNING" szót akkor használják, amikor valami rosszul ment, de az eljárás befejeződött. Ezek elég ritkák.
- Bármi más csak informatív üzenet. Hozzáadhat \-verbose-t aGenerateDatasetsXmlvagyDasDdsparancssor további informatív üzenetek megszerzéséhez, amelyek néha segítenek a problémák megoldásában.
A két eszköz nagy segítség, de még mindig el kell olvasnia ezeket az utasításokat ezen az oldalon óvatosan, és fontos döntéseket hoz magának.
GenerateDatasetsXml
- GenerateDatasetsXml egy parancssori program, amely képes létrehozni egy durva tervezet az adatkészlet XML szinte bármilyen típusú adatkészlet.
Rendben vagyunk azzal, hogy használod a GenerateDatasets-t Xml ahelyett, hogy cunkkokat hozna létredatasets.xmlkézzel, mert:
- GenerateDatasets Az Xml másodpercekben működik. Ennek kézzel történő megtétele legalább egy órás munka, még akkor is, ha tudod, mit csinálsz.
- GenerateDatasets Az Xml jobb munkát végez. Ennek kézzel történő elvégzése kiterjedt tudást igényel arról, hogyanERDDAP™munkák. Nem valószínű, hogy jobb munkát fog végezni kézzel. (Bob Simons mindig használja a GenerateDatasets Xml az első tervezethez, és írtaERDDAP...)
- GenerateDatasets Az Xml mindig érvényes darabot generáldatasets.xml... Bármelyik részegdatasets.xmlhogy írsz, valószínűleg legalább néhány hibát, amelyek megakadályozzákERDDAP™az adatkészlet betöltésétől. Gyakran órákat vesz igénybe ezeknek a problémáknak a diagnosztizálására. Ne pazarolja az idejét. Let Generate Adatkészletek Xml csinálja a kemény munkát. Ezután finomíthatja a .xml-t kézzel, ha akarja.
Ha haszn álja a GenerateDatasets Xml program:
- A Windows-on az első alkalommal futtatja a GenerateDatasetsXml-t, szerkesztenie kell a GenerateDatasetsXml.bat fájlt egy szövegszerkesztővel, hogy megváltoztassa az utat a javára. Exe fájl, hogy a Windows találjonJava...
- GenerateDatasets Xml először kéri, hogy adja meg az EDDType-t (Erd Dap Adatkészlet típus) az adatkészlet. Lásd:Adatkészlet típusok listája (ebben a dokumentumban) kitalálni, hogy melyik típus megfelelő az adatkészlethez, amelyen dolgozol. A rendszeres EDDTypes mellett néhánySpeciális/Pseudo adatkészlet típusok (pl. az egyik, amely összetör egy THREDDS katalógust, hogy létrehozzon egy darab darabotdatasets.xmlminden adatkészlet a katalógusban) ...
- GenerateDatasets Az Xml egy sor kérdést tesz fel, amelyek specifikusak az EDDType számára. A kérdések összegyűjtik a szükséges információkatERDDAP™az adatkészlet forrásához való hozzáféréshez. Hogy megértsük, miERDDAP™kéri, lásd a dokumentációt az EDDType számára, amelyet az azonos adatkészlettípusra kattintva megadottAdatkészlet típusok listája...
Ha speciális karakterekkel kell belépnie egy sztringbe (pl. fehértér karakterek az elején vagy végén, nem-ASCII karakterek) belépj egyJSON stílusú sztring (speciális karakterekkel elmenekült \ karakterekkel) ... Például, hogy belépjen csak egy lapos karakter, lépjen be "\t" (a környező kettős idézetek, amelyek azt mondják,ERDDAP™ez egy JSON stílusú sztring.
- Gyakran az egyik válasz nem lesz az, amire a GenerateDatasetsXml-nek szüksége van. Ezután próbálkozhat újra, felülvizsgált válaszokkal a kérdésekre, amíg a GenerateDatasets Az Xml sikeresen megtalálhatja és megértheti a forrásadatokat.
- Ha helyesen válaszol a kérdésekre (vagy elég helyesen) , GenerateDatasets Az Xml összekapcsolja az adatkészlet forrását, és összegyűjti az alapvető információkat (például változó nevek és metaadata) ... Adatkészletek, amelyek a helyiNetCDF .ncés kapcsolódó fájlok, GenerateDatasets Az Xml gyakran kinyomtatja a fájl ncdump-szerű szerkezetét, miután először olvassa el a fájlt. Ez adhat információt, hogy válaszoljon a kérdések jobb egy későbbi hurok keresztül GenerateDatasetsXml.
- GenerateDatasets Az Xml ezután az XML adatkészletének durva tervezetét fogja létrehozni.
- Diagnosztikai információk és az XML adatkészlet durva tervezete meg lesz írva bigParentDirectory[szerkesztés] /log/GenerateDatasetsXml.log .
- Az XML adatkészlet durva tervezetét meg kell írni bigParentDirectory[szerkesztés] /logs/GenerateDatasetsXml.out .
"0 fájl" hibaüzenet
Ha fut a GenerateDatasets Xml vagyDasDdsvagy ha megpróbálsz betölteni egyEDDGridFájlok vagy EDDTableFrom... Files adatkészletERDDAP™, és kap egy "0 fájl" hibaüzenetet, amely jelzi, hogyERDDAP™talált 0 megfelelő fájlokat a könyvtárban (ha úgy gondolja, hogy van egyező fájlok ebben a könyvtárban) :
-
Ellenőrizze, hogy megadta a könyvtár teljes nevét. És ha megadta a minta fájlnév, győződjön meg róla, hogy megadta a fájl teljes nevét, beleértve a teljes könyvtár nevét.
-
Ellenőrizze, hogy a fájlok valóban ebben a könyvtárban vannak.
-
Ellenőrizze a könyvtár neve varázslatát.
-
Ellenőrizze a fájlNameRegex. Valójában nagyon könnyű hibákat hibáztatni a regexekkel. Tesztcélok esetén próbálja meg a regex .\*-t, amely minden fájlnévhez illeszkedik. (Lásd eztregex dokumentációésregex bemutató...)
-
Ellenőrizze, hogy a felhasználó, aki fut a program (pl. felhasználó=tomcat (?) Tomcat/ERDDAP) "olvassa" az engedélyt ezekre a fájlokra.
-
Egyes operációs rendszerekben (például SELinux) és a rendszerbeállításoktól függően a felhasználónak, aki futtatja a programot, „olvassa” a könyvtárak egész láncolatát, amely a fájlokat tartalmazó könyvtárhoz vezet.
-
Ha olyan problémák vannak, amelyeket nem lehet megoldani,kérés támogatásaa lehető legtöbb információval. Hasonlóképpen, ha úgy tűnik, hogy az adott adatkészlet megfelelő EDDType-je nem működik az adatkészlettel, vagy ha nincs megfelelő EDDType, kérjük, írjon egyA GitHub kérdésea részletekkel (mintafájl, ha releváns) ...
Meg kell szerkeszteni a kimenetet a GenerateDatasets Xml, hogy jobbá tegye.
-
DISCLAIMER: A pogánydatasets.xmlMADE BE GenerateDatasets Xml ISN'T PERFECT. MINDEN MINDEN VÁLLALKOZÓ ÉS EDIT THE XML BEFORE FELÜLVIZSGÁLATERDDAP... GenerateDatasets Xml RELIES A RULES-OF-THUMB WHICH ALWAYS CORRECT. AZ ELNÖK AZ ELNÖK KORRÁNYULÓJÁNAK AZ ELNÖK AZ ELNÖK AZ ELNÖK AZ ELNÖK AZ ELNÖK SZÁMÁRAERDDAPSdatasets.xmlFILE.
(Fun Fact: Nem kiabálok. Történelmi jogi okokból a kiáltókat minden sapkában meg kell írni.)
A GenerateDatasetsXml kimenete durva tervezet. Majdnem mindig kell szerkeszteni. Folytattuk, és továbbra is óriási erőfeszítést teszünk annak érdekében, hogy a kimenet a lehető legkészebb legyen, de vannak korlátozások. Gyakran előfordul, hogy a szükséges információk egyszerűen nem állnak rendelkezésre a forrás metaadatából.
Az alapvető probléma az, hogy számítógépes programot kérünk (GenerateDatasetsXml) hogy egy olyan feladatot, ahol, ha ugyanazt a feladatot 100 ember, akkor kap 100 különböző eredményeket. Nincs egyetlen "jobb" válasz. Nyilvánvaló, hogy a program legközelebb áll a Bob elmének olvasásához (Nem a tiéd) De még így sem, ez nem egy teljesen értetlen AI program, csak egy csomó heurisztika összefonódott, hogy egy AI-szerű feladat. (Egy teljesen érthetetlen AI program napja jön, de még nem. Ha/ha ez megtörténik, akkor az embereknek nagyobb problémái lehetnek. Legyen óvatos, hogy mit akarsz.)
-
Információs célokra a kibocsátás a globális forrásAttributes és változó forrásAttributes mint észrevételek.ERDDAP™A forrásAttributes ésaddAttributes (mely előbbi) hogy a kombinált Olyan tulajdonságok, amelyeket a felhasználónak mutatnak. (És más tulajdonságok automatikusan hozzáadódik a hosszúsághoz, a magassághoz, a magassághoz, a mélységhez és az idő változókhoz, amikorERDDAP™ténylegesen teszi az adatkészletet) ...
-
Ha nem tetszik egy forrásAttribute, írja felül az addAttribute hozzáadása ugyanazzal a névvel, de más érték (vagy nem érték, ha el akarja távolítani) ...
-
MindenaddAttributesszámítógép-generált javaslatok. Szeressétek őket! Ha nem tetszik egy addAttribute, változtassa meg.
-
Ha mást szeretne hozzáadniaddAttributesadd hozzá őket.
-
Ha változtatni akarszdestinationNameVáltoztasd meg. De ne változzonsourceNameS.
-
Meg tudod változtatni a rendetdataVariablevagy távolítsa el őket.
- Ezután használhatóDasDds (lásd alább) ismételten tesztelni az XML-t az adatkészlet számára annak biztosítása érdekében, hogy az elért adatkészlet úgy jelenjen meg, ahogy azt szeretné, hogy bekapcsolja.ERDDAP...
- Érezze szabadon, hogy kis változásokat tegyendatasets.xmlcunk, amit generált, például jobb ellátástinfoUrlösszefoglaló vagy cím.
DoNotAddStandardNames
Ha tartalmazza a \-doNotAddStandardNames mint parancssori paraméter, ha fut generál Adatkészletek Xml, generál Adatkészletek Xml nem fog hozzáadnistandard\_nameaaddAttributesbármilyen változó más, mint a latitude, hosszúság, magasság, mélység vagy idő (amely nyilvánvalóstandard\_names) ... Ez hasznos lehet, ha a termelést használja Adatkészletek Xml közvetlenülERDDAP™a kimenet szerkesztése nélkül, mert generál Adatkészletek Xml gyakran guessesstandard\_nameHelytelenül. (Vegye figyelembe, hogy mindig azt javasoljuk, hogy szerkesztse a kimenetet, mielőtt használja aztERDDAP...) Ezzel a paraméterrel más kisebb hatások is lesznek, mert a kitaláltstandard\_namegyakran használják más célokra, például egy új létrehozásralong\_nameÉs létrehozni a színBar beállításokat.
Jelölés
Alternatívaként a kérdések megválaszolására interaktívan a billentyűzeten, és a további adatkészletek létrehozására való looping, parancssori érveket biztosíthat, hogy válaszoljon az összes kérdésre egy adatkészlet létrehozásához. GenerateDatasets Az Xml feldolgozza ezeket a paramétereket, írja a kimenetet a kimeneti fájlba, és kilép a programból.
A beállításhoz először használja a programot interaktív módban, és írja le a válaszokat. Íme egy részleges példa: Tegyük fel, hogy futtassa a forgatókönyvet: ./GenerateDatasetsXml.sh Ezután lépjen be: EDDTableFromAsciiFiles Ezután lépjen be: /u00/data/ Ezután lépjen be: .\*\.asc Ezután lépjen be: /u00/data/sampleFile.asc Ezután lépjen be: ISO-8859-1
Hogy ezt nem interaktív módon futtassa, használja ezt a parancssort: ./GenerateDatasetsXml.sh EDDTableFromAsciiFiles /u00/data/ .\*=.asc /u00/data/sampleFile.asc ISO-8859-1 Tehát alapvetően csak felsorolja az összes választ a parancssoron. Ez hasznos lehet az olyan adatkészletek számára, amelyek gyakran változnak olyan módon, amely megköveteli a GenerateDatasets újraindítását Xml (nevezetesenEDDGridFromThreddsCatalog) ...
Részletek:
- Ha egy paraméter tartalmaz egy teret vagy egy speciális karaktert, akkor kódolja a paramétert, mint egyJSON stílusú sztringpl.: „A paraméterem a terekkel és kettővel\nvonalak.”
- Ha egy üres sztringet paraméterként szeretné meghatározni, használja: semmi
- Ha egy paraméter alapértelmezett értéket szeretne meghatározni, használja: alapértelmezett
- GenerateDatasets Xml támogatja a -i adatkészletek XmlName # TagName parancssori paraméter, amely beilleszti a kimenetet a megadottdatasets.xmlfájl (az alapértelmezés Tomcat /content/erddap/datasets.xml) ... GenerateDatasets Az Xml két vonalat keres az adatkészletekben XmlName:
<!-- Begin GenerateDatasetsXml #*tagName someDatetime* -->
és
<!-- End GenerateDatasetsXml #*tagName someDatetime* -->
és cserélje ki mindent az e sorok között az új tartalommal, és megváltoztatja a SomeDatetime-t.
- A -i kapcsoló csak feldolgozott (változásokdatasets.xmlcsak) ha fut a GenerateDatasets Xml parancssori érvek, amelyek meghatározzák az összes választ az összes kérdésre egy hurok a program. (Lásd: „Scripting” fent.) (A gondolkodás: Ez a paraméter a forgatókönyvekkel való használatra szól. Ha a programot interaktív módban használja (Info beírása a billentyűzeten) Valószínűleg az XML hibás darabjait generálod, mielőtt létrehozod azt, amit akarsz.)
- Ha a Kezdő és Végső sorokat nem találják, akkor ezeket a sorokat és az új tartalmakat közvetlenül beillesztik</erddapDatasets>.
- Van még egy -I (tőke i) kapcsolja be a tesztelési célokat, amelyek ugyanazt működnek, mint -i, de létrehozza az úgynevezett fájltdatasets.xml dalszöveg és nem változtat megdatasets.xml...
- Ne futtassa GenerateDatasets Xml - egyszerre két folyamatban. Van egy esély, hogy csak egy sor változás fog tartani. Lehet, hogy komoly baj van (például korrupt fájlok) ...
Ha használja a "GenerateDatasetsXml -verbose", akkor a szokásosnál több diagnosztikai üzenetet fog nyomtatni.
Speciális/Pseudo adatkészlet típusok
Általában az EDDType lehetőségek a GenerateDatasets-ben Az e dokumentumban leírt EDD-típusok Xml-es egyezése (lásd:Adatkészlet típusok listája) létrehozni egydatasets.xmlegy adatkészlet létrehozása egy adott adatforrásból. Néhány kivétel és különleges eset van:
EDDGridFromErdap
Ez az EDDType az összesdatasets.xmlcunks szükséges ahhoz, hogyEDDGridFromErdapadatkészletek az összesEDDGridadatkészletek egy távoliERDDAP... Lehetősége lesz az eredeti megtartásáradatasetIDs (amely megduplázhat néhányatdatasetIDmár bennedERDDAP) vagy új nevek létrehozása, amelyek egyediek lesznek (de általában nem olyan emberi olvasható) ...
EDDTableFromErddap
Ez az EDDType az összesdatasets.xmlcunks szükséges ahhoz, hogyEDDTableFromErddapaz összes EDDTable adatkészletből egy távoliERDDAP... Lehetősége lesz az eredeti megtartásáradatasetIDs (amely megduplázhat néhányatdatasetIDmár bennedERDDAP) vagy új nevek létrehozása, amelyek egyediek lesznek (de általában nem olyan emberi olvasható) ...
EDDGridFromThreddsCatalog
Ez az EDDType az összesdatasets.xmla zsák szükséges az összesEDDGriddalszövegolyan adatkészletek, amelyeket visszanyerő módon találhat egy THREDDS-en keresztül (alá: beadás) katalógus. Számos formája van a THREDDS katalógus URL-eknek. Ez az opció REQUIRES egy THREDDS .xml URL /catalog / benne, például,
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/catalog.xml vagy
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/Satellite/aggregsatMH/chla/catalog.xml
(Egy kapcsolódó .html katalógus van
https://oceanwatch.pfeg.noaa.gov/thredds/Satellite/aggregsatMH/chla/catalog.html amely nem elfogadhatóEDDGridFromThreddsCatalog.
Ha problémái vannakEDDGridFromThredd Katalógus:
- Győződjön meg róla, hogy az URL-t használja, érvényes, tartalmazza / katalog /, és végződik /catalog.xml .
- Ha lehetséges, használjon nyilvános IP-címet (például, https://oceanwatch.pfeg.noaa.gov ) az URL-ben, nem egy helyi numerikus IP-cím (például, https://12.34.56.78 ) ... Ha a THREDDS csak a helyi numerikus IP címen keresztül érhető el, használhatja [<átalakításToPublicSourceUrl> (#konverttopublicsourceurl) ígyERDDAP™a felhasználók látják a nyilvános címet, bárERDDAP™adatokat kap a helyi numerikus címről.
- Ha olyan problémák vannak, amelyeket nem lehet megoldani,Ellenőrizze a hibaelhárítási tippeket...
- Az alacsony szintű kód ezt most használjaUnidatanetcdf-java katalógus személyzeti kód (Szárak. katalógus osztályok) hogy kezelje az összes THREDDS katal ógust (amely meglepően bonyolult lehet) KöszönömUnidataehhez a kódhoz.
EDDGridLonPM180FromErddapCatalog
Ez az EDDType generáljadatasets.xmlHogyEDDGridLonPM180adatkészletek az összesEDDGridadatkészletek egyERDDAPolyan hosszúsági értékek, amelyek 180-nál nagyobbak.
- Ha lehetséges, használjon nyilvános IP-címet (például, https://oceanwatch.pfeg.noaa.gov ) az URL-ben, nem egy helyi numerikus IP-cím (például, https://12.34.56.78 ) ... HaERDDAP™csak a helyi numerikus IP-címen keresztül érhető el, használhatja [<átalakításToPublicSourceUrl> (#konverttopublicsourceurl) ígyERDDAP™a felhasználók látják a nyilvános címet, bárERDDAP™adatokat kap a helyi numerikus címről.
EDDGridLon0360 FromErddapCatalog
Ez az EDDType generáljadatasets.xmlHogyEDDGridLon0360adatkészletek az összesEDDGridadatkészletek egyERDDAPaminek bármilyen hosszúsági értéke kevesebb, mint 0.
- Ha lehetséges, használjon nyilvános IP-címet (például, https://oceanwatch.pfeg.noaa.gov ) az URL-ben, nem egy helyi numerikus IP-cím (például, https://12.34.56.78 ) ... HaERDDAP™csak a helyi numerikus IP-címen keresztül érhető el, használhatja [<átalakításToPublicSourceUrl> (#konverttopublicsourceurl) ígyERDDAP™a felhasználók látják a nyilvános címet, bárERDDAP™adatokat kap a helyi numerikus címről.
EDDSFromFiles
Tekintettel az induló könyvtárra, ez megfordítja a könyvtárat és az összes alirányítót, és megpróbál létrehozni egy adatkészletet minden egyes adatfájlhoz, amelyet megtalál.
- Ez azt feltételezi, hogy amikor egy adatkészlet megtalálható, az adatkészlet tartalmazza az összes aláírót.
- Ha egy adatkészlet megtalálható, hasonló testvéri könyvtárakat fognak kezelni külön adatkészletként (Például az 1990-es évek könyvtárai, a 2000-es évek, a 2010-es évek, külön adatkészleteket fognak létrehozni) ... Könnyűnek kell lenniük a kézzel kombinálni - csak megváltoztatni az első adatkészletet<fájlDir> a szülői könyvtárba, és törölje az összes későbbi testvéri adatkészletet.
- Ez csak egy darabot próbál generálnidatasets.xmla leggyakoribb típusú fájl kiterjesztése egy könyvtárban (nem számít .md5, amely figyelmen kívül hagyja) ... Tehát, adott egy könyvtár 10.ncfájlokat és 5 .txt fájlokat, adatkészletet generálnak.ncfájlok csak.
- Ez azt feltételezi, hogy az összes fájl egy könyvtárban azonos kiterjesztéssel tartozik ugyanabban az adatkészletben. Ha egy könyvtár van néhány.ncfájlok SST adatokkal és néhány.ncfájlok chlorophyll adatok, csak egy minta.ncfájl lesz olvasva (SST? Chlorophyll?) és csak egy adatkészlet jön létre az ilyen típusú fájlhoz. Ez az adatkészlet valószínűleg nem terheli a komplikáci ók miatt, hogy megpróbálja betölteni két típusú fájlt ugyanazon adatkészletbe.
- Ha kevesebb, mint 4 fájl van a leggyakoribb kiterjesztéssel egy könyvtárban, ez azt feltételezi, hogy nem adatfájlok, és csak kihagyja a könyvtárat.
- Ha van 4 vagy több fájl egy könyvtárban, de ez nem képes sikeresen létrehozni egy darabotdatasets.xmla fájlokhoz (például egy nem támogatott fájltípus) Ez generál egyEDDTableFromFileNamesadatkészlet a fájlokhoz.
- A diagnózis végén, hogy ez a logfájlra ír, csak mielőttdatasets.xmlcunks, ez egy táblázatot fog nyomtatni, amely összefoglalja az összes előirányzatot átnyomó információt. Az asztal felsorolja az összes előirányzatot, és jelzi a leggyakoribb típusú fájl kiterjesztését, a fájlok teljes számát, és mely típusú adatkészletet hoztak létre ezekhez a fájlokhoz. (ha valaki) ... Ha összetett, mélyen fészkelt fájlstruktúrával szembesül, fontolja meg a GenerateDatasets futtatását Xml EDDType=EDDSFromFiles csak azért, hogy létrehozza ezt az információt,
- Ez az opció nem tehet nagyszerű munkát a legjobb EDDType kitalálásában egy adott adatfájlok csoportja számára, de gyors, egyszerű és érdemes kipróbálni. Ha a forrásfájlok megfelelőek, jól működik, és jó első lépés a generálásbandatasets.xmlegy fájlrendszer, sok előirányzattal, mindegyik adatfájlok különböző adatkészletek.
EDDTableFromEML és EDDTableFromEMLBatch
Ezek a különleges EDDType generáljadatasets.xmlHogy egyEDDTableFromAsciiFilesaz egyes táblákból származó adatkészlet, amelyet egyökológiai metaadata nyelvXML fájl. A "Batch" változat működik az összes EML fájl egy helyi vagy távoli könyvtárban. Kérjük, lásd a különállótdokumentáció EDDTableFromEML...
EDDTableFromInPort
Ez a különleges EDDType generáljadatasets.xmlHogy egyEDDTableFromAsciiFilesadatkészlet az információból egyInport-xmlfájl. Ha hozzáférhet a forrásadat fájlhoz (az inport-xml-fájlnak rendelkeznie kell azzal, hogy hol találja meg) működőképes adatkészletet készíthetERDDAP...
A következő lépések felvázolják, hogyan kell használni a GenerateDatasets Xml inport-xml fájllal, hogy munkaadatot kapjonERDDAP...
- Miután hozzáfér az inport-xml fájlhoz (vagy URL-ként vagy helyi fájlként) Futás GenerateDatasets Xml, megjelöli az EDDType=EDDTableFromInPort-ot, meghatározza az inport-xml URL-t vagy a teljes fájlnévet, meghatározza, hogy melyikChild=0, és meghatározza a többi kért információt (ha ismert) ... (Ezen a ponton nem kell a forrásadat fájlt megadnia, vagy meg kell határoznia a nevét.) Az, amiChild=0 beállítás mondja a GenerateDatasets Xml, hogy megírja az információkat Minden A<entity-attribute-információ><entity> az inport-xml fájlban (ha vannak) ... Kinyomtat egy Background információs összefoglalót is, beleértve az összes letöltési url listáját az inport-xml fájlban.
- Nézz át az összes információt (beleértve a Background információkat, amelyek a GenerateDatasets Xml nyomtatások) és látogasson el a letöltési URL (s) annak érdekében, hogy megpróbálja megtalálni a forrásadat fájlt (s) ... Ha megtalálja (őket) Töltse le (őket) olyan könyvtárba, amely hozzáférhetőERDDAP... (Ha nem talál semmilyen forrásadat fájlt, nincs pont az eljárásban.)
- Run Generate Adatkészletek Xml ismét. Ha a forrásadat fájl megfelel az egyik inport-xml fájlnak<entity-attribute-információ><entitás> megadja, melyikChild= Az Entity'sNumber (pl.: 1, 2, 3, ...) ...ERDDAP™megpróbálja megegyezni az oszlopneveket a forrásadat file-ban az entitásinformációk neveihez, és ösztönözni kell az elfogadást/tagadni bármilyen eltérést. Vagy ha az inport-xml fájlnak nincs semmilyen<entity-attribute-információ><entitás> megadja, melyikChild=0.
- A zsákbandatasets.xmlEzt a GenerateDatasets készítette Xml, felülvizsgálja a [global]<addAttributes>>>>>> (#globális tulajdonságok) szükség/kívánatos.
- A zsákbandatasets.xmlEzt a GenerateDatasetsXml készítette, add / felülvizsgálja [<dataVariable>>>>>> (#datavariable) a szükséges / kívánatos információ, hogy leírja az egyes változók. Ügyeljen arra, hogy megfelelően azonosítsa az egyes változókat [[szerkesztés]]<sourceName>>>>>> (#sourcename) (ahogy megjelenik a forrásban) , [[szerkesztés]]<destinationName>>>>>> (#destinationname) (amely több korláttal rendelkezik az engedélyezett karakterekre, mintsourceName) , [[szerkesztés]]<egység>] (#uniták) (különösen, ha ez egyidő vagy időmérő változóahol az egységeknek meg kell határozniuk a formátumot) és [[szerkesztés]]<missing\_value>>>>>> (#missing_érték) ,
- Amikor közel vagy befejezni, ismételten használja aDasDdseszköz, hogy gyorsan megnézze, hogy az adatkészlet leírása érvényes-e, és ha az adatkészlet megjelenikERDDAP™ahogy akarod.
Nagyszerű lenne, ha az InPortot használó csoportok dokumentálnák adatkészleteiket, szintén használnákERDDAP™elérhetővé tenni a tényleges adatokat:
- ERDDAP™olyan megoldás, amelyet most használhatunk, így teljesíthetNOAAAKözös hozzáférés a kutatási eredményekhez (PARR) követelményekmost, nem valami homályos időben a jövőben.
- ERDDAP™a felhasználók számára elérhető tényleges adatokat, nem csak a metaadatot. (Milyen jó a metaadata adatok nélkül?)
- ERDDAP™támogatások metaadata (nevezetesen a változók egységei) Ellentétben néhány más adatkiszolgáló szoftvert. (Milyen jó az adatok metadata nélkül?) Olyan szoftver használatához, amely nem támogatja a metaadatot, hogy meghívja az adatokat félreértésre és visszaélésre.
- ERDDAP™ingyenes és nyílt forráskódú szoftver, ellentétben néhány más szoftvert. Folyamatos fejlődésERDDAP™már fizetett. TámogatásERDDAP™A felhasználók ingyenesek.
- ERDDAPA megjelenés könnyen testreszabható, hogy tükrözze és kiemelje a csoportot (nemERDvagyERDDAP) ...
- ERDDAP™következetes módot kínál az összes adatkészlethez.
- ERDDAP™számos adatfájlból és a kapcsolati adatbázisokból olvashat adatokat.
- ERDDAP™nagy adatkészletekkel, beleértve az adatkészleteket is, ahol a forrásadat számos adatfájlban található.
- ERDDAP™adatokat írhat sokféle adatfájlra, a felhasználó kérésére, beleértve a netCDF, ESRI .csv ésODV .txt...
- ERDDAP™egyedi grafikonokat és térképeket készíthet az adatok alkészleteiről, a felhasználó specifikációi alapján.
- ERDDAP™nem adatkészletekkel, például képgyűjteményekkel, videóval vagy audiofájlokkal foglalkozhat.
- ERDDAP™telepítették és használjáktöbb mint 60 intézmény világszerte...
- ERDDAP™a használatra javasolt adatkiszolgálók egyikeként szerepelNOAAaNOAAAdathozzáférési eljárási irányelvEllentétben néhány más szoftvert.
- ERDDAP™egy termékNMFS/NOAA, így használja belülNMFSésNOAAlegyen a büszkeség pontjaNMFSésNOAA...
Kérjük, adja megERDDAP™Egy próbát. Ha segítségre van szüksége, küldjön üzenetet aERDDAP™Google csoport.
addFillValueAttributes
Ez a különleges EDDType opció nem adatkészlet. Ez egy eszköz, amely hozzáadhatja a \_FillValue tulajdonságait néhány változóhoz bizonyos adatkészletekben. LásdaddFillValueAttributes...
FindDuplic Idő
Ez a különleges EDDType opció nem adatkészlet. Ehelyett azt mondja a GenerateDatasets Xml keresni egy gyűjtött gyűjteményt.nc (és kapcsolódó) fájlokat találni és nyomtatni a fájlok listáját duplikált időértékekkel. Amikor az időértékeket nézi, az eredeti egységekről átalakítja őket"seconds since 1970-01-01"ha a különböző fájlok különböző egységeket használnak. Meg kell adnia a kezdő könyvtárat (vagy anélkül, hogy nyomkövető slash) , a fájlnév rendszeres kifejezés (pl.: \* \.nc ) , és az idő neve változó a fájlokban.
ncdump
Ez a különleges EDDType opció nem adatkészlet. Ehelyett azt mondja a GenerateDatasets Xml nyomtatni egyncdump\-szerű nyomtatás egy.nc,.ncml, vagy.hdffájl. Valójában használja a netcdf-javaNCdumpEz egy korlátozottabb eszköz, mint az NCdump C verziója. Ha ezt a lehetőséget használja, a GenerateDatasetsXml arra kéri Önt, hogy használja az egyik lehetőséget: "h" (Fejlesztő) , "-c" (koordinált vars) , "vall" (default) , "v var1;var2", "v var1 (0:10,0:20) "..." Ez azért hasznos, mert ncdump nélkül nehéz megtudni, mi van egy.nc,.ncml, vagy.hdffájl és így az EDDType meg kell határozni a GenerateDatasets Xml. Egy.ncml fájl, ez kinyomtatja a ncdump kimenetet az eredményért.ncml fájlváltozások az alapul szolgáló.ncvagy.hdffájl.
DasDds
- DasDds egy parancssori program, amelyet használhat, miután létrehozott egy első kísérletet az XML-nél egy új adatkészletredatasets.xml... A DasDds-szel többször is tesztelheti és finomíthatja az XML-t. Ha a DasDds programot használja:
- A Windows-on az első alkalommal futtatja a DasDds-eket, szerkesztenie kell a DasDds-eket. bat fájl egy szövegszerkesztővel, hogy megváltoztassa az utat a java felé. Exe fájl, hogy a Windows találjonJava...
- A DasDds kéri ÖntdatasetIDaz Ön által végzett adatkészletért.
- A DasDds megpróbálja létrehozni az adatkészletet ezzeldatasetID...
- A DasDds mindig sok diagnosztikai üzenetet nyomtat. Ha "DasDds -verbose"-t használ, a DasDds a szokásosnál több diagnosztikai üzenetet fog nyomtatni.
- A biztonság érdekében a DasDds mindig törli az összes csípős adatkészlet információit (fájlok) az adatkészlet számára, mielőtt megpróbálná létrehozni az adatkészletet. Ez az egyenértékű egykemény zászlóTehát az összesített adatkészletek esetében előfordulhat, hogy módosítani szeretné a fájltNameRegex ideiglenesen, hogy korlátozza a fájlok számát az adatgyártó megtalálja.
- Ha az adatkészlet nem terheli (bármilyen okból) A DasDds megállítja és megmutatja a hibaüzenetet az első hiba miatt, amit talál.
Ne próbálja kitalálni, hogy mi lehet a probléma. Olvassa el gondosan az ERROR üzenetet.
Ha szükséges, olvassa el az előző diagnosztikai üzeneteket, hogy több nyomot és információt is találjon. - Változtasson az adatkészlet XML-jére, hogy megpróbálja megoldani a THAT problémát
és hagyja, hogy a DasDds újra létrehozza az adatkészletet. - Ha ismételten megoldja minden problémát, akkor végül megoldja az összes problémát
és az adatkészlet betöltődik.
- Minden DasDds kimenet (diagnosztika és eredmények) a képernyőre írnak, és bigParentDirectory[szerkesztés] /logs/DasDds.log
- Ha a DasDds létrehozhatja az adatkészletet, a DasDds majd megmutatja Önnek a.das (Adatkészlet tulajdonság struktúra) ,.dds (Dataset Descriptor Szerkesztés) ésIdőszakok (Időbeli szakadékok) információ az adatkészlet a képernyőn, és írja őket, hogy bigParentDirectory[szerkesztés] /log/DasDds.out .
- Gyakran előfordul, hogy kis változást szeretne elérni az adatkészlet XML-jéhez, hogy megtisztítsa az adatkészlet metaadatát és újraindítsa a DasDds-t.
Bónusz Harmadik fél eszköz:ERDDAP-lint
ERDDAP-lint egy program Rob Fuller és Adam Leadbetter az ír tengerészeti intézet, hogy lehet használni, hogy javítsa a metaadat aERDDAP™adatkészletek.ERDDAP-lint "megtartja a szabályokat és egy egyszerű statikus webes alkalmazást néhány ellenőrző teszt futtatásáhozERDDAP™szerver. Minden teszt fut a webböngészőben.” Mint aUnix/Linux lint eszköz szerkesztheti a meglévő szabályokat, vagy új szabályokat adhat hozzá. LásdERDDAP-lintTovábbi információkért.
Ez az eszköz különösen hasznos az olyan adatkészletek számára, amelyeket néhány évvel ezelőtt hoztál létre, és most naprakészen akarod hozni a jelenlegi metaadat preferenciáiddal. Például a GenerateDatasets korai verziói Az Xml nem tett erőfeszítést a globális megteremtés érdekébencreator\_name,creator\_email, alkotó\_type, vagycreator\_urlMetaadata. Haszn álhatjaERDDAP-lint azonosítani azokat az adatkészleteket, amelyek hiányoznak ezek a metaadatok tulajdonságai.
Robnak és Ádámnak köszönhetően, hogy létrehozza ezt az eszközt, és elérhetővé tegye aztERDDAP™közösség.
Alapvető szerkezetedatasets.xmlFile
A szükséges és opcionális címkék megengedettek egydatasets.xmlfájl (és hányszor jelenhetnek meg) alább láthatók. A gyakorlatban, a tedatasets.xmlsok lesz<adatkészlet> címkéi és csak a többi címkét használja<erddapDatasets> szükség szerint.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<erddapDatasets>
<angularDegreeUnits>...</angularDegreeUnits> <!-- 0 or 1 -->
<angularDegreeTrueUnits>...</angularDegreeTrueUnits> <!-- 0 or 1 -->
<cacheMinutes>...</cacheMinutes> <!-- 0 or 1 -->
<commonStandardNames>...</commonStandardNames> <!-- 0 or 1 -->
<convertInterpolateRequestCSVExample /> <!-- 0 or more -->
<convertInterpolateDatasetIDVariableList /> <!-- 0 or more -->
<convertToPublicSourceUrl /> <!-- 0 or more -->
<decompressedCacheMaxGB>...</decompressedCacheMaxGB> <!-- 0 or 1 -->
<decompressedCacheMaxMinutesOld>...</decompressedCacheMaxMinutesOld> <!-- 0 or 1 -->
<drawLandMask>...</drawLandMask> <!-- 0 or 1 -->
<emailDiagnosticsToErdData>...</emailDiagnosticsToErdData> <!-- 0 or 1 -->
<graphBackgroundColor>...</graphBackgroundColor> <!-- 0 or 1 -->
<ipAddressMaxRequests>...</ipAddressMaxRequests> <!-- 0 or 1 -->
<ipAddressMaxRequestsActive>...<ipAddressMaxRequestsActive> <!-- 0 or 1 -->
<ipAddressUnlimited>...<ipAddressUnlimited> <!-- 0 or 1 -->
<loadDatasetsMinMinutes>...</loadDatasetsMinMinutes> <!-- 0 or 1 -->
<loadDatasetsMaxMinutes>...</loadDatasetsMaxMinutes> <!-- 0 or 1 -->
<logLevel>...</logLevel> <!-- 0 or 1 -->
<nGridThreads>...</nGridThreads> <!-- 0 or 1 -->
<nTableThreads>...</nTableThreads> <!-- 0 or 1 -->
<palettes>...</palettes> <!-- 0 or 1 -->
<partialRequestMaxBytes>...</partialRequestMaxBytes> <!-- 0 or 1 -->
<partialRequestMaxCells>...</partialRequestMaxCells> <!-- 0 or 1 -->
<requestBlacklist>...</requestBlacklist> <!-- 0 or 1 -->
<slowDownTroubleMillis>...</slowDownTroubleMillis> <!-- 0 or 1 -->
<subscriptionEmailBlacklist>...</subscriptionEmailBlacklist> <!-- 0 or 1 -->
<unusualActivity>...</unusualActivity> <!-- 0 or 1 -->
<updateMaxEvents>...</updateMaxEvents> <!-- 0 or 1 --><standardLicense>...</standardLicense> <!-- 0 or 1 -->
<standardContact>...</standardContact> <!-- 0 or 1 -->
<standardDataLicenses>...</standardDataLicenses> <!-- 0 or 1 -->
<standardDisclaimerOfEndorsement>...</standardDisclaimerOfEndorsement> <!-- 0 or 1 -->
<standardDisclaimerOfExternalLinks>...</standardDisclaimerOfExternalLinks> <!-- 0 or 1 -->
<standardGeneralDisclaimer>...</standardGeneralDisclaimer> <!-- 0 or 1 -->
<standardPrivacyPolicy>...</standardPrivacyPolicy> <!-- 0 or 1 -->
<startHeadHtml5>...</startHeadHtml5> <!-- 0 or 1 -->
<startBodyHtml5>...</startBodyHtml5> <!-- 0 or 1 -->
<theShortDescriptionHtml>...</theShortDescriptionHtml> <!-- 0 or 1 -->
<endBodyHtml5>...</endBodyHtml5> <!-- 0 or 1 --><user username="..." password="..." roles="..." /> <!-- 0 or more -->
<dataset>...</dataset> <!-- 1 or more -->
</erddapDatasets>
Lehetséges, hogy a jövőben más kódolások kerülnek engedélyezésre, de most már csak az ISO-8859-1 ajánlott.
XInclude
Az új verzió 2.25 támogatja az XInclude-t. Ez megköveteli, hogy használja a SAX parser<HasználatSaxParser> Igaz</useSaxParser> a beállításban.xml. Ez lehetővé teszi, hogy saját fájljában írjon minden adatkészletet, majd tartalmazza azokat a főbbdatasets.xmlújrahasznosítani az adatkészlet-meghatározásokat, vagy mindkettőt. Ha egy példát szeretnél látni,EDDTestDataset.javaXInclude-t állít fel a változó meghatározások újrafelhasználására.
Megjegyzések
Együttműködésdatasets.xmlA fájl nem triviális projekt. Kérjük, olvassa el ezeket a jegyzeteket gondosan. Miután kiválasztott egyadatkészlet típusKérjük, olvassa el gondosan a részletes leírást.
Az adatkészlet típusának kiválasztása
A legtöbb esetben csak egy vanERDDAP™adatkészlettípus, amely megfelelő egy adott adatforráshoz. Néhány esetben (pl.:.ncfájlok) Vannak néhány lehetőség, de általában az egyik közülük biztosan a legjobb. Az első és legnagyobb döntés, amit meg kell hozni: helyénvaló kezelni az adatkészletet, mint egy csoport multidimenzionális sorozatok (ha igen,EDDGridadatkészlet típusa) vagy adatbázisszerű adattábláként (ha igen,EDDTable adatkészlet típusok) ...
Az adatok szolgálata, mint
Általában nincs szükség az adatforrás módosítására (pl. a fájlokat más fájltípusra konvertálja) hogyERDDAP™szolgálhatja. Az egyik feltételezés aERDDAP™az, hogy az adatforrást úgy fogják használni, mint az. Általában ez jól működik. Néhány kivétel:
- Kapcsolódó adatbázisok és Cassandra -ERDDAP™közvetlenül a kapcsolati adatbázisokból és a Cassandra-ból szolgálhat adatokat. De a biztonság, a terhelés kiegyensúlyozása és a teljesítmény kérdései, úgy dönthet, hogy létrehoz egy másik adatbázist ugyanazzal az adatokkal, vagy mentse meg az adatokat, hogyNetCDFv3.ncfájlok ésERDDAP™szolgálja az adatokat az új adatforrásból. LásdEDDTableFromDatabaseésEDDTableFromCassandra...
- Nem támogatott adatforrások -ERDDAP™támogathat számos adatforrást, de a világ tele van 1000-es (milliók?) különböző adatforrások (nevezetesen az adatfájl struktúrák) ... HaERDDAP™nem támogatja az adatforrást:
- Ha az adatforrásNetCDF .ncfájlokat, használhatNcMLaz adatfájlok módosítása a repülésen vagy a használatonNCOaz adatfájlok állandó módosítása.
- Az adatokat egy adatforrástípusra írhatja,ERDDAP™támogatás.NetCDF-3.nca fájlok jó, általános ajánlás, mert bináris fájlok, hogyERDDAP™nagyon gyorsan olvashat. A tabuláris adatok esetében fontolja meg az adatok tárolását egy gyűjteményben.ncfájlok, amelyek aCF Discrete Sampling Geometries (DSG) Contiguous Ragged Array adatstruktúrák és így kezelhetőkERDDAPAEDDTableFromNcCFFiles). Ha logikailag megszervezik őket (mindegyik adat egy darab űr és idő) ,ERDDAP™nagyon gyorsan kivonhatja az adatokat tőlük.
- Kérheti, hogy az adatforrás támogatását hozzáadjukERDDAP™e-mailben Chris. John at noaa.gov.
- Hozzáadhat támogatást az adatforráshoz azáltal, hogy megírja a kódot, hogy kezelje magát. LásdaERDDAP™Programozó útmutató
- Speed -ERDDAP™olvashat adatokat néhány adatforrásból sokkal gyorsabban, mint mások. Például olvasásNetCDFv3.ncA fájlok gyorsak és az ASCII fájlok olvasása lassabb. Ha van egy nagy (>1000) vagy hatalmas (>10 000) forrásadat fájlok száma,ERDDAP™Lassan reagál néhány adatkérésre. Általában a különbség nem észrevehető az emberek számára. Ha azonban úgy gondolja,ERDDAP™lassú egy adott adatkészlet esetében, úgy dönthet, hogy megoldja a problémát az adatok hatékonyabb beállításának írásával (általában: néhány, jól strukturált,NetCDFv3.ncfájlok) ... A tabuláris adatokhoz lásd:ez a tanács...
Hint
Gyakran könnyebb generálni az XML-t egy adathalmaz számára, ha egy munkaadat-leírást készít az adatkészletben.xml-ben, majd módosítja azt.
Különleges karakterek kódolása
ótadatasets.xmlXML fájl, akkor MUST&-Ecode"&", "<"és ">" bármilyen tartalomban "&", "<és „és gt;”. Rossz:<cím> Idő és tides</title> Jobb:<cím> Time & Tides</title>
Az XML nem tolerálja a szintax hibákat
Miután szerkesztette az adatkészletet.xml fájlt, jó ötlet ellenőrizni, hogy az eredményjól kialakított XMLaz XML szöveg beillesztése egy XML-ellenőrzőbe, mintxmlvalidáció...
Hibaelhárítási tippek
- Más módszerek a problémák diagnosztizálására az adatkészletekkel
A két fő mellettEszközök, - Log.txtegy log fájl mindenERDDAPDiagnosztikai üzenetek.
- ANapi jelentéstöbb információval rendelkezik, mint a status oldal, beleértve az olyan adatkészletek listáját, amelyek nem töltöttek be, és a kivételek (hibák) termeltek.
- AStatus oldalgyors módja annak, hogy ellenőrizzeERDDAPstátusza bármilyen webböngészőtől. Ez magában foglalja az olyan adatkészletek listáját, amelyek nem töltöttek be (bár nem a kapcsolódó kivételek) és feladatHárom statisztika (bemutatni a haladástEDDGridMásolásésEDDTableCopyadatkészletek és mindenEDDGridFájlokvagyEDDTableFromFilesolyan adatkészletek, amelyekCacheFromUrl (de nem kóstol SizeGB) ) ...
- Ha megragadsz, lásd a mirész további támogatás megszerzéséről...
Különleges változók
- A hosszúság, a magasság, a magasság (vagy mélység) és idő (LLAT) változó destinationNameS különleges.
- Általában:
- LLAT változók ismertekERDDAP™ha a tengely változója (MertEDDGridadatkészletek) vagy az adatok változója (EDDTable adatkészletek) destinationName"hosszúság", "latitude", "altitude", "mélység" vagy"time"...
- Erősen arra ösztönözzük Önt, hogy használja ezeket a szabványos neveket ezekre a változókra, amikor csak lehetséges. Egyikük sem szükséges. Ha nem használja ezeket a különleges változó neveket,ERDDAP™nem fogja felismerni jelentőségüket. Például az LLAT változókat speciálisan a Make A Graph kezeli ( datasetID .gráf) : ha az X Axis változó "hosszúság", és az Y Axis változó "magasság", akkor térképet kap (egy szabványos előrejelzés, valamint egy földmaszk, politikai határok stb.) egy grafikon helyett.
- ERDDAP™automatikusan hozzáad sok metaadatot a LLAT változókhoz (Például: "ioos\_category",",egység" és számos szabványhoz kapcsolódó tulajdonság, mint a "\_CoordinateAxisType") ...
- ERDDAP™automatikusan, on-the-fly, hozzáadni sok globális metaadata kapcsolódó LLAT értékek a kiválasztott adatalkotó (Például: "geospatial\_lon\_min") ...
- Azok az ügyfelek, akik támogatják ezeket a metaadat-szabványokat, képesek lesznek kihasználni a hozzáadott metaadatot az adatok időben és térben történő elhelyezésére.
- Az ügyfelek könnyebben létrehoznak olyan lekérdezéseket, amelyek magukban foglalják a LLAT változókat, mert a változó nevek minden releváns adatkészletben azonosak.
- A "hosszúság" változó és a "latitude" változó:
- Használja adestinationNameS "hosszúság" és "latitude" csak akkor, haegységfokozatok\_east és fokozatok\_north, vagyis. Ha az adatai nem felelnek meg ezeknek a követelményeknek, használjon különböző változó neveket (Például x, y, lonRadians, latRadians) ...
- Ha hosszúságú és szélességi adatok vannak különböző egységekben, és így különböződestinationNameS, például lonRadians és latRadians, Make A Graph ( datasetID .gráf) grafikonokat készít (például az idősorozat) a térképek helyett.
- A "magasság" változó és a "mélység" változó:
- Használja adestinationName"szélesség" az adatok tengerszint feletti távolságának azonosítása (pozitív="up" értékek) ... Opcionálisan használhatja a tengerszint alatti távolságokat, ha az értékek negatívak a tenger alatt (vagy ha például használja, [[szerkesztés]]<att name="scale\_factor"típus="int"> - 1</att>] (#scale_factor) a mélységértékek magassági értékekké alakítása.
- Használja adestinationName"mély" az adatok tengerszint alatti távolságának azonosítása (pozitív="down" értékek) ...
- Az adatkészletnek nem lehet "szélessége" és "mély" változója.
- Ezeknek a változó neveknek,egység"m", "mérő" vagy "mérő". Ha az egység különbözik (például a fatomok) Használhatja [[szerkesztés]]<att name="scale\_factor">>> Néhány Érték </att>] (#scale_factor) [[[szerkesztés]]]<att name="units"> méterek</att>] (#uniták) átalakítani az egységeket méterekre.
- Ha az adatai nem felelnek meg ezeknek a követelményeknek, használjon mástdestinationName (Például a fenti csoport, távolság ToBottom) ...
- Ha ismeri a vertikális CRS-t, kérjük, adja meg a metaadatban, pl. „EPSG:5829” (azonnali magasság a tengerszint felett) EPSG:5831 (azonnali mélység tengerszint alatt) vagy "EPSG:5703" (NAVD88 magasság) ...
- Mert"time"változó:
- Használja adestinationName "time"csak olyan változók esetében, amelyek az egész dátum+time-t tartalmazzák (vagy dátum, ha ez minden ott van) ... Ha például vannak külön oszlopok a dátum és az időOfDay, ne használja a változó nevet"time"...
- Lásdegységaz idő és az időStamp változók számára jellemző egységekről.
- Az idő változó és kapcsolódóIdő Stamp változókegyediek abban, hogy mindig az adatértékeket a forrás idő formátumából alakítják át (bármi legyen is az) numerikus értékbe (másodpercek 1970-01-01T00:00Z) vagy erős érték (ISO 8601:2004 (EZ) formátum) a helyzettől függően.
- Amikor egy felhasználó időadatokat kér, akkor kérheti azt az idő meghatározásával, mint számszerű érték (másodpercek 1970-01-01T00:00Z) vagy erős érték (ISO 8601:2004 (EZ) formátum) ...
- ERDDAP™haszonnal rendelkezikKonvertáljon Numeric Idő / sztring idő...
- LásdHogyanERDDAPÜzletek az idővel...
Miért csak két alapvető adatstruktúra?
- Mivel nehéz az emberi ügyfelek és a számítógépes ügyfelek számára, hogy összetett, lehetséges adatkészlet-struktúrákat kezeljenek,ERDDAP™csak két alapvető adatstruktúrát használ:
- egyfúrt adatstruktúra (például műholdas adatok és modelladatok esetében) és
- egytabuláris adatstruktúra (például az in-situ buoy, az állomás és a pályázati adatok) ...
- Természetesen nem minden adat lehet kifejezni ezekben a struktúrákban, de sok ez képes. A táblázatok különösen nagyon rugalmas adatstruktúrák (Nézze meg a kapcsolati adatbázis-programok sikerét) ...
- Ez megkönnyíti az adatkérések építését.
- Ez teszi az adatválaszok egyszerű struktúrával rendelkeznek, ami megkönnyíti az adatok szélesebb körű, szabványos fájltípusokban történő kiszolgálását (amely gyakran csak egyszerű adatstruktúrákat támogat) ... Ez a fő oka annak, hogy felállítottukERDDAP™így.
- Ez viszont nagyon könnyű számunkra (vagy bárki) olyan ügyfélszoftvert írni, amely mindennel működikERDDAP™adatkészletek.
- Ez megkönnyíti az adatok összehasonlítását különböző forrásokból.
- Nagyon tisztában vagyunk azzal, hogy ha más adatstruktúrákban dolgozol adatokkal, akkor kezdetben úgy gondolod, hogy ez a megközelítés egyszerű vagy elégtelen. De az összes adatstruktúrának vannak szakadékai. Senki sem tökéletes. Még a do-it-all struktúrák is vannak hátrányai: a velük való együttműködés bonyolult, és a fájlokat csak speciális szoftverkönyvtárak írható vagy olvasható. Ha elfogadodERDDAP"Elég megközelítés ahhoz, hogy megpróbáljon vele dolgozni, úgy találhatja, hogy előnyei vannak (nevezetesen több fájltípus támogatása, amelyek megtarthatják az adatválaszokat) ... AERDDAP™Slide show (különösen aadatstruktúrák csúsznak) Sokat beszél ezekről a kérdésekről.
- És még akkor is, ha ez a megközelítés furcsán hangzik hozzád, a legtöbbERDDAP™Az ügyfelek soha nem fognak észrevenni - egyszerűen látni fogják, hogy az összes adatkészletnek szép egyszerű szerkezete van, és hálásak lesznek, hogy számos fájlformátumban visszatért forrásból származó adatokat kaphatnak.
Méretek
- Mi van, ha a rács változók a forrás adatkészletben nem osztoznak ugyanazon tengelyváltozatokkal?
InkábbEDDGridadatkészletek, minden adatváltozat MUST használat (Részvény) az összes tengely változó. Tehát, ha egy forrásadatnak van néhány változója az egyik dimenzióval, és más változók eltérő dimenzióval, akkor két adatkészletet kell készítenie.ERDDAP... Például, lehet, hogy egyERDDAP™„Egyes cím (felületen) - olyan változókat tartsanak, amelyek csak\[Idő\]\[magasság\]\[hosszúság\]dimenziók és egy másikERDDAP™„Egyes cím (mélységben) "megtartani azokat a változókat, amelyek\[Idő\]\[magasság\]\[magasság\]\[hosszúság\]... Vagy talán megváltoztathatja az adatforrást, hogy hozzáadjon egy dimenziót egyetlen értékkel (például altitude=0) hogy a változók következetesek legyenek.
ERDDAP™nem kezel bonyolultabb adatkészleteket (Például olyan modellek, amelyek háromszögek hálóját használják) jól. Ezeket az adatkészleteket szolgálhatjaERDDAP™két vagy több adatkészlet létrehozásávalERDDAP™ (annak érdekében, hogy minden adat változó legyen minden egyes új adatkészletben, ugyanazt a tengelyváltozatot ossza meg) De ez nem az, amit a felhasználók akarnak. Néhány adatkészlet esetében előfordulhat, hogy az adatkészlet rendszeres rúdolt verzióját készíti el, és felajánlja azt az eredeti adatok mellett. Néhány ügyfél szoftver csak egy rendszeres hálózattal foglalkozhat, így ezzel további ügyfeleket érhet el.
Projected Gridded adatok
Néhány rácsos adat komplex szerkezettel rendelkezik. Például műholdas szint 2 (dalszöveg: "along track") Az adatok nem használnak egyszerű előrejelzést. Modellek (mások) gyakran dolgoznak a különböző nem-cilindrikus előrejelzésekkel kapcsolatos hálózati adatokat (például conic, polar sztereográfia, tripolar) vagy strukturálatlan rácsokban (összetettebb adatstruktúra) ... Néhány végfelhasználó ezt az adatokat akarja, így nincs információvesztés. Ezeknek az ügyfeleknek,ERDDAP™szolgálhatja az adatokat, csak akkor, haERDDAP™Az adminisztrátor néhány adatkészletbe bontja az eredeti adatkészletet, és minden egyes részben olyan változókat tartalmaz, amelyek ugyanazokat a tengelyváltozatokat osztják meg. Igen, ez furcsának tűnik az érintett emberek számára, és különbözik a legtöbbtőlOPeNDAPszerverek. DeERDDAP™hangsúlyozza, hogy sok formátumban elérhetővé teszi az adatokat. Ez azért lehetséges, mertERDDAP™egységesebb adatstruktúrát igényel. Bár ez egy kicsit kínos (más, mint a vártnál) ,ERDDAP™eloszthatja a tervezett adatokat.
\[Igen,ERDDAP™lehetne lazább követelményeket az adatstruktúrára, de tartsa a kimeneti formátumokra vonatkozó követelményeket. De ez zavart okozna sok felhasználó, különösen az újszülött között, mivel sok látszólag érvényes adatkérés érvénytelen lenne, mert az adatok nem illeszkednének a fájltípusba. Visszatérünk a jelenlegi rendszer tervezéséhez.\]
Egyes végfelhasználók olyan lat lon-cilindrikus előrejelzést akarnak, mint az Equirectangular / lemezkarrée vagy Mercator) a könnyű használatra különböző helyzetekben. Ezekre a helyzetekre bátorítjuk aERDDAP™adminisztrátor más szoftverek használatához (NCO?Matlab? R? IDV? ...?) az adatoknak egy földrajzra való újrafeldolgozása (Equirectangular előrejelzés / lemezkarrée) vagy más cilindrikus előrejelzés, és szolgálja az adatok ilyen formájátERDDAP™mint más adatkészlet. Ez hasonló ahhoz, amit az emberek csinálnak, amikor műholdas szinten 2 adatot alakítanak át a 3. szintű adatokba. Egy ilyen eszközNCOamely kiterjesztési lehetőségeket kínál a sajnálatos adatokhoz.
GIS és reprojektív adatok
Mivel a GIS világ gyakran térképorientált, a GIS programok általában támogatást nyújtanak az adatok reprojektjéhez, azaz az adatokat egy másik előrejelzésű térképre helyezve.
Jelenleg,ERDDAP™nincs eszköze az adatok reprojekciójára. Ehelyett azt javasoljuk, hogy használjon egy külső eszközt, hogy az adatkészlet változatos legyen, ahol az adatokat eredeti formájából reprojektálták egy téglalapra. (magassági hosszúság) alkalmasERDDAP...
Véleményünk szerint a CF/DAPA világ egy kicsit más, mint a GIS világ, és kissé alacsonyabb szinten működik.ERDDAP™ezt tükrözi. Általában,ERDDAP™célja, hogy elsősorban az adatokkal dolgozzon (nem térképek) és nem akar változtatni (pl. reprojekt) az adatok. MertERDDAP™A rácsos adatok gyakran/általában/előnyösen kapcsolódnak a lat lon értékek és a cilindrikus előrejelzés, és nem néhány előrejelzés x,y értékek. Mindenesetre,ERDDAP™nem tesz semmit az adatprojektjével; csak áthalad az adatokon keresztül, mint ahogy a jelenlegi előrejelzése, azon az elméleten, hogy a reprojekció jelentős változás az adatokhoz ésERDDAP™nem akar jelentős változásokat bevonni. Továbbá a későbbi felhasználók naiv módon újraprojektezhetik az adatokat, ami nem lenne olyan jó, mint egy reprojekció. (Tehát, haERDDAP™Az adminisztrátor más előrejelzésben, bírságban kívánja felajánlani az adatokat; csak reprojektálja az offline adatokat, és felajánlja azt, hogy egy másik adatkészletkéntERDDAP... Sok műholdas adatkészletet kínálnak, mint amit a NASA 2. szintnek nevez (fürdő) és mint 3. szint (Equirectangular előrejelzés) verziók.) MikorERDDAP™térképek készítése (közvetlenül vagy keresztülWMSvagy KML) ,ERDDAP™Jelenleg csak térképeket készít az Equirectangular / tányérkarrier-projekcióval, amelyet szerencsére a legtöbb feltérképező program elfogad.
BátorítunkERDDAP™adminisztrátorok más szoftverek használatára (NCO?Matlab? R? IDV? ...?) az adatoknak egy földrajzra való újrafeldolgozása (Equirectangular előrejelzés / lemezkarrée) vagy más cilindrikus előrejelzés, és szolgálja az adatok ilyen formájátERDDAP™mint más adatkészlet. Ez hasonló ahhoz, amit az emberek csinálnak, amikor műholdas szinten 2 adatot alakítanak át a 3. szintű adatokba. Egy ilyen eszközNCOamely kiterjesztési lehetőségeket kínál a sajnálatos adatokhoz.
Reméljük, hogyERDDAP™beépített eszközöket kínálnak térképeket más előrejelzésekkel a jövőben. Reméljük, hogy a jövőben jobb kapcsolatokat ápolunk a GIS világával. (más, mint a jelenlegiWMSszolgáltatás) ... Szörnyű, hogy ebben a „modern” világban a CF//DAPA világ és a GIS világ még mindig olyan gyenge. Mindkét dolog a To Do listán van. (Ha segíteni akar, nevezetesen a csatlakozássalERDDAP™MapServer, kérlek e-mailt Chris. John at noaa.gov.)
Adattípusok
ERDDAP™támogatja a következő adattípusokat (a nevek érzékenyek;'u'prefix áll a "nem kijelölt"; a szám sok a nevek más rendszerekben a bitek száma) :
byte
- byte integrált értékeket írt alá -128 és 127 között. Más rendszerekben ezt néha int8-nak nevezik. Ezt az úgynevezett "tinyint" az SQL és a Cassandra. ERDDAP™átalakításokbooleannéhány forrásból (pl. SQL és Cassandra) b) a bytes inERDDAP™0=hamis, 1=igaz és 127=missing\_value...
Ubyte
- Ubyte 0–255 közötti számottevő értékkel rendelkezik. Más rendszerekben ezt néha uint8-nak nevezik.
rövid
- rövid integrált értékeket írt alá -32768 és 32767 között. Más rendszerekben ezt néha int16-nak nevezik. Ezt az SQL és Cassandra "smallint"-nak hívják.
Uraim
- Uraim 0-65535 közötti számtalan integrált értékkel rendelkezik. Más rendszerekben ezt néha uint16-nak nevezik.
Inkább
- Inkább integrált értékeket írt alá -2147483648 és 2147483647. Más rendszerekben ezt néha int32-nek nevezik. Ezt nevezik "integernek"|numerikus (?) "SQL és "int" Cassandra.
Uint
- Uint 0–4294967295 közötti számtalan integrált értékkel rendelkezik. Más rendszerekben ezt néha uint32-nek nevezik.
hosszú
- hosszú -9223372036854575808 és 9223372036854775807 közötti integrációs értékeket írt alá. Más rendszerekben ezt néha int64-nek nevezik. Ezt nevezik "bigint|numerikus (?) "Az SQL és a "bigint" által Cassandra. Mivel sok fájltípus nem támogatja a hosszú adatokat, használatuk elriasztott. Ha lehetséges, használja dupla helyett (lásd alább) ...
Utána
- Utána az integrációs értékek száma 0-tól 18446744073709551615 Más rendszerekben ezt néha uint64-nek nevezik. Mivel sok fájltípus nem támogatja az ulong adatokat, használatuk elriasztott. Ha lehetséges, használja dupla helyett (lásd alább) ...
Float
- Float egy IEEE 754 float körülbelül +/- 3.402823466e+38. Más rendszerekben ezt néha float32-nek nevezik. Ezt nevezik "valódi|Float (?) |decimális (?) |numerikus (?) "Az SQL és a "float" által Cassandra. A NaN különleges értéke Not-a-Number. ERDDAP™pozitív és negatív végtelen értékeket alakít ki a NaN számára.
dupla dupla
- dupla dupla egy IEEE 754 dupla, körülbelül +/- 1.7976931348623157E+308. Más rendszerekben ezt néha float64-nek nevezik. Ezt nevezik „kettős pontosságnak|Float (?) |decimális (?) |numerikus (?) "Az SQL és a "dupla" által Cassandra. A NaN különleges értéke Not-a-Number. ERDDAP™pozitív és negatív végtelen értékeket alakít ki a NaN számára.
char
- char egyetlen, 2 fehér (16 bit) Unicode UCS-2 karakterFurcsa\u0000 (#0) keresztül\uffff (#65535) ... \uffff"A definíció Not-a-Character, amely a NaN kettős értéket elemzi. A char használata elriasztott, mert sok fájltípus sem támogatja a charsot, vagy csak 1 fehér charsot támogat (lásd alább) ... Fontolja inkább a String használatát. A felhasználók a char változókat használhatják a grafikonok elkészítéséhez.ERDDAP™átalakítja a karaktereket az Unicode kódszámára, amelyet numerikus adatokként lehet használni.
Hírek
- Hírek 0 vagy több, 2 fehér sorozat (16 bit) Unicode UCS-2 karakterek... ERDDAP™Használja/értelmezi a 0 hosszúságot, mint egy hiányzó érték.ERDDAP™nem támogatja az igazi null sztringet. Az elméleti maximális sztring hossza 21473647 karakter, de valószínűleg különböző problémák vannak különböző helyeken, még valamivel rövidebb Strings. HasználatERDDAP"Az SQL karakterének, varchar, karakterváltó, bináris, varbináris, intervallum, tömör, multiset, xml és minden más adatbázis-adattípus, amely nem illik tisztán másokkalERDDAP™adattípus. HasználatERDDAPCassandra "szövege" és bármely más Cassandra adattípus, amely nem illik tisztán mássalERDDAP™adattípus.
KorábbanERDDAP™v2.10,ERDDAP™nem támogatta a nem jelentett integrált típusokat belsőleg, és korlátozott támogatást nyújtott az adatolvasók és írók számára.
Adattípus korlátozások
GondolhatszERDDAP™olyan rendszerként, amely virtuális adatkészletekkel rendelkezik, és amely az adatkészlet forrásának belső adatmodelljévé történő olvasásával működik, és adatokat ír különböző szolgáltatásokra (pl.(OPeN)DAP,WMS) és fájltípusok a felhasználói kérelmekre válaszul.
- Minden bemeneti olvasó támogatja az adattípusok aljzatát, amelyekERDDAP™támogatás. Az adatok olvasása az adatokbaERDDAPA belső adatstruktúrák nem jelentenek problémát.
- Minden kimeneti író támogatja az adattípusok alkészletét is. Ez egy probléma, mertERDDAPpéldául a hosszú adatok olyan fájltípusokba kerülnek, amelyek nem támogatják a hosszú adatokat.
Az alábbiakban a korlátozások magyarázatai (vagy nem) különböző kimeneti írók és hogyanERDDAP™foglalkozik a problémákkal. Az ilyen komplikációk egy örök részeERDDAPCélja, hogy interoperábilisá váljon az elválasztott rendszerek.
ASCII
- ASCII (.csv,.tsvstb.) szövegfájlok -
-
Minden numerikus adatot a String reprezentációján keresztül írják (hiányzó adatértékek jelennek meg 0 hosszúságú sztringek) ...
-
BárERDDAP™hosszú és hosszú értékeket ír az ASCII szövegfájljainak megfelelően, sok olvasó (pl. táblázatprogramok) nem tudja helyesen kezelni a hosszú és ulong értékeket, és ehelyett kettős értékekké alakítja őket (a pontosság elvesztése bizonyos esetekben) ...
-
Char és String adatok írt keresztül JSON Strings, amely kezeli az összes Unicode karakterek (nevezetesen az ASCII #127-en túli „szokatlan” karakterek, pl. az euró karakter „u20ac”-ként jelenik meg) ...
-
JSON
- JSON (.json,.jsonlCSVstb.) szövegfájlok -
- Minden numerikus adat a String reprezentációján keresztül van megírva.
- Char és String adatok vannak írva JSON Strings, amely kezeli az összes Unicode karakterek (nevezetesen az ASCII #127-en túli „szokatlan” karakterek, pl. az euró karakter „u20ac”-ként jelenik meg) ...
- Az összes numerikus adattípus hiányzó értéke nullnak tűnik.
.nc3 fájl
- .nc3 fájl nem natív módon támogatja a nem tervezett integrált adattípusokat. A CF v1.9 előtt a CF nem támogatta a nem aláírt integrált típusokat. ezzel foglalkozni,ERDDAP™2.10+ követi a NUG-szabványt, és mindig hozzáad egy "\_Unsigned" tulajdonságot az "igaz" vagy "hamis" értékével, hogy jelezze, hogy az adatok egy meg nem írt vagy aláírt változóból származnak. Minden integrált tulajdonságot aláírt tulajdonságként írnak (pl. byte) aláírt értékekkel (pl. ubyte)actual\_rangea 0–255 értéknek tulajdonítható, 0–1 értékkel bíró gyűlöletként jelenik meg (a két teljes értékének inverzuma). Nincs egyszerű módja annak, hogy megtudjuk, melyik (jelzett) integer tulajdonságokat kell leolvasni jelölt tulajdonságként.ERDDAP™támogatja a "\_Unsigned" tulajdonságot, amikor olvas.nc3 fájl.
- .nc3 fájl nem támogatja a hosszú vagy ulong adattípusokat.ERDDAP™ezzel foglalkozik, átmenetileg átalakítva őket, hogy kettős változó legyen. A duplák pontosan képviselhetik az összes értéket +/- 9,007,199,254,740,992 ami 2^53. Ez egy tökéletlen megoldás.Unidataelutasítja, hogy egy kisebb frissítést készítsen.nc3 kezelni ezt és kapcsolódó problémákat, idézni.nc4 4 4 (jelentős változás) mint megoldás.
- A CF specifikáció (v1.9 előtt) Azt mondta, hogy támogatja a char adattípust, de nem világos, hogy a char csak a char sasok építőelemei, amelyek hatékonyan Strings. Kérdések a levelezési listájához csak zavaró válaszokat hoztak létre. Ezeknek a komplikációknak köszönhetően a legjobb, ha elkerüljük a char változókatERDDAP™Használja a String változókat, ha csak lehetséges.
- Hagyományosan,.nc3 fájl csak az ASCII által kódolt karakterláncokat támogatta (7 bites, #0 - #127) karakterek. NUG (ésERDDAP) kiterjeszteni azt (Kezdőlap ~2017) beleértve a „\_Encoding” tulajdonságot az „ISO-8859-1” értékével (az ASCII kiterjesztése, amely minden 8 bites karakter 256 értéket meghatároz) vagy "UTF-8", hogy jelezze, hogy a String adatok kódolva. Más kódolások lehet jogi, de elriasztják.
.nc4 fájl
- .nc4 fájl támogatja az összesERDDAPAdattípusok.
NCCSV fájlok
Az NCCSV 1.0 fájlok nem támogatnak semmilyen nem aláírt integrált adattípust. NCCSV 1.1+ fájloktámogassa az összes kijelölt integrált adattípust.
DAP
- (OPeN)DAP (.das, .dds, .asc ASCII fájlok és .dods bináris fájlok) -
- (OPeN)DAPrövid, ushort, int, uint, float és dupla értékek helyes kezelése.
- (OPeN)DAP"bájt" adattípussal rendelkezik, amelyet lemondatlannak tekintenek, míg történelmileg a THREDDS ésERDDAP™bánatot kezeltek, ahogy aláírták őket(OPeN)DAPSzolgáltatások. Hogy jobban kezeljük ezt,ERDDAP™2.10+ követi az NUG szabványt, és mindig hozzáad egy "\_Unsigned" tulajdonságot az "igaz" vagy "hamis" értékével, hogy jelezze, hogy az adatok azERDDAP™byte vagy ubyte. Minden byte- és ubyte-jellemzőt úgy írják, mint „byte” tulajdonságokat, amelyek aláírt értékekkel rendelkeznek (pl. ubyte-ként).actual\_rangea 0–255 értéknek tulajdonítható, 0–1 értékkel bíró gyűlöletként jelenik meg (a két teljes értékének inverzuma). Nincs egyszerű módja annak, hogy megtudjuk, melyik "bájt" tulajdonságokat kell utódi tulajdonságként elolvasni.
- (OPeN)DAPnem támogatja az aláírt vagy nem aláírt hosszúságokat.ERDDAP™ezzel foglalkozik, átmenetileg átalakítva őket, hogy kettős változók és tulajdonságok. A duplák pontosan képviselhetik az összes értéket 9,007,199,254,740,992 ami 2^53. Ez egy tökéletlen megoldás.OPeNDAP (a szervezet) elutasítja, hogy egy kisebb frissítést készítsenDAP2.0 ezzel és a kapcsolódó problémákkal foglalkozni, idézveDAP4 4 4 (jelentős változás) mint megoldás.
- Mert(OPeN)DAPnincs külön char adattípus és technikailag csak 1 fehér ASCII karaktert támogat (#0 - #127) a Strings-ban a char data variables 1 karakter-hosszú Strings-ként jelenik meg(OPeN)DAP.das, .dds és .dods válaszok.
- Technikailag, a(OPeN)DAPspecifikáció csak az ASCII kódolt karakterekkel támogatja (#0 - #127) ... NUG (ésERDDAP) kiterjeszteni azt (Kezdőlap ~2017) beleértve a „\_Encoding” tulajdonságot az „ISO-8859-1” értékével (az ASCII kiterjesztése, amely minden 8 bites karakter 256 értéket meghatároz) vagy "UTF-8", hogy jelezze, hogy a String adatok kódolva. Más kódolások lehet jogi, de elriasztják.
Adattípus megjegyzések
- Mivel a rossz támogatás hosszú, ulong, és char adatok sok fájltípusban, elriasztjuk az ilyen adattípusok használatátERDDAP... Ha lehetséges, használja kettős helyett hosszú és ulong, és használja String helyett char.
- Metadata - Mert(OPeN)DAP.das és .dds válaszok nem támogatják a hosszú vagy ulong tulajdonságokat vagy adattípusokat (helyettük kettősnek mutatják őket) Ehelyett inkább használni akarodERDDAP"A metafora reprezentációja a metaadata, mint látható ahttp.../erddap/ Info / datasetID .html weboldal (például, https://coastwatch.pfeg.noaa.gov/erddap/info/cwwcNDBCMet/index.html ) (amely más fájltípusokban is kaphat, például .csv,.htmlTable,.itx,.json,.jsonlCSV1,.jsonlCSV,.jsonlKVP,.mat,.nc,.nccsv,.tsv,.xhtml) vagy.nccsvMetadata válasz (például, https://coastwatch.pfeg.noaa.gov/erddap/tabledap/cwwcNDBCMet.nccsvMetadata bár.nccsvA Metadata csak tabuláris adatkészletekhez érhető el) mindkettő támogatja az összes adattípust (különösen, hosszú, ulong és char) ...
Media Files
Nem minden adat számos szám vagy szöveg. Néhány adatkészlet tartalmaz vagy tartalmazza a médiafájlokat, például a képet, az audio- és videofájlokat.ERDDAP™Van néhány speciális jellemzője, hogy megkönnyítse a felhasználók számára, hogy hozzáférjenek a médiafájlokhoz. Ez egy két lépéses folyamat:
- Készítsen minden fájlt a saját URL-jén keresztül, egy olyan rendszeren keresztül, amely támogatja a byte range kéréseket. A legegyszerűbb módja ennek az, hogy a fájlokat egy könyvtárba helyezzük, hogyERDDAP™hozzáféréssel rendelkezik. (Ha egy konténerben vannak, mint egy.zipfájl, zip őket, bár lehet, hogy felajánlja a.zipfájlt a felhasználóknak is.) Ezután készíts egyEDDTableFromFileNamesadatkészlet, hogy ezeket a fájlokat hozzáférhetővé tegyékERDDAP™- nevezetesen keresztülERDDAPA"files"rendszerrendszer...
Minden fájl elérhetővé tette az EDDTableFromFileNames ésERDDAPA"files"rendszertámogatásbyte range kérések... Normális esetben, ha egy ügyfél (pl. böngésző) kérést kér egy URL-hez, az egész fájlt választ kapja. De egy byte range kéréssel a kérelem egy sor byte-t határoz meg a fájlból, és a szerver csak visszaküldi azokat a byte-eket. Ez azért releváns itt, mert a böngészők hang- és videojátékosai csak akkor működnek, ha a fájl elérhető a byte hatótávú kéréseken keresztül.
Opcionális: Ha több mint egy adatkészlete van a kapcsolódó médiafájlokkal, akkor csak egy EDDTableFromFileNames-t készíthet, amely minden egyes fájltípushoz almappát tartalmaz. Az előny az, hogy amikor új médiafájlokat szeretne hozzáadni egy új adatkészlethez, minden, amit meg kell tennie, egy új mappa létrehozása, és a fájlokat a mappába helyezi. A mappát és fájlokat automatikusan hozzáadjuk az EDDTableFromFileNames adatkészlethez.
- Opcionális: Ha van egy adatkészlet, amely magában foglalja a médiafájlokra való hivatkozásokat, add hozzáERDDAP... Például, lehet, hogy egy .csv fájl egy sor minden alkalommal, amikor valaki látott egy bálna és egy oszlop, amely magában foglalja a neve egy kép fájl kapcsolódik a látnivaló. Ha a képfájl neve csak a fájlnév, pl. Img20141024T192403Z, nem teljes URL, akkor hozzá kell adniaAccessBase Url és / vagy fájlAccessSuffixennek a metaadatnak a tulajdonságaidataVariableamely meghatározza az alapURL-t és elegendőt ezekhez a fájlnévekhez. Ha az EDDTableFromFileNames-on keresztül elérhető fájlokat készítette, az URL formában lesz alapUrl /erddap/files/ datasetID / Például,
<att name="fileAccessBaseUrl">*someBaseURL*</a>
<att name="fileAccessSuffix">.png</a>
Ha van egy.zipvagy más konténerfájl az összes adatváltozathoz kapcsolódó médiafájlmal, javasoljuk, hogy a fájl is hozzáférhető legyen a felhasználók számára (Lásd a fenti 1. lépést) Ezután azonosítsa azt egyAccessArchive Urltulajdonság.
\[KezdőlapERDDAP™v1.82\]Ha az első lépést tesszük fölött (vagy mindkét lépés) akkor, ha egy felhasználó megnézi aERDDAP™ "files"rendszer az adatkészlethez (vagy kéri, hogy az adathalmaz egy albeállítását egy.htmlTablekérés, ha megtette a második lépést) ,ERDDAP™"?" ikont mutat a fájlnév baljára. Ha a felhasználó átkapcsolja ezt az ikont, akkor egy popupot látnak, amely megmutatja a képet, vagy egy audiolejátszót, vagy egy videolejátszót. A böngészők csak korlátozott számú típusú támogatást nyújtanak
- kép (általában .gif, .jpg és .png) ,
- audio (általában .mp3, .ogg és .wav) és
- videofájlok (általában .mp4, .ogv és . webm) ...
Támogatás változatos különböző verziók különböző böngészők különböző operációs rendszerek. Tehát, ha van egy választás, hogy melyik fájltípus kínál, akkor van értelme, hogy ezeket a típusokat.
Vagy ha egy felhasználó kattint a fájlnévre, amelyet egyERDDAP™weboldal, böngészőjük a képet, az audio- vagy videofájlt külön weboldalként fogja megjeleníteni. Ez leginkább hasznos, hogy egy nagyon nagy kép vagy videó skálázott a teljes képernyő, ahelyett, hogy egy popup.
Az AWS S3 fájlokkal való együttműködés
Amazon Web szolgáltatás (AWS) egy eladójafelhő számításSzolgáltatások.S3az AWS által kínált objektumtároló rendszer. A hagyományos fájlrendszer hierarchikus rendszere és fájljai helyett (mint egy kemény meghajtó a PC-ben) Az S3 csak "bucketeket" kínál, amelyek "objekteket" tartanak (hívjuk őket"files") ...
Az ASCII fájlokhoz (pl.: .csv) ,ERDDAP™közvetlenül a vödörökben lévő fájlokkal dolgozhat. Az egyetlen dolog, amit meg kell tennie, az megadja a<fájlDir> az adatkészlethez egy adott formátumot használva az AWS bucket számára, például https://bucketName.s3.aws-region.amazonaws.com/subdirectory/ ... Nem szabad használni<cacheFromUrl> Lásd alább részleteket.
De a bináris fájlokhoz (pl.:.nc, .grib, .bufr és.hdffájlok) Használnia kell<cacheFromUrl> rendszer az alábbiakban leírt.ERDDAPNetcdf-java (melyikERDDAP™használja az adatok olvasását ezekből a fájlokból) , és más tudományos adatszoftvereket úgy terveztek, hogy egy hagyományos fájlrendszerben dolgozzanak, amely kínálblokk szinthozzáférés fájlokhoz (amely lehetővé teszi, hogy elolvassa a zsákokat egy fájlból) , de az S3 csak ajánlatokfájlszint (objektum) hozzáférés fájlokhoz (amely csak lehetővé teszi az egész fájl olvasását) ... Az AWS alternatívát kínál az S3-nak,Elastic Block áruház (EBS) ), amely támogatja a blokk szintű hozzáférést a fájlokhoz, de drágább, mint az S3, ezért ritkán használják nagy mennyiségű adatfájl tárolására. (Tehát amikor az emberek azt mondják, hogy tárolja az adatokat a felhőben (S3) olcsó, általában almák narancsok összehasonlításához.)
S3 vödör
Egy vödör tartalma. kulcsok. Objects. Delimiters.
Technikailag az S3 bucketek nem szerveződnek egy hierarchikus fájlszerkezetben, mint egy fájlrendszer egy számítógépen. Ehelyett a vödrök csak "objekteket" tartalmaznak (fájlok) Mindegyiknek van egy "key" (név) ... Egy példa arra a kulcsra, hogy a noa-goes17 bucket
ABI-L1b-RadC/2019/235/22/OR\\_ABI-L1b-RadC-M6C01\\_G17\\_s20192352201196\\_e20192352203569\\_c20192352204013.nc
A megfelelő URl ehhez a tárgyhoz
Az AWS egy kis variációt támogat abban, hogy hogyan épül fel az URL, deERDDAP™megköveteli ezt az egy adott formátumot:
https://bucketName.s3.region.amazonaws.com/key
Ez a szokásos gyakorlat, mint ez a példa, hogy a kulcsfontosságú nevek úgy néznek ki, mint egy hierarchikus út, plusz egy fájlnév, de technikailag nem. Mivel ez gyakori és hasznos,ERDDAP™kezeli a kulcsokat / úgy, mintha egy hierarchikus út plusz fájl neve, és ez a dokumentáció hivatkozik rájuk. Ha egy vödör kulcsa nem használja / (pl. egy kulcs, mint egy kulcs,
ABI-Lib.2018.052.22.OR\_ABI-L1b-RadM2-M3C10\_G16\_s201805222475), majdERDDAP™Csak az egész kulcsot kezeli hosszú fájlnévként.
Private vs Public Buckets - Az S3 bucket adminisztrátora nyilvánosságra hozhatja a vödört és tartalmát. Ha nyilvános, a vödör bármely fájlját bárki letöltheti az URL-t a fájlhoz. Az Amazonnak van egyNyitott adatokprogram, amely nyilvános adatkészleteket tárol (beleértve az adatokatNOAA, NASA és USGS) ingyen, és nem számít fel senkinek, hogy letöltse a fájlokat ezekből a vödörökből. Ha egy vödör privát, a vödörben lévő fájlok csak az engedélyezett felhasználók és az AWS díjakhoz jutnak (általában a vödör tulajdonosa által fizetett) fájlok letöltése egy nem AWS S3 számítógépre.ERDDAP™adatokat dolgozhat nyilvános és privát vödörekben.
AWS Credentials
Hogy megtegye, hogyERDDAP™elolvashatja a privát vödör tartalmát, szüksége van AWS hitelesítő anyagokra, és tárolnia kell egy hitelesítő fájlt a szabványos helyen, ígyERDDAP™megtalálhatja az információt. Lásd az AWS SDK-tJava2.x dokumentáció:Az alapértelmezett hitelesítő anyagok beállítása... (Az értékek tárolásának lehetősége, mintJavaparancssori paraméterek a\[Tomcat\]/bin/setenv.sh lehet egy jó lehetőség.)
AWS /files/
- /files/ rendszer - AERDDAP™ /files/ rendszerlehetővé teszi a felhasználók számára, hogy letöltsék a forrásfájlokat egy adatkészlethez. Javasoljuk, hogy fordítsa ezt az összes adatlapot a forrásfájlokkal, mert sok felhasználó le akarja tölteni az eredeti forrásfájlokat.
- Ha a fájlok egy privát S3 vödörben vannak, a felhasználó kérése, hogy töltse le a fájlt, akkor kezeliERDDAP™, amely elolvassa az adatokat a fájlból, majd továbbítja a felhasználónak, így növeli a terhelést az Ön számáraERDDAP™bejövő és kimenő sávszélességet használva, és (aERDDAP™adminisztrátor) fizesse ki az adatok egress díját az AWS-nek.
- Ha a fájlok nyilvános S3 bucketben vannak, a felhasználó kérése, hogy töltse le a fájlt, átirányítva lesz az AWS S3 URL-re a fájlhoz, így az adatok nem fognak keresztülmenni.ERDDAP™Így csökkenti a terheléstERDDAP... És ha a fájlok egy Amazon Open Data (szabad) nyilvános vödör, akkor te (aERDDAP™adminisztrátor) Nem kell fizetnie semmilyen adat-egészségügyi díjat az AWS-nek. Így nagy előnye van az adatok nyilvános kiszolgálása (nem privát) S3 vödör, és hatalmas előnye az adatok kiszolgálásának az Amazon Open Data (szabad) vödör.
ERDDAP™AWS S3 vödör
ERDDAP™AWS S3 vödör
Szerencsére, sok erőfeszítés után,ERDDAP™számos olyan funkcióval rendelkezik, amelyek lehetővé teszik, hogy az S3 blokkszintű hozzáféréssel ésszerűen hatékonyan kezelje a fájlokhoz való hozzáférést:
- \[Hirdető: Az AWS S3 bucketekkel való munka sok extra munka. Az AWS egy hatalmas ökoszisztéma a szolgáltatásoknak és funkcióknak. Rengeteg tanulni. Időre és erőfeszítésre van szükség, de ez megvalósítható. Légy türelmes, és kapsz dolgokat dolgozni. Nézd / kérj segítséget
()AWS dokumentációolyan weboldalak, mintStack Overflowés a rendszeres
ERDDAP™támogatási lehetőségekHa/ha megragadsz.\]
- Nehéz megtudni a fájlok könyvtári struktúráját és fájlnevét egy S3 bucketben.ERDDAP™megoldás erre a problémára: az EDDTableFromFileNames speciális\\\*fromOnTheFlyopció, amely lehetővé teszi, hogy egy EDDTableFromFileNames adatkészletet készítsen, amely lehetővé teszi a felhasználók számára, hogy böngészjenek egy S3 bucket tartalmát (fájlok letöltése) az adatkészleten keresztül"files"opció. Van egyaz alábbiakban...
- ERDDAP™olvashat adatokatkülső tömörített adatfájlok, így rendben van, ha az S3 fájlokat tárolják.gz,.gzip,.bz2, .Z, vagy más típusú külsőleg tömörített adatfájlok, amelyek drámai módon (2 - 20X) csökkentse a fájltárolási költségeket. Gyakran nincs idő büntetés külsőleg tömörített fájlok használatára, mivel az S3 és az S3 közötti kisebb fájl átvitelével mentett időERDDAPdurván egyensúlyozza a szükséges extra időtERDDAP™dekompresszálni a fájlt. Használja ezt a funkciót, csak meg kell győződnie arról, hogy az adatkészlet<fájlNameRegex> lehetővé teszi a kompressált fájltípust (pl. hozzáadásával (|.gz) a regex végére) ...
- A leggyakoribb esetben, ahol van egyERDDAP™telepítve a PC-re a teszt / fejlesztéshez, és ahol az adatkészletnek bináris adatfájlja van, amelyeket objektumként tárolnak egy S3 bucketben, egy megközelítés az adatkészlet beszerzéséhezERDDAP™az:
-
Hozzon létre egy könyvtárat a PC-n, hogy tartson néhány teszt adatfájlot.
-
Töltse le a forrásból származó két adatfájlokat az Ön által létrehozott könyvtárba.
-
HasználatGenerateDatasetsXmllétrehozni a zsákotdatasets.xmla két helyi adatfájlon alapuló adatkészlet esetében.
-
Ellenőrizze, hogy ez az adatkészlet a kívánt módon működikDasDdsés/vagy a helyiERDDAP...
A következő lépések az adatkészlet másolatát teszik ki (amely adatokat kap az S3-ból) nyilvánosanERDDAP...
-
Másolja a zsákotdatasets.xmlaz adatkészlet számáradatasets.xmla nyilvánosság számáraERDDAP™ez szolgálja az adatokat.
-
Hozzon létre egy könyvtárat a nyilvánosság számáraERDDAPHelyi merevlemez az ideiglenes fájlok gyorsítótárának megtartásához. A könyvtár nem fog sok lemezterületet használni (lásd a cacheSizeGB alul) ...
-
Változtassa meg az adatkészlet értékét<fájlDir> címke, hogy pont a könyvtár, amit csak létrehozott (még akkor is, ha a könyvtár üres) ...
-
Adj hozzá egyCacheFromUrlcímke, amely meghatározza az adatkészlet vödör nevét és opcionális előtagját (i.e., könyvtár) az adottAws S3 URL formátumERDDAP™követelmények...
-
Adj hozzá egyet<cacheSizeGB>] (#cachefromurl) címke az adatkészlet xml (pl. a 10 jó érték a legtöbb adatkészlet számára) Mondd elERDDAP™korlátozni a helyi cache méretét (i.e., ne próbálja meg az összes távoli fájlt) ...
-
Lásd, hogy ez működik-e a nyilvánosságbanERDDAP... Vegye figyelembe, hogy az első alkalommalERDDAP™terheli az adatkészletet, hosszú időt vesz igénybe a terheléshez, mertERDDAP™le kell tölteni és el kell olvasni az összes adatfájlt.
-
Ha az adatkészlet hatalmas gyűjteménye a hatalmas hálózati adatfájloknak, ez nagyon hosszú időt vesz igénybe, és gyakorlati jellegű lesz. Bizonyos esetekben a rácsos adatfájlok esetében,ERDDAP™kivonhatja a szükséges információkat (pl. az adatok időpontja egy rácsos adatfájlban) a fájl neve és elkerülje ezt a problémát. LásdAggregáció keresztül File nevek...
- Opcionálisan (de különösen az EDDTableFromFiles adatkészletek esetében) Hozzáadhatsz egynHáromtagolja meg az adatkészletet, hogy elmondjaERDDAPtöbb mint 1 szál használata a felhasználó adatkérésére. Ez minimalizálja a késés hatásait, amelyek akkor fordulnak elő, amikorERDDAP™az adatfájlokat olvassa el (távolról) AWS S3 vödör a helyi csészébe és (talán talán talán talán talán) dekompresszálja őket.
AWS S3 nyílt adatok
részekéntNOAAABig Data Program,NOAAöt szervezettel, beleértve az AWS-t is, „a kulcsfontosságú megfigyelések és modellkimenetek másolatainak tárolásának lehetséges előnyeinek felfedezése a Cloud-ban, hogy lehetővé tegye a közvetlenül az adatokon történő számítást anélkül, hogy további elosztást igényelne”. Az AWS tartalmazza az általa kapott adatkészleteketNOAAprogramjának részeként nyilvános hozzáférést biztosít a nagy gyűjteményhezNyitott adatok AWS S3bármely számítógépről, legyen szó az Amazon kompute-ről (bérelt számít ógép) az AWS hálózaton vagy a saját PC-n bármely hálózaton. Az alábbi példa feltételezi, hogy nyilvánosan hozzáférhető adatkészlettel dolgozol.
Hozzáférés Files egy AWS S3 Bucket
Egy privát S3 adatcsomag esetében a vödör tulajdonosának hozzáférést kell adnia a vödörhöz. (Lásd az AWS dokumentációt.)
Minden esetben szüksége lesz egy AWS fiókra, mert az AWS SDKJava (melyikERDDAP™az információ visszaszerzése egy vödör tartalmáról) megköveteli az AWS fiók hitelesítő adatait. (többet az alábbiakban)
ERDDAP™csak az AWS S3 vödörhöz férhet hozzá, ha megadja a [<cacheFromUrl> (#cachefromurl) (vagy<fájlDir>) egy adott formátumban:
https://bucketName.s3.aws-region.amazonaws.com/prefix/
ahol
- A bucketName a vödör neve rövid formája, pl. noaa-goes17.
- Az aws-region, például a kelet-1, a "Region" oszlop egyik táblázatában található.AWS Service Endpointsahol a vödör valójában található.
- Az előtag opcionális. Ha jelen van, akkor véget kell érnie'/'...
Például, https://noaa-goes17.s3.us-east-1.amazonaws.com/ABI-L1b-RadC/
Ez az URL formátum az egyik AWS S3 ajánlás: lásdBucket hozzáféréseésaz előtagok leírása...ERDDAP™megköveteli, hogy kombinálja a vödör URL-t és az opcionális előtagot egy URL-be annak érdekében, hogy meghatározza a<cacheFromUrl> (vagy<fájlDir>), ahol a fájlok találhatók.
Test Public AWS S3 Buckets
A nyilvános vödörök számára tesztelheti és tesztelheti az AWS S3 könyvtárának vödörét a böngészőben, pl. https://noaa-goes17.s3.us-east-1.amazonaws.com Ha a vödör URL helyes és megfelelőERDDAPvisszatér egy XML dokumentumhoz, amely rendelkezik (Részleges) e vödör tartalmának felsorolása. Sajnos a teljes URL (i.e., bucket URL plus prefix) azERDDAP™egy adott adatkészletet akar, nem működik egy böngészőben. Az AWS nem kínál rendszert, hogy a böngészőben könnyen böngészhesse a vödör hierarchiáját. (Ha ez helytelen, kérjük, e-mailben Chris. John at noaa.gov. Ellenkező esetben az Amazon, kérlek, adjon támogatást ehhez!)
Egy vödör tartalmának megtekintése
Az S3 buckets gyakran tartalmaz néhány fájlkategóriát, néhány pszeudo-közvetítőt, amelyek párERDDAP™adatkészletek. Ahhoz, hogy aERDDAP™adatkészletek, tudnia kell a kezdő könyvtárat<cacheFromUrl> (vagy<fájlDir>) és a fájl nevek formátuma, amelyek azonosítják a fájlok beállítását. Ha egy b öngészőben megpróbálja megtekinteni a teljes tartalmat, az S3 csak az első 1000 fájlt mutatja be, ami elégtelen. Jelenleg a legjobb módja annak, hogy megnézze az összes tartalmat egy vödör, hogy egyEDDTableFromFileNamesadatkészlet (a PC-jénERDDAP™és/vagy a nyilvánosságraERDDAP) , amely egy egyszerű módja annak, hogy böngészje a könyvtári struktúrát és letöltse fájlokat. A<fájlDir> ez lesz az URL, amit fent tett, pl. https://noaa-goes17.s3.us-east-1.amazonaws.com ...\[Miért nem kínálja az AWS S3 gyors és egyszerű módját bárkinek, aki ezt AWS fiók nélkül teszi?\]Vegye figyelembe, hogy amikor ezt a PC-n egy nem Amazon hálózaton csinálom, úgy tűnik, hogy az Amazon lelassítja a trükkre adott válaszot (körülbelül 100 (?) fájlok / chunk) az első néhány darab után (1000 fájlból darabonként) letöltve. Mivel a vödrök hatalmas számú fájlt tartalmazhatnak (Noaa-goes17 26 millióval rendelkezik) , hogy az összes tartalmát egy vödör lehet venni EDDTableFromFileNames órák (pl. 12!) befejezni.\[Az Amazon igaz?\]
EDDTable készítése FromFileNames Dataset with AWS S3 Bucket
Ha van egy vödör neve, de nem rendelkezik már egy listát a fájlok az S3 vödör vagy az előtag, amely azonosítja a helyét a vonatkozó fájlokat a vödörben, használja az utasításokat, hogy az EDDTableFileNames adatkészlet, így böngészheti a könyvtár hierarchia az S3 vödör keresztülERDDAPA"files"rendszer.
- Nyisson meg egy AWS fiókot ERDDAP™Használja aAWS SDKJavahogy vödör információt kapjon az AWS-től, így meg kelllétrehozni és aktiválni egy AWS fiókot... Ez egy elég nagy munka, sok mindent megtanulni.
- Helyezze az AWS Credentials-ot, aholERDDAP™megtalálhatja őket. Kövesse az utasításokatAz AWS Credentials és a Fejlesztési Régió létrehozásaígyERDDAP™ (kifejezetten az AWS SDKJava) képes lesz megtalálni és használni az AWS hitelesítő adatait. HaERDDAP™nem találja meg a hitelesítő anyagokat, látni fogja a java.lang. IllegalArgumentException: profilfájl nem lehet null hibaERDDAPLog.txt fájl.
Hint for Linux és Mac OS: a hitelesítő fájlnak a Tomcat futó felhasználó otthoni könyvtárában kell lennie (ésERDDAP) (e bekezdés esetében a felhasználó=tomcat) egy ~/.aws/credentials nevű fájlban. Ne feltételezzük, hogy ~ a /home/tomcat - valójában használja a cd-t -, hogy megtudja, hol gondolja az operációs rendszer - a felhasználó=tomcat. Hozzon létre a könyvtárat, ha nem létezik. Továbbá, miután elhelyezte a hitelesítő fájlt, győződjön meg róla, hogy a fájl felhasználója és csoportja tomcat, majd használja a chmod 400 hitelesítőt, hogy megbizonyosodjon arról, hogy a fájl csak a felhasználói=tomcat.
- Hozzon létre a bucket URL-tformátum,ERDDAP™követelményekpl.: https://noaa-goes17.s3.us-east-1.amazonaws.com és (nyilvános vödrökkel) tesztelni egy böngészőben, hogy megbizonyosodjon arról, hogy visszatér egy XML dokumentum, amely részlegesen felsorolja a tartalmát a bucket.
- HasználatGenerateDatasetsXmllétrehozni egyEDDTableFromFileNamesadatkészlet:
-
A Starting könyvtárhoz használja ezt a szintaxot: \\" A-tól, YourBucketUrl* például, \\\*fromOnTheFly, https://noaa-goes17.s3.us-east-1.amazonaws.com/
-
File név regex? **
-
Visszatérő? Igaz
-
újratöltés EveryNMinutes? 10080
-
intézmény?NOAA
-
összefoglaló? Nincs semmi (ERDDAP™automatikusan egy tisztességes összefoglalót hoz létre.)
-
cím? Nincs semmi (ERDDAP™automatikusan létrehoz egy tisztességes címet.) A szokásos módon szerkesztenie kell az elért XML-t, hogy ellenőrizze a korrektséget, és javítson, mielőtt az adatkészletek zsunkja használja azt.datasets.xml...
-
- Ha követi a fenti utasításokat, és betölti az adatkészletetERDDAP, létrehozott egy EDDTableFromFiles adatkészletet. Példaként, és hogy megkönnyítse bárki számára, hogy böngészjen és letöltse az AWS Open Data buckets fájlokat, létrehoztuk az EDDTableFromFileNames adatkészleteket (lásd a listát a listán az AWS Open Data buckets-ből).
https://upwell.pfeg.noaa.gov/erddap/search/index.html?searchFor=awsS3Files\_ ) szinte az összesAWS S3 Open Data buckets...
\[A kevesek, akiket nem tartalmaztunk, vagy számos fájlt tartalmaztak a gyökérkönyvtárban (több, mint letölthető ésszerű idő alatt) vagy nem engedélyezi a nyilvános hozzáférést (Nem ők mind nyilvánosak?) vagy a Requester Pays buckets (pl. Sentinel) ...\]
Ha rákattintasz a"files"link az egyik ilyen adatkészlethez, böngészheti a könyvtárfát és a fájlokat ebben az S3-ban. Az út miatt\\\*fromOnTheFly EDDTableFromFiles működik, ezek a könyvtári listák mindig tökéletesen naprakészek, mertERDDAP™a repülésen kapja meg őket. Ha rákattint a könyvtárfára egy tényleges fájlnévre, és kattintson a fájlnévre,ERDDAP™átirányítja kérését az AWS S3-ra, hogy közvetlenül letölthesse a fájlt az AWS-től. Ezután ellenőrizheti ezt a fájlt.
Hiba? Ha az EDDTableFromFiles nem tölt beERDDAP™ (vagy DasDds) Nézze meg a log.txt fájlt egy hibaüzenethez. Ha látsz egyet java.lang. IllegalArgumentException: profilfájl nem lehet null hiba, a probléma az, hogy az AWS SDKJava (használtERDDAP) nem találja meg a hitelesítő fájlt. Lásd a hitelesítő utasításokat fent.
Sajnálatos, hogy az AWS nem egyszerűen lehetővé teszi, hogy az emberek egy böngészőt használhassanak, hogy megnézzék egy nyilvános vödör tartalmát.
Aztán megtehetedERDDAP™olyan adatkészletek, amelyek hozzáférést biztosítanak a felhasználóknak az adatokhoz a fájlokban.
Lásd az utasításokatERDDAP™S3 vödör (felett) ...
A minta EDDTableFromFileNames adatkészlet, amelyet fent készített, ha egy kicsit feküdt a könyvtár és a fájl nevek a könyvtárban, egyértelművé válik, hogy a felső szintű könyvtár nevek (pl.: ABI-L1b-RadC) megfelel annak, amitERDDAP™külön adatkészleteknek neveznék. A vödör, amellyel dolgozol, hasonló lehet. Ezután külön adatkészleteket hozhat létreERDDAP™az egyes adatkészletek esetében, például,
https://noaa-goes17.s3.us-east-1.amazonaws.com/ABI-L1b-RadC/
mint<cacheFromUrl> Sajnos ebben a példában az adatkészletek a vödörben úgy tűnik, hogy az 1. vagy 2. szintű adatkészletek, amelyekERDDAP™ nem különösebben jóMivel az adatkészlet bonyolultabb változógyűjtemény, amely különböző dimenziókat használ.
NcML fájlok
NcML fájlok lehetővé teszik, hogy megadja az on-the-fly változások egy vagy több eredeti forrásNetCDF (v3 vagy v4) .nc, .grib, .bufr vagy.hdf (v4 vagy v5) fájlok, majdERDDAP™kezelni.ncml fájlok, mint a forrásfájlok.ERDDAP™Az adatkészletek elfogadják.ncml fájlok, amikor.ncA fájlok várhatóak. Az NcML fájlok MUST van a kiterjesztés.ncml. Lásd:UnidataNcML dokumentáció... NcML hasznos, mert lehet csinálni néhány dolgot vele (például különböző változásokat hozva a különböző fájlokra egy gyűjteményben, beleértve a fájlhoz adott dimenziót egy adott értékkel.) ,, hogy nem tehetsz veleERDDAPAdatasets.xml...
- Változások egy.ncml fájl utolsóModified idő okozza a fájlt, hogy újratöltsék, amikor az adatkészletet újratöltik, de az alapul szolgáló változások.ncAz adatfájlokat nem fogják közvetlenül észrevenni.
- Hint: NcML\*nagyon\*érzékeny néhány elem megrendelése az NcML fájlban. Gondolj az NcML-re, mint egy sor utasítást a megadott sorrendben, azzal a szándékkal, hogy megváltoztatja a forrásfájlokat (az állam az NcML fájl kezdetén/topján) a rendeltetési fájlokba (az állam az NcML fájl végén / alján) ...
Az NcML alternatívája azNetCDFÜzemeltetők (NCO) ... A nagy különbség az, hogy az NcML egy olyan rendszer, amely megváltoztatja a repülést (így a forrásfájlok nem változnak) , mivelNCOfelhasználhatók a változásokhoz (vagy új verziók) a fájlok. MindkettőNCOés az NcML nagyon, nagyon rugalmas, és lehetővé teszi, hogy szinte bármilyen változást gondoljon a fájlokra. Mindkét esetben kihívást jelenthet, hogy pontosan kitalálja, hogyan kell csinálni, amit szeretne csinálni - ellenőrizze az internetet hasonló példákra. Mindkettő hasznos eszköz a netCDF ésHDFfájlok használatraERDDAP- különösen, hogy a változásokat túlmutassuk azon, hogy miERDDAPA manipulációs rendszer megteheti.
Példa # 1: Idő dimenzió hozzáadása egy egységes értékkel Itt van egy.ncml fájl, amely létrehoz egy új külső dimenziót (Idő, 1 értékkel: 1041379200) és hozzáadja ezt a dimenziót a pic változójához az A2003001.L3m\_DAY\_PIC\_pic\_4km nevű fájlban.nc:
<netcdf xmlns='https://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2'>
<variable name='time' type='int' shape='time' />
<aggregation dimName='time' type='joinNew'>
<variableAgg name='pic'/>
<netcdf location='A2003001.L3m\\_DAY\\_PIC\\_pic\\_4km.nc' coordValue='1041379200'/>
</aggregation>
</netcdf>
Példa #2: A meglévő időérték megváltoztatása Néha a forrás.nca fájl már rendelkezik idő dimenzióval és időértékkel, de az érték helytelen (az Ön céljaira) ... Ez a.ncml fájl azt mondja: az "19810825230030-NCEI" nevű adatfájl esetében a dimenzió változója"time", állítsa be az egységek tulajdonságát, hogy "második 1970-01-01T00:00Z", és meghatározza az időértéket, hogy 367588800.
<netcdf xmlns='https://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2'
location="19810825230030-NCEI-L3C\\_GHRSST-SSTskin-AVHRR\\_Pathfinder-PFV5.3\\_NOAA07\\_G\\_1981237\\_day-v02.0-fv01.0.nc">
<variable name="time">
<attribute name='units' value='seconds since 1970-01-01T00:00:00Z' />
<values>367588800</values>
</variable>
</netcdf>
NetCDFÜzemeltetők (NCO)
„A netCDF üzemeltetők (NCO) tartalmaz egy tucat önálló, parancssori programokat, amelyek netCDF\[v3 vagy v4\],HDF \[v4 vagy v5\],\[.grib, .bufr,\]vagyDAPfájlok mint bemenet, majd működnek (pl. új adatok, kompute statisztikák, nyomtatás, hiperslab, manipulálja a metaadatát) és adja ki az eredményeket a szövegben, bináris vagy netCDF formátumban való képernyőre vagy fájlokra.NCOtámogatások elemzése rácsos tudományos adatok. A shell-parancs stílusaNCOlehetővé teszi a felhasználók számára, hogy interaktív módon manipulálják és elemezzék a fájlokat, vagy kifejező szkriptekkel, amelyek elkerülik a magasabb szintű programozási környezetek egy részét.” (aNCOWeboldal) ...
alternatívaNCOazNcML... A nagy különbség az, hogy az NcML egy olyan rendszer, amely megváltoztatja a repülést (így a forrásfájlok nem változnak) , mivelNCOfelhasználhatók a változásokhoz (vagy új verziók) a fájlok. MindkettőNCOés az NcML nagyon, nagyon rugalmas, és lehetővé teszi, hogy szinte bármilyen változást gondoljon a fájlokra. Mindkét esetben kihívást jelenthet, hogy pontosan kitalálja, hogyan kell csinálni, amit szeretne csinálni - ellenőrizze az internetet hasonló példákra. Mindkettő hasznos eszköz a netCDF ésHDFfájlok használatraERDDAP- különösen, hogy a változásokat túlmutassuk azon, hogy miERDDAPA manipulációs rendszer megteheti.
Például használhatóNCOhogy az idő egységei változóak legyenek egy olyan fájlcsoportban, ahol eredetileg nem voltak következetesek. Vagy használhatNCOalkalmazniscale\_factorésadd\_offsetegy olyan fájlcsoportban, aholscale\_factorésadd\_offsetkülönböző értékekkel rendelkezik a különböző forrásfájlokban. (Vagy most kezelheti ezeket a problémákatERDDAP™keresztülEDDGridFromNcFilesUnpackEz egy változataEDDGridFromNcFiles, amelyek csomagolt adatokat csomagolnak, és alacsony szinten szabványosítják az időértékeket annak érdekében, hogy kezeljék a gyűjtőfájlokat, amelyek eltérőekscale\_factorésadd\_offsetvagy különböző időegységek.)
NCOIngyenes és nyílt forráskódú szoftver, amely aGPL 3.0licenc.
Példa # 1: Egységek konzisztens készítése
EDDGridFromFiles és EDDTable A Files ragaszkodik ahhoz, hogy az egy adott változó egységei azonosak legyenek az összes fájlban. Ha néhány fájl triviálisan (nem funkcionális) másoktól eltérő (pl. időegységek
"Seconds 1970-01-01 00:00 UTC" versus
"seconds since 1970-01-01T00:00:00Z"HasználhatnádNCOANövény. megváltoztatni az egységeket az összes fájlban, hogy azonos legyen
nco/catted - egy egység, idő, o,c, másodpercek 1970-01-01T00:00Z \*.nc
\[Sok probléma, mint ez az EDDTableFrom... Files adatkészletek, most használhatjaszabványosítás AmitMondd elERDDAPszabványosítani a forrásfájlokat, ahogy olvassákERDDAP...\]
Korlátozza az adatkészlet méretét
Sok hivatkozást fogsz látni a "2 milliárd" alatt. Pontosabban, ez egy hivatkozás 2,147,483,647 (2^31-1) amely a 32 bites aláírt integrál maximális értéke. Egyes számítógépes nyelveken példáulJava (melyikERDDAP™be van írva) Ez a legnagyobb adattípus, amelyet sok adatstruktúrára lehet használni (például egy tömb mérete) ...
Erős értékek (például a változó nevek, a tulajdonság nevek, a String attribute értékek és a String adatértékek) , a legnagyobb számú karakter per String inERDDAP™2 milliárd. De szinte minden esetben kicsi vagy nagy probléma lesz, ha a String meghaladja az ésszerű méretet (pl. 80 karakter a változó nevekhez és a tulajdonságnevekhez, és 255 karakter a legerősebb tulajdonsági értékekhez és adatértékekhez) ... Például olyan weboldalak, amelyek hosszú változó neveket jelenítenek meg, kényelmetlenül szélesek lesznek, és a hosszú változó neveket kivonják, ha túllépik a válaszfájltípus határát.
A rácsos adatkészletek esetében:
- A maximális számaxisVariableS ~2 milliárd. A maximális számdataVariableS ~2 milliárd. De ha egy adatkészletnek van >100 változója, akkor nehéz lesz használni a felhasználókat. És ha egy adatkészletnek 1 millió változója van, akkor a szervernek sok fizikai memóriára van szüksége, és más problémák is lesznek.
- Az egyes dimenziók maximális mérete (axisVariable) 2 milliárd érték.
- Azt hiszem, a cellák maximális teljes száma (az összes dimenziós méret terméke) korlátlan, de lehet ~9e18.
A tabuláris adatkészletek esetében:
- A maximális számdataVariableS ~2 milliárd. De ha egy adatkészletnek van >100 változója, akkor nehéz lesz használni a felhasználókat. És ha egy adatkészletnek 1 millió változója van, akkor a szervernek sok fizikai memóriára van szüksége, és más problémák is lesznek.
- A legtöbb forrás (például fájlok) Ez összesíthető - 2 milliárd.
- Bizonyos esetekben az egyéni forrásból származó sorok maximális száma (Például egy fájl, de nem adatbázis) 2 milliárd sor.
- Nem hiszem, hogy vannak más határok.
Mind a rácsos, mind a mentő adatkészletek esetében vannak belső határértékek az aljzat méretére vonatkozóan, amelyet a felhasználó kérhet egyetlen kérelemben. (gyakran kapcsolódik a >2 milliárd valami vagy ~9e18 valami) , de sokkal valószínűbb, hogy a felhasználó eléri a fájltípusspecifikus határokat.
- NetCDFverzió 3.ncA fájlok 2GB byte-re korlátozódnak. (Ha ez valóban problémát jelent valakinek, hadd tudjam: Hozzáadhatnám a támogatástNetCDFverzió 3.nc64 bites kiterjesztés vagyNetCDFA 4. verzió, amely jelentősen növelné a határt, de nem végtelenül.)
- Böngésző összeomlik csak ~ 500 MB adat, ígyERDDAP™korlátozza a válaszot.htmlTable~400MB adatkérés.
- Számos adatelemzési program hasonló korlátokkal rendelkezik (Például a méret maximális mérete gyakran ~ 2 milliárd érték) Tehát nincs ok arra, hogy keményen dolgozzon a fájltípusspecifikus határok körül.
- A fájltípus-specifikus határok hasznosak abban, hogy megakadályozzák a naiv kérelmek valóban hatalmas mennyiségű adat (Például: "add meg nekem az összes adatkészletet", amikor az adatkészlet 20TB adatkészlettel rendelkezik) , amely heteket vagy hónapokat vesz igénybe a letöltéshez. Minél hosszabb a letöltés, annál valószínűbb, hogy sokféle ok miatt kudarcot vall.
- A fájltípus-specifikus határok hasznosak abban, hogy arra kényszerítik a felhasználót, hogy kezelje ésszerűen méretű alkatrészeket (például egy nagy hálózatú adathalmaz kezelése fájlokon keresztül, egy alkalommal adatokkal, minden alkalommal) ...
Váltás ACDD-1.3
Mi vagyunk (nevezetesenGenerateDatasetsXml) Jelenleg ajánlottACDD verzió 1.3, amelyet 2015 elején ratifikáltak, és amelyet „ACDD-1.3”-nak neveznek a globális egyezményekben. ElőzőERDDAP™verzió 1.62 (megjelent 2015 júniusában) ,ERDDAP™használt/ajánlotta az eredeti, 1.0 verziót,NetCDFAttribute Convention for Dataset Discoveryamelyet "-nak" neveztek.UnidataDataset Discovery v1.0" a globális egyezményekben ésMetadata\_Conventionstulajdonságok.
Ha az adatkészletek az ACDD korábbi verzióit használják, akkor RECOMMEND-re váltunk az ACDD-1.3-ra. Nem nehéz. Az ACDD-1.3 nagyon visszafelé kompatibilis az 1.0 verzióval. Átváltani minden adatkészletet (kivéve, kivéveEDDGridFromErddap és EDDTable FromErdp adatkészletek) :
- Távolítsa el az újonnan deprekált globálisMetadata\_Conventionsattribútum hozzáadása (vagy a meglévő megváltoztatásávalMetadata\_Conventionstulajdonság)
<att name="Metadata\\_Conventions">null</att>
az adatkészlet globális<addAttributes>. 2. Ha az adatkészlet rendelkezik a globálisan jellemző egyezményekkel<addAttributes> változtassa meg az összes "UnidataDataset Discovery v1.0" hivatkozások az "ACDD-1.3"-ra. Ha az adatkészlet nem rendelkezik a globális egyezményekkel<addAttributes> aztán hozzáadjuk az ACDD-1.3-at. Például,
<att name="Conventions">COARDS, CF-1.6, ACDD-1.3</att>
3. Ha az adatkészlet globálisstandard\_name\_vocabularyattribútum, kérjük, változtassa meg az érték formátumát, például,
<att name="standard\\_name\\_vocabulary">CF Standard Name Table v65</att>
Ha a hivatkozás egy régebbi verzióra vonatkozikCF standard névtáblázat... valószínűleg jó ötlet a jelenlegi verzióra váltani (65, ahogy ezt írjuk) Mivel az új szabványos neveket hozzáadjuk az asztalhoz a későbbi verziókkal, de a régi szabványos neveket ritkán deprekálják, és soha nem távolítják el. 4. Bár az ACDD-1.0 globális tulajdonságokat tartalmazottcreator\_name,creator\_email,creator\_url,GenerateDatasetsXmlnem tette automatikusan hozzá őket, amíg valamikor körülERDDAP™v1.50. Ez fontos információ:
- creator\_namelehetővé teszi a felhasználók számára, hogy ismerjék/meghatározzák az adatkészlet létrehozását.
- creator\_emailelmondja a felhasználóknak a preferált e-mail címet az adatkészlet létrehozásához, például, ha kérdéseik vannak az adatkészlettel kapcsolatban.
- creator\_urllehetőséget ad a felhasználóknak arra, hogy többet megtudjanak az alkotóról.
- ERDDAP™az összes információt az FGDC és az ISO 19115-2/19139 metaadat-dokumentumok generálásakor használja minden adatkészlethez. Ezeket a dokumentumokat gyakran külső keresési szolgáltatások használják.
Kérjük, adja hozzá ezeket a tulajdonságokat az adatkészlet globális<addAttributes>.
<att name="creator\\_name">NOAA NMFS SWFSC ERD</att>
<att name="creator\\_email">erd.data@noaa.gov</att>
<att name="creator\\_url">https://www.pfeg.noaa.gov</att>
Ez az. Remélem, ez nem túl nehéz.
Zarr
2.25 verzióERDDAP™olvasható helyi Zarr fájlok használatávalEDDTableFromNcFilesésEDDGridFromNcFiles...
(2019 augusztusától) Könnyen tévedhetünk, de még nem vagyunk meggyőződve arról, hogyZarrvagy hasonló rendszerek, amelyek az adatfájlokat kisebb darabokra bontják, nagyszerű megoldások a probléma aERDDAP™a felhőszolgáltatásokban tárolt adatok, mint az Amazon AWS S3. Zarr egy nagyszerű technológia, amely számos helyzetben megmutatta hasznosságát, nem vagyunk biztosak abban, hogyERDDAP+S3 lesz az egyik ilyen helyzet. Többnyire azt mondjuk: mielőtt sietnénk, hogy az összes adatot Zarrban tároljuk, végezzünk teszteket, hogy lássuk, valójában jobb megoldás.
Az adatokhoz való hozzáféréssel kapcsolatos problémák a felhőben a latencia (a lag, hogy először kap adatokat) fájlszintű hozzáférés (a blokkszintű hozzáférés helyett) ... Zarr megoldja a fájlszintű hozzáférési problémát, de semmit sem tesz a latencia. Összehasonlítva, hogy csak letöltse a fájlt (így lehet olvasni, mint egy helyi fájlt blokk szintű hozzáféréssel) Zarr még súlyosbíthatja a latencia problémát, mert Zarr-val a fájl olvasása most számos hívássorozatot tartalmaz a fájl különböző részei olvasásához (mindegyik saját laggal) ... A latenciaproblémát a kérések párhuzamosan meg lehet oldani, de ez egy magasabb szintű megoldás, nem Zarrtól függ.
Zárral (mint a kapcsolati adatbázisokkal) Elveszítjük azt a kényelmet, hogy egy adatfájl egy egyszerű, egyetlen fájl, amely könnyen ellenőrizheti az integritását, vagy letöltés egy példányt.
ERDDAP™ (mint v2) rendszerrel rendelkezik a helyi fájlok tárolására egy URL forrásból (pl. S3) (lásd)<cacheFromUrl> és<cacheMaxGB>] (#cachefromurl) ). Az új [<nThreads>] (#nthreads) minimalizálja a latencia problémát az adatátvitel magas szintű párhuzamosságával.<A cacheFromUrl> nagyon jól működik sok forgatókönyv esetében. (Nem vagyunk biztosak abban, hogy mennyire hasznosak vagyunk<nThreads> további tesztek nélkül.) Bevalljuk, hogy nem végeztünk időzítési teszteket egy AWS-en, jó hálózati kapcsolattal, de sikeresen teszteltünk különböző távoli URL-forrásokkal. ÉsERDDAPA<cacheFromUrl> bármilyen típusú adatfájllal működik (pl.:.nc,.hdf, .csv,.jsonlCSV) még akkor is, ha külsőleg tömörített (pl.:.gz) , a fájlok módosítása nélkül (pl. Zarr gyűjteményként újraírni őket) ...
Valószínű, hogy a különböző forgatókönyvek különböző megoldásokat, például csak egy fájl egy részét kell elolvasni egyszer (Zarr győzni fog) vs. egyszer el kell olvasnia az összes fájlt, vs.-nek ismételten el kell olvasnia a részét vagy az összes fájlt.<cacheFromUrl> győzni fog.
Többnyire azt mondjuk: mielőtt sietnénk, hogy az összes adatot Zarrban tároljuk, végezzünk teszteket, hogy lássuk, valójában jobb megoldás.
A típusok adatbázisainak listája
Ha segítségre van szüksége a megfelelő adatkészlet kiválasztásában, lásdAz adatkészlet típusának kiválasztása...
Az adatkészletek típusai két kategóriába tartoznak. (Miért?)
EDDGrid
- EDDGrid Az adatkészletek kezelik a hálózati adatokat.
- InkábbEDDGridadatkészletek, adatok változói többdimenziós adatsorok.
- Ott lehet egy tengely változó minden dimenzióban. Axis változók MUST van meghatározva annak érdekében, hogy az adatok változók használja őket.
- InkábbEDDGridadatkészletek, minden adatváltozat MUST használat (Részvény) az összes tengely változó. (Miért? Mi van, ha nem?)
- Osztott dimenziós értékek - MindenEDDGridadatkészletek, minden dimenzió MUST rendezett rendben (Felemelkedés vagy lesz ármazás) ... Mindegyik szabálytalanul helyet foglalhat. Nem lehetnek kapcsolatok. Ez a követelmény aCF metaadat szabvány... Ha bármely dimenzió értéke nem rendezett rendben van, az adatkészlet nem lesz betöltve ésERDDAP™azonosítja az első fel nem szorított értéket a logfájlban, bigParentDirectory[szerkesztés] /logs/log.txt .
Néhány alosztálynak további korlátozásai vannak (különösen,EDDGridAz AggregateExistingDimension megköveteli, hogy a külső (balra, első) dimenzió felemelkedjen.
A nem szorított dimenziós értékek szinte mindig problémát jelentenek a forrásadatokkal. Ez a leggyakrabban akkor fordul elő, amikor egy tévhit vagy nem megfelelő fájl szerepel a gyülekezetben, ami egy szorulatlan idő dimenzióhoz vezet. A probléma megoldásához lásd a hibaüzenetetERDDAP™log.txt fájl, hogy megtalálja a megsértő időértéket. Ezután nézze meg a forrásfájlokat, hogy megtalálja a megfelelő fájlt (vagy egy előtt vagy után) ez nem tartozik a gyülekezetbe.
- Lásd a teljesebb leírástEDDGridadatmodell...
- AEDDGridadatkészlettípusok:
- EDDGridFromAudioFilesösszesíti az adatokat egy csoport helyi audio fájlokat.
- EDDGriddalszövegkezeli a rácsos adatokatDAPszerverek.
- EDDGridFromEDDTablelehetővé teszi, hogy egy mesés adatállományt egy rácsolt adatkészletbe konvertáljon.
- EDDGridFromErdaprajtolt adatok kezelése egy távolbólERDDAP...
- EDDGridFromEtopocsak kezeli a beépített ETOPO topográfiai adatokat.
- EDDGridFájlokaz összes szuperosztályEDDGridA... Files osztályok.
- EDDGridFromMergeIRFilesösszesíti a helyi MergeIR csoport adatait.gzfájlok.
- EDDGridFromNcFilesösszesíti az adatokat egy helyi csoportbólNetCDF (v3 vagy v4) .ncés kapcsolódó fájlok.
- EDDGridFromNcFilesUnpackvariáns, haEDDGridFromNcFiles, amely adatokat is gyűjt egy helyi csoportbólNetCDF (v3 vagy v4) .ncés kapcsolódó fájlok, amelyekERDDAP™alacsony szintű csomagok.
- EDDGridLonPM180módosítja a gyermek hosszúsági értékeitEDDGridhogy a -180-180-as tartományban vannak.
- EDDGridLon0360módosítja a gyermek hosszúsági értékeitEDDGridhogy a 0-360-as tartományban vannak.
- EDDGridSideBySideaggregál két vagy többEDDGridadatkészletek oldalról oldalra.
- EDDGridAggregateExistingDimenzióaggregál két vagy többEDDGridadatkészletek, amelyek mindegyikének különböző értékei vannak az első dimenzióban, de azonos értékek a többi dimenzió számára.
- EDDGridMásoláslétrehozhat egy másik helyi másolatotEDDGridAz adatok és szolgálja az adatokat a helyi másolatból.
- MindenEDDGridAz adatkészletek támogatják az nThreads beállítást, ami azt mondjaERDDAP™hány szálat kell használni, amikor válaszol egy kérésre. Lásd:nHáromdokumentáció a részletekért.
EDDTable
- EDDTable Az adatkészletek kezelik a mesés adatokat.
- A tabuláris adatok adatbázis-szerű táblázatként szolgálhatnak sorokkal és oszlopokkal. Minden oszlop (egy adat változó) van egy név, egy sor tulajdonság, és tárol csak egy típusú adat. Minden sornak van egy megfigyelése (vagy a kapcsolódó értékek csoportja) ... Az adatforrás más adatstruktúrában, bonyolultabb adatstruktúrában és/vagy több adatfájlban is rendelkezhet, deERDDAP™képesnek kell lennie arra, hogy a forrásadatokat adatbázisszerű táblázatba helyezze annak érdekében, hogy az adatokat takaró adatkészletként jelenítse meg a felhasználók számáraERDDAP...
- Lásd a teljesebb leírástEDDTable adatmodell...
- Az EDDTable adatkészlet típusai:
-
EDDTableFromAllDatasetsegy magasabb szintű adatkészlet, amely információkkal rendelkezik az összes többi adatkészletről az ÖnbenERDDAP...
-
EDDTableFromAsciiFilesösszesíti az adatokat a comma-tól, a tab-tól, a szemicolon-tól, vagy az űrválasztott tabuláris ASCII adatfájloktól.
-
EDDTableFromAsciiServiceaz összes EDDTableFromAsciiService... osztályok szuperosztálya.
-
EDDTableFromAsciiServiceNOSadatokat kezel egyesektőlNOAANOS webszolgáltatások.
-
EDDTableFromAudioFilesösszesíti az adatokat egy csoport helyi audio fájlokat.
-
EDDTableFrom AwsXmlFilesösszesíti az adatokat egy sor Automatic Weather Station (AWS) XML fájlok.
-
EDDTableFromCassandrakezeli a mesés adatokat egy Cassandra asztalról.
-
EDDTableFromColumnarAsciiFilesösszesíti a tabuláris ASCII adatfájlok adatait rögzített szélességi adatoszlopokkal.
-
EDDTableFromDapSequencekezeli a mentő adatokatDAPSequence szerverek.
-
EDDTableFromDatabasekezeli a mentő adatokat egy adatbázis táblából.
-
EDDTableFromEDDGridlehetővé teszi, hogy létrehozzon egy EDDTable adatkészletet egyEDDGridadatkészlet.
-
EDDTableFromErddapkezeli a mesés adatokat távolrólERDDAP...
-
EDDTableFromFileNamesAdatkészletet hoz létre a szerver fájlrendszerében lévő fájlok csoportjáról, de nem szolgálja az adatokat a fájlokban.
-
EDDTableFromFilesaz összes EDDTableF felülete... Files osztályok.
-
EDDTableFromHttpGetazERDDAP„Csak az adatimport és az adatexport rendszere.
-
EDDTableFromHyraxFiók (Meghatározva) összesíti a fájlok adatait több változóval, amelyeket megosztott dimenziók szolgálnak egyHyrax OPeNDAPszerver...
-
EDDTableFromInvalidCRAFilesösszesített adatokNetCDF (v3 vagy v4) .ncfájlok, amelyek egy adott, érvénytelen, változata a CF DSG Contiguous Ragged Array (CRA) fájlok. BárERDDAP™támogatja ezt a fájltípust, ez egy érvénytelen fájltípus, amelyet senkinek nem kell használnia. Azok a csoportok, amelyek jelenleg ezt a fájltípust használják, erősen ösztönzik a használatraERDDAP™hiteles CF DSG CRA fájlok generálására, és hagyja abba ezeket a fájlokat.
-
EDDTableFromJsonlCSVFilesösszesített adatokJSON Lines CSV fájlok...
-
EDDTableFromMultidimNcFilesösszesített adatokNetCDF (v3 vagy v4) .nctöbb változóval rendelkező fájlok közös dimenziókkal.
-
EDDTableFromNcFilesösszesített adatokNetCDF (v3 vagy v4) .nctöbb változóval rendelkező fájlok közös dimenziókkal. Jó, ha továbbra is használja ezt az adatkészlettípust a meglévő adatkészletekhez, de új adatkészletek esetében inkább az EDDTableFromMultidimNcFiles használatát javasoljuk.
-
EDDTableFromNcCFFilesösszesített adatokNetCDF (v3 vagy v4) .ncfájlokat, amelyek az egyik fájlformátumot használják, amelyet aCF Discrete Sampling Geometries (DSG) egyezmények. De az egyik multidimenzionális CF DSG változatot használó fájlokhoz, használjonEDDTableFromMultidimNcFilesEhelyett.
-
EDDTableFromNccsvFilesösszesített adatokNCCSVASCII .csv fájlok.
-
EDDTableFromNOS (Meghatározva) kezeli a mentő adatokat az NOS XML szerverektől.
-
EDDTableFromOBISkezeli a mentő adatokat az OBIS szervereitől.
-
EDDTableFromParquetFilesadatok kezeléseParquet...
-
EDDTableFromSOSkezeli a mentő adatokatSOSszerverek.
-
EDDTableFromThreddsFiles (Meghatározva) összesíti a fájlok adatait több változóval, amelyeket megosztott dimenziók szolgálnak egyHírekOPeNDAPszerver...
-
EDDTableFromWFSFiók (Meghatározva) helyi másolatot készít az összes adatról egyArcGISMapServerWFSszerver, így az adatok gyorsan továbbíthatókERDDAP™felhasználók.
-
EDDTableAggregateRowsEDDTable adatkészletet készíthet egy EDDTable adatkészletből.
-
EDDTableCopyhelyi másolatot készíthet sokféle EDDTable adatkészletből, majd gyorsan megőrizheti az adatokat a helyi másolatból.
-
Adatkészlettípusok részletes leírása
EDDGriddalszöveg
EDDGriddalszöveg kezeli a hálózati változókatDAPszerverek.
- Erősen ajánljuk a használatátGenerateDatasets Xml programegy durva tervezetet készítenidatasets.xmlcunk ehhez az adatkészlethez. Összegyűjtheti azokat az információkat, amelyekre szüksége van, hogy csípjen vagy létrehozza a saját XML-jét egyEDDGridFromDap adatkészlet a forrásadatlap DDS és DAS fájlok megtekintésével a böngészőben (.das és .dds hozzáadásasourceUrlPéldául, https://thredds1.pfeg.noaa.gov/thredds/dodsC/satellite/BA/ssta/5day.dds ) ...
- EDDGridFromDap adatokat kaphat bármilyen többdimenziós változóbólDAPadatkiszolgáló. (Korábban,EDDGridFromDap korlátozott volt a változók kijelölt "széles", de ez már nem követelmény.)
- Osztott dimenziós értékek - Az értékek minden dimenzióban MUST lehet rendezett rendben (Felemelkedés vagy leszármazás) ... Az értékek szabálytalanul helyreállhatnak. Nem lehetnek kapcsolatok. Ez a követelmény aCF metaadat szabvány... Ha bármely dimenzió értéke nem rendezett rendben van, az adatkészlet nem lesz betöltve ésERDDAP™azonosítja az első fel nem szorított értéket a logfájlban, bigParentDirectory[szerkesztés] /logs/log.txt .
A nem szorított dimenziós értékek szinte mindig problémát jelentenek a forrásadatokkal. Ez a leggyakrabban akkor fordul elő, amikor egy tévhit vagy nem megfelelő fájl szerepel a gyülekezetben, ami egy szorulatlan idő dimenzióhoz vezet. A probléma megoldásához lásd a hibaüzenetetERDDAP™log.txt fájl, hogy megtalálja a megsértő időértéket. Ezután nézze meg a forrásfájlokat, hogy megtalálja a megfelelő fájlt (vagy egy előtt vagy után) ez nem tartozik a gyülekezetbe.
EDDGridFromDap csontváz XML
<dataset type="EDDGridFromDap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1.
For EDDGridFromDap, this gets the remote .dds and then gets the new
leftmost (first) dimension values. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<axisVariable>...</axisVariable> <!-- 1 or more -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
</dataset>
EDDGridFromEDDTable
EDDGridFromEDDTable lehetővé teszi, hogy egy EDDTable tabuláris adatállományt egyEDDGridmegrúgott adatkészlet. Ne feledje, hogyERDDAP™kezeli az adatkészleteket, mint akárHálózott adatkészletek (alosztályokEDDGrid) vagy mesés adatkészletek (EDDTable alosztályai) ...
- Normális esetben, ha megrúgta az adatokat, csak egyEDDGridadatkészlet közvetlenül. Néha ez nem lehetséges, például, ha van olyan adat, amelyet egy kapcsolati adatbázisban tárolnakERDDAP™csak az EDDTableFromDatabase-on keresztül érhető el.EDDGridFromEDDTable osztály lehetővé teszi, hogy orvosolja ezt a helyzetet.
- Nyilvánvaló, hogy a mögöttes EDDTable adatkészletben szereplő adatoknak az alapul szolgáló EDDTable adatkészletben kell szerepelniük. (alapvetően) fúrt adatok, de takaró formában. Például az EDDTable adatkészletnek CTD-adatai lehetnek: a keleti és északi jelenlegi mérések, több mélységben, többször. Mivel a mélységek minden alkalommal azonosak,EDDGridFromEDDTable hozhat létre egy rácsos adatkészletet egy időben és egy mélység dimenzióval, amely az adatokat az alapul szolgáló EDDTable adatkészleten keresztül éri el.
- GenerateDatasets Xml -- Erősen ajánljuk a használatátGenerateDatasets Xml programegy durva tervezetet készítenidatasets.xmlcunk ehhez az adatkészlethez. Összegyűjtheti azokat az információkat, amelyekre szüksége van a durva tervezet javítására.
- Forrás tulajdonságok -- Mint minden más típusú adatkészlet esetében,EDDGridFromTable van az ötlet, hogy vannak globális forrásAttributes ésglobálisaddAttributes (meghatározottdatasets.xml) kombinálva a globális kombináltságot tulajdonságok, melyeket a felhasználók látnak. A globális forrásAttributes,EDDGridFromEDDTable használja a globális kombinált Az alapul szolgáló EDDTable adatkészlet tulajdonságai. (Ha egy percig gondolsz rá, akkor van értelme.)
Hasonlóképpen, mindenki számáraaxisVariableésdataVariableAaddAttributes,EDDGridFromEDDTable használja a változó kombinált Az alapul szolgáló EDDTable adatkészlet tulajdonságai, mintEDDGridFromEDDTable változó forrásAttributes. (Ha egy percig gondolsz rá, akkor van értelme.)
Következésképpen, ha az EDDTable jó metaadatokkal rendelkezik, azEDDGridFromEDDTable gyakran szüksége van nagyon kevésaddAttributesmetadata - csak néhány csípő itt és ott.
-
dataVariableversusaxisVariableS - A mögöttes EDDTable csakdataVariableS. EgyEDDGridFromEDDTable adatkészlet lesz néhányaxisVariables (az EDDTable közül néhánydataVariables) NéhánydataVariables (a fennmaradó EDDTabledataVariables) ...GenerateDatasetsXmlkitalálja, hogy melyik EDDTabledataVariableS váljonEDDGridFromEDDTableaxisVariableS, de csak egy kitalált. A GenerateDatasetsXml kimenetét módosítania kell annak meghatározására, hogy melyikdataVariableleszaxisVariables, és melyik sorrendben.
-
AxisValues - Nincs semmi a mögöttes EDDTable-ről, hogy elmondjaEDDGridFromEDDTable a lehetséges értékek aaxisVariables az adatkészlet rácsos változatában, így minden egyes információt megadjaaxisVariableezen tulajdonságok egyikén keresztül:
- axisValues - lehetővé teszi, hogy meghatározza az értékek listáját. Például, <att name="axisValues"dalszöveg: DoubleList2,5, 3,3.5, 4</att> Vegye figyelembe egy használatátadattípusplusz a lista szó. Szintén a lista típusa (például kettős) MUST megfelel az adatoknak A változó típusa az EDDTable ésEDDGridFromEDDTable adatkészletek.
- axisValuesStartStrideStop - lehetővé teszi, hogy megjelölje a rendszeres terhelt értékek sorozatát azáltal, hogy meghatározza a kezdetet, a szélsőséget és az értékeket. Itt van egy példa, amely egyenértékű a tengelyValues példa fent: <att name="axisValuesStartStrideStop"dalszöveg: DoubleList\>2, 0,5, 4</att> Ismét vegye figyelembe egy lista adattípus használatát. Szintén a lista típusa (például kettős) MUST megfelel az adatoknak A változó típusa az EDDTable ésEDDGridFromEDDTable adatkészletek.
Frissítések - Ahogy nincs mód arra, hogyEDDGridFromEDDTable, hogy meghatározza a tengelyValues az EDDTable kezdetben, nincs megbízható módja annak, hogy aEDDGridFromEDDTable, hogy meghatározza az EDDTable, amikor a tengelyValues változott (különösen, ha új értékek vannak az idő változójához) ... Jelenleg az egyetlen megoldás az, hogy megváltoztassa az axisValues tulajdonságátdatasets.xmlés újratöltse az adatkészletet. Például írhatsz egy forgatókönyvet
- Keresésdatasets.xmlMert datasetIDÓ ADatasetID "..." így a megfelelő adatkészlettel dolgozol.
- Keresésdatasets.xmla következő előfordulásért
AVariablesSourceName
így a helyes változóval dolgozol. - Keresésdatasets.xmla következő előfordulásért
<att name="axisValuesStartStrideStop" type="doubleList">
így ismeri a címke kezdeti pozícióját. 4. Keresésdatasets.xmla következő előfordulásért
</att>
így ismeri a tengelyértékek végső pozícióját. 5. Helyettesítse a régi indulást, merüljön fel, állítsa le az értékeket az új értékekkel. 6. Kapcsolatfelvétel azászló URLaz adatkészlet számára, hogy elmondjaERDDAP™az adatkészlet újratöltéséhez.
Ez nem ideális, de működik.
- precizitás - MikorEDDGridFromEDDTable válaszol a felhasználó kérésére az adatok, ez mozog egy sor adatot az EDDTable válasz táblába aEDDGridválasz rács. Ehhez ki kell találni, hogy az adott sorban lévő "axis" értékek egy adott sorban megfelelnek-e a tengelyértékek kombinációjának a hálózatban. Az integrált adattípusok esetében könnyen meghatározható, hogy két érték egyenlő-e. De az úszók és a duplák esetében ez felveti a lebegő pontszámok szörnyű problémájátnem egyezik pontosan... (például 0,2 versus 0.19999999996) ... Hogy (próbálkozni) foglalkozz ezzel,EDDGridFromTable lehetővé teszi, hogy meghatározza a pontos tulajdonság bármelyike számáraaxisVariables, amely meghatározza a decimális számjegyek teljes számát, amelyeknek azonosnak kell lenniük.
- Például,<att name="precision" típusú="int">5</att>
- A különböző típusú adatok változói, vannak különböző alapértelmezett pontossági értékek. Az alapértelmezések általában megfelelőek. Ha nem, meg kell határoznia a különböző értékeket.
- MertaxisVariablei.Idő vagy idő Stamp változókAz alapértelmezés teljes pontosságú (pontos mérkőzés) ...
- MertaxisVariables amelyek úszók, az alapértelmezett pontosság 5
- MertaxisVariableduplák, az alapértelmezett pontosság 9.
- MertaxisVariableaz integrált adattípusok,EDDGridAz FromEDDTable figyelmen kívül hagyja a pontosságot, és mindig teljes pontosságot használ (pontos mérkőzés) ...
- FIGYELEM! Amikor egy csomó tabuláris adatot átváltoztat egy zsúfolt adatokba, haEDDGridAz FromEDDTable nem tud egy EDDTable "axis" értéket elérni az egyik várhatóanEDDGridFromEDDTable axis értékek,EDDGridFromEDDTable csendesen (Nincs hiba) dobja el az adatokat az asztal sorából. Például lehetnek más adatok (nem a rácson) az EDDTable adatkészletben. (És ha sztride > 1, nem nyilvánvaló, hogyEDDGridA táblázatból, amely a tengelyértékek kívánt értékek, és melyek azok, akiket a törzs miatt kell kihagyni.) Tehát, ha a pontossági értékek túl magasak, a felhasználó hiányzó értékeket lát az adatválaszban, amikor az érvényes adatértékek ténylegesen léteznek.
Ezzel szemben, ha a pontossági értékek túl alacsonyak, EDDTable "axis" értékeket állítanak fel, amelyeknek nem kell megfelelniükEDDGridFromEDDTable axis értékek (tévesen) Meccs.
Ezek a potenciális problémák szörnyűek, mert a felhasználó rossz adatokat kap (vagy hiányzó értékek) ha megfelelő adatokat kell kapniuk (vagy legalább hibaüzenet) ... Ez nem egy hibásEDDGridFromTable.EDDGridFromTable nem tudja megoldani ezt a problémát. A probléma a tabuláris adatok áttérésében rejlik a rácsos adatokba (kivéve, ha más feltételezéseket lehet tenni, de nem tehetik itt) ... Ez rajtad múlik,ERDDAP™adminisztrátor, teszteljeEDDGridFromEDDTable alaposan annak biztosítása érdekében, hogy a pontossági értékek elkerüljék ezeket a potenciális problémákat.
gapThreshold
- gapThreshold- Ez egy nagyon szokatlan adatkészlet. Mivel a lekérdezések típusai, amelyeket meg lehet tenni (kezeli) egyEDDGridadatkészlet (a tartományokhoz és a merényletekhez kapcsolódóanaxisVariables) nagyon különböznek attól a típusú kérdésektől, amelyeket meg lehet tenni (kezeli) EDDTable adatkészlet (csak néhány változó tartományához kapcsolódik) , a teljesítményEDDGridAz FromEDDTable adatkészletek nagymértékben változnak attól függően, hogy milyen pontos kérésre kerül sor, és az alapul szolgáló EDDTable adatkészlet sebessége. Olyan kérelmek esetében, amelyeknek szilárd értéke van > 1,EDDGridFromEDDTable kérheti a mögöttes EDDTable egy viszonylag nagy mennyiségű adat (ha sztride=1) Ezután az eredményeken keresztül, bizonyos sorokból tartva az adatokat, és eldobva az adatokat másoktól. Ha sok adatot kell átszűrnie, hogy megkapja a szükséges adatokat, a kérés hosszabb időt vesz igénybe.
HaEDDGridFromEDDTable elmondhatja, hogy nagy hiányosságok lesznek (nem kívánt adatok sorával) a kívánt adatokkal rendelkező sorok között,EDDGridFromEDDTable úgy dönthet, hogy több albekezdést tesz az alapjául szolgáló EDDTable-nek, ahelyett, hogy egy nagy kérés lenne, ezáltal kihagyva az adatok nem kívánt sorát a nagy szakadékokban. A döntés érzékenységét a gapThreshold érték irányítja, amint azt a<gapThreshold> címke (default=1000 sor forrásadatok) ... A gapThreshold beállítása egy kisebb számhoz vezet az adatkészletkészítéshez (általában általában) további alkérdések. A gapThreshold beállítása egy nagyobb számhoz vezet az adatkészletkészítéshez (általában általában) Kevésbé kérelmek.
Ha a gapThreshold túl kicsi,EDDGridAz FromEDDTable lassabban működik, mert a többszörös kérések túlnyomó része nagyobb lesz, mint az által, hogy túlzott adatokat kapjon. Ha a gapThreshold túl nagy,EDDGridAz FromEDDTable lassan működni fog, mert az EDDTable-ből annyi túlzott adat kerül visszakerülésre, csak el kell távolítani. (Ahogy a Goldilocks felfedezte, a közép "csak helyes".) A különböző típusú EDDTable adatkészletek túlnyomórésze nagyban változik, így az egyetlen módja annak, hogy megismerje az adatkészlet tényleges legjobb beállítását kísérletezéssel. De nem fog túl rosszul ragaszkodni az alapértelmezéshez.
Egy egyszerű példa: Képzelj el egyetEDDGridTable csak egyaxisVariable (idő, mérete 100000) EgydataVariable (hőmérséklet) , és az alapértelmezett gapThreshold 1000.
- Ha egy felhasználó hőmérsékletet kér\[0💯5000\]A sztride 100, így a szakadék mérete 99, ami kevesebb, mint a gapThreshold. SzóvalEDDGridAz FromTable csak egy kérést tesz lehetővé az EDDTable számára a kérelemhez szükséges összes adatért (a hőmérséklet\[0:5000\]) és dobja el az összes adatsort, amire nincs szüksége.
- Ha egy felhasználó hőmérsékletet kér\[0:2500:5000\]Ez a sztride 2500, így a szakadék mérete 2499, ami nagyobb, mint a gapThreshold. SzóvalEDDGridA táblázat külön kéréseket tesz az EDDTable-hez, amelyek megfelelnek a hőmérsékletnek\[0 0\], hőmérséklet\[2500\], hőmérséklet\[5000\]...
A szakadék méretének kiszámítása bonyolultabb, ha több tengely van.
Minden felhasználó kérésére,EDDGridFromEDDTable nyomtatás diagnosztikai üzenetek ezzel kapcsolatban ebben aLog.txtfájl.
- [[Ha]]<logLevel>] (#loglevel) bennedatasets.xmlInfo-ra van beállítva, ez olyan üzenetet nyomtat, mint \* nOuterAxes=1 4 nOuterRequests=22 Ha az nOuterAxes=0, a gapThresholdat nem haladták meg, és csak egy kérést fognak tenni az EDDTable-hez. Ha a nOuterAxes>0, a gapThresholdat túllépték, és a nOuterRequests az EDDTable-hez kerül, amely megfelel a baloldali nOuterAxes minden kért kombinációjának. Például, ha az adatkészlet 4axisVariableésdataVariablemint kelet\[Idő\]\[magasság\]\[hosszúság\]\[mélység\]A baloldal (először) A tengely változó az idő.
- Ha<LogLevel> bennedatasets.xmlbe van állítva, további információkat írnak a log.txt fájlra.
EDDGridFromEDDTable csontváz XML
<dataset type="EDDGridFromEDDTable" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1.
For EDDGridFromEDDTable, this only works if the underlying EDDTable
supports updateEveryNMillis. -->
<gapThreshold>...</gapThreshold> <!-- 0 or 1. The default is 1000. >
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<axisVariable>...</axisVariable> <!-- 1 or more -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
<dataset>...</dataset> <!-- The underlying source EDDTable dataset. -->
</dataset>
ED*AERDDAP
EDDGridFromErdap rajtolt adatok kezelése egy távolbólERDDAP™szerver. EDDTableFromErddap kezeli a mesés adatokat távolrólERDDAP™szerver.
- EDDGridFromErddap és EDDTableFromErddap másképp viselkednek az összes többi adatkészletbőlERDDAP...
- Mint más típusú adatkészletek, ezek az adatkészletek információkat kapnak a forrásból származó adatkészletről, és emlékezetben tartják.
- Mint más típusú adatkészletek, amikorERDDAP™adatkészletek keresése, megjeleníti az adathozzáférési formanyomtatványt ( datasetID .html) vagy megjeleníti a Make A Graph forma ( datasetID .gráf) ,ERDDAP™a memóriában található adatkészlettel kapcsolatos informáci ókat használja.
- EDDGridFromErddap és EDDTable FromErddap az alapjahálók/klaszterek/szövetségekaERDDAPs, amely hatékonyan terjeszti a CPU használatát (többnyire térképek készítéséhez) memóriafelhasználás, adatkészlet-tárolás és sávszélesség egy nagy adatközpont használatával.
Átirányítás
- Más típusú adatkészletekkel ellentétben, amikorERDDAP™kérelmet kap ezekből az adatokból vagy képekből,ERDDAP átirányítása távoli kérelemERDDAP™szerver. Az eredmény:
- Ez nagyon hatékony (CPU, memória és sávszélesség) mert egyébként
- A kompozitERDDAP™meg kell küldeni a kérést a másiknakERDDAP™ (amely időt vesz igénybe) ...
- A másikERDDAP™meg kell szereznie az adatokat, meg kell reformálnia, és továbbítja az adatokat az összetettnekERDDAP...
- A kompozitERDDAP™meg kell kapni az adatokat (sávszélesség) megreformálja (CPU és memória használata) és továbbítja az adatokat a felhasználónak (sávszélesség) ... A kérelem átirányításával és a másik engedélyezésévelERDDAP™a válasz közvetlenül a felhasználóra, az összetettERDDAP™lényegében nincs CPU idő, memória vagy sávszélesség a kérésre.
- Az átirányítás átlátható a felhasználó számára az ügyfélszoftvertől függetlenül (böngésző vagy más szoftver vagy parancssor eszköz) ...
- Ez nagyon hatékony (CPU, memória és sávszélesség) mert egyébként
- ElmondhatjaERDDAP™nem átirányítani minden felhasználói kérelmet a beállítással<Átirányítás>hamis</redirect>, de ez negates a legtöbb előnye a ...FromErddap adatkészlet típus (nevezetesen, szétszórva a terhelést a front végénERDDAP™a távoli / backendERDDAP) ...
Előfizetések
Normális esetben, ha egyEDDGridFromErddap és EDDTable FromErddap (Újra) Töltsd be magadERDDAPPróbálnak feliratot adni a távoli adatkészlethez távolrólERDDAPe-mail/URL előfizetési rendszer. Így, amikor a távoli adatkészlet megváltozik, a távoliERDDAP™Kapcsolatok asetDataset Flag URLa teERDDAP™Annak érdekében, hogy a helyi adatkészlet újratöltse az ASAP-ot, és hogy a helyi adatkészlet mindig tökéletesen naprakész legyen, és bevándorolja a távoli adatkészletet. Tehát, az első alkalommal, amikor ez megtörténik, kap egy e-mailt, amely arra kéri, hogy érvényesítse az előfizetést. Ha azonban a helyiERDDAP™nem küldhet e-mailt, vagy ha a távoliERDDAP"Az e-mail / URL előfizetési rendszer nem aktív, el kell küldenie a távoliERDDAP™adminisztrátor és kéri, hogy a s/he manuálisan adja hozzá [[szerkesztés]]]<onChange>] (#onchange) ...</onChange> címkék az összes releváns adatkészlethez, hogy felhívja az adatkészletétsetDataset Flag URL-ek... Lásd:ERDDAP™napi jelentés a setDataset listájáról zászló URL-ek, de csak küldje el aEDDGridFromErddap és EDDTableFromErddap adatkészletek a távoliERDDAP™adminisztrátor.
Ez nem működik? A helyi adatkészletek nem maradnak szinkronban a távoli adatkészletekkel? Számos dolognak helyesen kell működnie ehhez a rendszerhez ahhoz, hogy az adatkészletek naprakészek maradjanak. Ellenőrizze ezeket a dolgokat rendben:
- AERDDAP™Képesnek kell lennie e-maileket küldeni. Lásd az e-mail beállításokat a setup.xml-ben.
- Általában (de nem mindig) A teERDDAPA<alapUrl> és<baseHttpsUrl> nem rendelkezik portszámmal (pl.:8080, :8443) ... Ha igen, használjon egyProxypasstávolítsa el a kikötőt az Urltól.
- A beállításban.xml,<Az SubscribeToRemoteErddapDataset>-t igaznak kell alávetni.
- Amikor a helyi EDD... FromErddap adatkészlet újratöltése, meg kell küldeni a kérést a távoliERDDAP™feliratkozni a távoli adatkészletre. Nézze meg a log.txtot, hogy megnézze, ez megtörténik-e.
- Kell kapni egy e-mail kéri, hogy érvényesítse az előfizetési kérést.
- Kattintson az e-mailben lévő linkre az előfizetési kérelem érvényesítéséhez.
- A távoliERDDAP™Azt kell mondani, hogy az érvényesítés sikeres volt. Bármikor kérhet egy e-mailt a távolitólERDDAP™a függő és érvényes előfizetések listájával. Lásd a formát Távol-ErddapBase Url /erddap/subscriptions/list.html .
- Amikor a távoli adatkészlet megváltozik (pl. további adatokat kap) A távoliERDDAP™Próbáljon meg kapcsolatba lépni a flagURL-rel az ÖnénERDDAP... Nem ellenőrizheti ezt, de megkérdezheti a távoli adminisztrátortERDDAP™ellenőrizni ezt.
- AERDDAP™kérelmet kell kapnia annak megállapítására, hogy a flagURL. Nézze meg a log.txtot a "setDatasetFlag.txt?" kérésre (s) és nézze meg, hogy van-e hibaüzenet a kérelmekkel kapcsolatban.
- AERDDAP™meg kell próbálni újratölteni ezt az adatkészletet (talán nem azonnal, de ASAP) ...
up-to-date max (Idő) ?
EDDGrid/TableFromErddap adatkészletek csak megváltoztatja a tárolt információkat minden forrás adatkészlet, ha a forrás adatkészlet"Reload"és néhány metaadat megváltozik (pl. az idő változójaactual\_range) Ezáltal előfizetési értesítést generál. Ha a forrásadatlap olyan adatokkal rendelkezik, amelyek gyakran változnak (például minden második új adat) és használja a"frissítés"rendszer, hogy észrevegyük a gyakori változásokat az alapul szolgáló adatok,EDDGrid/TableFromErddap nem értesíti ezeket a gyakori változásokat, amíg a következő adatkészlet "reload", így aEDDGrid/TableFromErddap nem lesz tökéletesen naprakész. Ezt a problémát minimalizálhatja a forrásadatlap megváltoztatásával<ReloadEveryNMinutes> egy kisebb értékhez (60? 15?) hogy több előfizetési értesítést kapjon, hogy elmondja aEDDGrid/TableFromErddap, hogy frissítse az információt a forrás adatkészlet.
Vagy ha az adatkezelő rendszere tudja, hogy a forrásadatbázisnak új adatai vannak (pl. egy olyan forgatókönyven keresztül, amely másol egy adatfájl helyére) És ha ez nem szuper gyakori (pl. minden 5 percben, vagy kevésbé gyakori) Van egy jobb megoldás:
- Ne használja<frissítésEveryNMillis> a forrásadat naprakész tárolására.
- Állítsa be a forrásadatkészletet<ReloadEveryNMinutes> egy nagyobb számba (1440?) ...
- Vedd fel a forgatókönyvet a forrásadatkészlettelzászló URLközvetlenül, miután másol egy új adatfájl helyére.
Ez vezet a forrásadathoz, hogy tökéletesen naprakész legyen, és azt eredményezi, hogy előfizetési értesítést generáljon, amelyet elküldnekEDDGrid/TableFromErddap adatkészlet. Ez vezetni fogEDDGrid/TableFromErddap adatkészlet, hogy tökéletesen naprak ész (jól, 5 másodpercen belül az új adatok hozzáadása) ... És mindez hatékonyan fog történni (felesleges adatkészlet-reloads nélkül) ...
NemaddAttributes,axisVariablevagydataVariable
Ellentétben más típusú adatkészletek, EDDTableFromErddap ésEDDGridFromErddap adatkészletek nem teszik lehetővé a globális<addAttributes>,<axisVariableGt; vagy<dataVariableGt; szakaszok adatasets.xmlaz adatkészlethez. A probléma az, hogy lehetővé tegyék, hogy ezek ellentmondásokhoz vezetjenek:
- Tegyük fel, hogy megengedett, és hozzáadott egy új globális tulajdonságot.
- Amikor egy felhasználó kériERDDAP™a globális tulajdonságok tekintetében az új tulajdonság megjelenik.
- De amikor egy felhasználó kériERDDAP™egy adatfájl, az ÖnERDDAP™átirányítja a forrás iránti kérelmetERDDAP... AzERDDAP™nem ismeri az új tulajdonságot. Tehát, ha létrehoz egy adatfájlot metaadatokkal, pl. egy.ncfájl, a metaadatnak nem lesz új tulajdonsága.
Két munkakörnyezet van:
- Konvince a forrás adminjaERDDAP™a metaadatára vonatkozó változásokat.
- Az EDDTableFromErddap helyett használjaEDDTableFromDapSequence... Vagy helyetteEDDGridFromErddap, használatEDDGriddalszöveg... Ezek az EDD típusok lehetővé teszik, hogy hatékonyan kapcsolódjon egy adatkészlethez egy távolrólERDDAP™ (de adatkérések átirányítása nélkül) és lehetővé teszik, hogy globális<addAttributes>,<axisVariableGt; vagy<dataVariableGt; szakaszok adatasets.xml... Egy másik különbség: manuálisan kell feliratkoznia a távoli adatkészletre, hogy az adatkészlet az Ön számáraERDDAP™értesülni fognak (keresztülzászló URL) amikor változások vannak a távoli adatkészletben. Így új adatkészletet hoz létre, ahelyett, hogy egy távoli adatkészlethez kapcsolódna.
Egyéb jegyzetek
- Biztonsági okokból,EDDGridFromErddap és EDDTable FromErddap nem támogatja a [[szerkesztés]]]<hozzáférhetőTo> (#Ccessibleto) címke és nem használható távoli adatkészletekkel, amelyek bejelentkezést igényelnek (mert használnak).<hozzáférhetőTo> (#Ccessibleto) ). LásdERDDAPAbiztonsági rendszerbizonyos adatkészletekhez való hozzáférés korlátozása bizonyos felhasználók számára.
- KezdőlapERDDAP™v2.10,EDDGridFromErddap és EDDTableFromErddap támogatja a [[szerkesztés]]<hozzáférhetőViaFiles>] (#Ccessibleviafiles) Tag. Ellentétben más típusú adatkészletek, az alapértelmezett igaz, de az adatkészlet fájlok lesz hozzáférhetőViaFiles csak akkor, ha a forrás adatkészlet is rendelkezik<hozzáférhetőViaFiles> az igazhoz.
- Használhatja aGenerateDatasets Xml programHogy adatasets.xmlcunk az ilyen típusú adatkészlethez. De ezeket a típusú adatkészleteket könnyen kézzel teheti meg.
EDDGridFromErddap csontváz XML
- EDDGridFromErddap csontváz Az XML adathalmaz nagyon egyszerű, mert a szándék csak a távoli adathalmazt jelenti, amely már alkalmas a használatra.ERDDAP:
<dataset type="EDDGridFromErddap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<accessibleViaFiles>...</accessibleViaFiles> <!-- 0 or 1, default=true. -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1
For EDDGridFromErddap, this gets the remote .dds and then gets
the new leftmost (first) dimension values. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<redirect>true(default)|false</redirect> <!-- 0 or 1; -->
</dataset>
EDDTableFromErddap csontváz XML
- A Skeleton XML egy EDDTableFromErddap adatkészlethez nagyon egyszerű, mert a szándék csak a távoli adatkészletet jelenti, amely már alkalmas a használatra.ERDDAP:
<dataset type="EDDTableFromErddap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<redirect>true(default)|false</redirect> <!-- 0 or 1; -->
</dataset>
EDDGridFromEtopo
EDDGridFromEtopo Csak szolgálja aETOPO1 Global 1-Minute Gridded Elevation Adatkészlet (Ice Surface, grid regisztrált, bináris, 2byte int: etopo1\_ice\_g\_i2.zip) amely szét van osztvaERDDAP...
- Csak kettődatasetIDtámogatást nyújtanakEDDGridFromEtopo, így hozzáférhet az adatokhoz a hosszúsági értékek -180-180, vagy a hosszúsági értékek 0-360.
- Soha nincsenek alcímek, mivel az adatok már leírtakERDDAP...
- Tehát a két lehetőség aEDDGridFromEtopo adatkészletek (szó szerint) :
<!-- etopo180 serves the data from longitude -180 to 180 -->
<dataset type="EDDGridFromEtopo" datasetID="etopo180" />
<!-- etopo360 serves the data from longitude 0 to 360 -->
<dataset type="EDDGridFromEtopo" datasetID="etopo360" />
EDDGridFájlok
EDDGridFájlok az összes szuperosztályEDDGridA... Files osztályok. Nem használhatodEDDGridFromFiles közvetlenül. Ehelyett használjon egy alosztálytEDDGridFromFiles kezelni az adott fájltípust:
- EDDGridFromMergeIRFileskezeli az adatokat a hálózatbólMergeIR.gzfájlok.
- EDDGridFromAudioFilesösszesíti az adatokat egy csoport helyi audio fájlokat.
- EDDGridFromNcFileskezeli az adatokat a hálózatbólGRIB .grbfájlok,HDF (v4 vagy v5) .hdffájlok,.ncml mlfájlok ésNetCDF (v3 vagy v4) .ncfájlok. Ez működhet más fájltípusokkal (Például a BUFR) Mi csak nem teszteltük - kérjük, küldjön nekünk néhány minta fájlokat, ha érdekel.
- EDDGridFromNcFilesUnpackegy változataEDDGridFromNcFiles, amely kezeli az adatokat a rácsosNetCDF (v3 vagy v4) .ncés kapcsolódó fájlok, amelyekERDDAP™alacsony szintű csomagok.
Jelenleg nem támogatnak más fájltípusokat. De általában viszonylag könnyű támogatni más fájltípusokat. Lépjen kapcsolatba velünk, ha van kérése. Vagy, ha az adatai egy régi fájlformátumban vannak, amelyet el akarsz költözni, javasoljuk, hogy a fájlok átalakítása legyenNetCDFv3.ncfájlok.NetCDFszéles körben támogatott, bináris formátum, lehetővé teszi a gyors véletlenszerű hozzáférést az adatokhoz, és már támogatottERDDAP...
Files részletekből
A következő információ az összes alosztályra vonatkozikEDDGridFromFiles.
Egy létező dimenzió aggregációja
Minden variációEDDGridFromFiles összesítheti az adatokat a helyi fájlokból, ahol minden fájl 1 (vagy többet) különböző értékek a baloldal számára (először) dimenzió, általában\[Idő\], amely összesítve lesz. Például a dimenziók lehetnek\[Idő\]\[magasság\]\[magasság\]\[hosszúság\], és a fájlok lehetnek az adatok egy (vagy néhány) Időérték (s) egy fájl. Az ebből eredő adatkészlet úgy tűnik, mintha az összes fájl adatát kombinálták volna. Az aggregáció nagy előnyei:
- Az összesített adatkészlet mérete sokkal nagyobb lehet, mint egy fájl kényelmesen (2GB) ...
- A közeli valós idejű adatokhoz könnyű új fájlt hozzáadni a legfrissebb adatcsomaggal. Nem kell újraírnia az egész adatkészletet.
Az aggregáció követelményei:
- A helyi fájloknak nem kell azonosakdataVariables (az adatkészletben meghatározottak szerintdatasets.xml) ... Az adatkészletnek leszdataVariabledefiniáltdatasets.xml... Ha egy adott fájlnak nincs egy adottdataVariable,ERDDAP™szükség szerint hozzáadja a hiányzó értékeket.
- MindendataVariableMUST ugyanazt használjaaxisVariables/dimenziók (az adatkészletben meghatározottak szerintdatasets.xml) ... A fájlokat az első alapján összesítik (baloldali) dimenzió, rendezve felemelkedő sorrendben.
- Minden fájl MAY van adatok egy vagy több értéke az első dimenzió, de nem lehet átfedés között fájlokat. Ha egy fájlnak több mint egy értéke van az első dimenzióban, a MUST értékeket felemelkedő sorrendben kell rendezni, kötelék nélkül.
- Minden fájl MUST pontosan ugyanazokat az értékeket az összes többi dimenzióban. A vizsgálat pontosságát a tesztelés határozza megAxisNDigits...
- Minden fájl MUST pontosan ugyanazegységMetaadata mindennekaxisVariableésdataVariableS. Ha ez egy probléma, akkor használható lehetNcMLvagyNCOa probléma megoldására.
Aggregáció File Names vagy Global Metadata
Minden variációEDDGridAz FromFiles is összesítheti a fájlok egy csoportját azáltal, hogy új baloldalt ad hozzá (először) dimenzió, általában idő, az egyes fájlnévből származó érték alapján, vagy az egyes fájlokban található globális tulajdonság értékétől függően. Például a fájlnév magában foglalhatja az adatok időértékét a fájlban.ERDDAP™akkor hozzon létre egy új idő dimenziót.
Ellentétben a hasonló jellemző a THREDDS,ERDDAP™mindig teremtaxisVariablenumerikus értékekkel (a CF által előírt) Soha nem erős értékek (amelyet nem engedélyeznek a CF) ... SzinténERDDAP™rendezi a fájlokat a számon alapuló összességébenaxisVariableaz egyes fájlokhoz rendelt érték, hogy a tengely változója mindig a CF által előírt értékeket rendezze. A THREDS megközelítése, hogy egy lexikográfiai fajta, amely a fájlnéveken alapul, aggregációkhoz vezet, ahol a tengelyértékek nem rendeződnek (amelyet nem engedélyeznek a CF) ha a fájl nevek másképp rendeződnek, mint amilyennek a származottaxisVariableértékek.
Az egyik ilyen aggregáció létrehozásaERDDAP™Új baloldalt fogsz meghatározni (először) axisVariablekülönleges, pseudo<sourceName>, amely azt mondjaERDDAP™hol és hogyan találjuk meg az új dimenzió értéket minden fájlból.
- A Pseudo formátumasourceNameamely megkapja az értéket egy fájlnévből (Just filename.ext) az \\" fájlName, adatok típus , KivonatRegex , ElfogadásGroupNumber*
- A Pseudo formátumasourceNameamely megkapja az értéket egy fájl abszolút útnevéről \\" PathName, adatok típus , KivonatRegex , ElfogadásGroupNumber* \[Ehhez az út neve mindig használja'/'mint a rendezői szeparátor karakter, soha nem ''.\]
- A Pseudo formátumasourceNameamely az értéket globális tulajdonságból szerezi, \\" globális: tulajdonság név , adatok típus , KivonatRegex , ElfogadásGroupNumber*
- Ez a pseudosourceNamemásképp működik a többiektől: ahelyett, hogy új baloldalt hoznánk létre (először) axisVariableEz helyettesíti a jelenlegi értékétaxisVariablea fájlnévből kivont értékkel (Just filename.ext) ... A formátum az \\" helyettesítő FromFileName, adatok típus , KivonatRegex , ElfogadásGroupNumber*
A megadott alkatrészek leírása:
- tulajdonság név - a globális tulajdonság neve, amely minden fájlban van, és amely tartalmazza a dimenzió értéket.
- adatok típus - Ez meghatározza azokat az adattípusokat, amelyeket az értékek tárolására használnak. Lásd a standard listátadatok típusokazERDDAP™támogatás, kivéve, hogy a String nem engedélyezett itt a tengelyváltoztatások ótaERDDAP™Nem lehet String változók.
Van egy további pseudo adattípus, időFormat= Szilárd TimeFormat Amit mondERDDAP™az érték egy sztring időStampA szigorú időkre alkalmas egységek... A legtöbb esetben a stringTimeFormat lesz egy variáció az egyik ilyen formátumban:
- yyyy-MM-ddT'HH:mm:ss.SSSZ - amely ISO 8601:2004 (EZ) dátumidő formátum. Szüksége lehet egy rövidített verzióra, például,yyyy-MM-ddT'HH:mm:ss vagyyyyy-MM-dd...
- yyyMddHHmmss.SSS - amely az ISO 8601 dátumidő formátumának kompakt verziója. Lehet, hogy szüksége van egy rövidített változata ennek, például yyyMMddHmmss vagy yyyMMMdd.
- M/d/yyyy H:mm:ss.SSS - ami az amerikai slash dátumformátum. Szükség lehet egy rövidített változata ennek, pl. M/d/yyyy.
- yyyDDHHmmssSSS - ez az év, plusz az év nulla beadott napja (pl, 001 = Jan 1, 365 = Dec 31 egy nem-levő évben; ez néha tévesen nevezik Julian dátum) ... Szüksége lehet egy rövidített változata ennek, például yyyyDD.
Ha ezt a pseudo adattípust használja, add hozzá ezt az új változóhoz<addAttributes>:
<att name="units">seconds since 1970-01-01T00:00:00Z</att>
Ha el akarja cserélni az összes időértéket, változtassa az időértéket az egységekben, pl. 1970-01-01T12:00Z.
- KivonatRegex - Ez azrendszeres kifejezés (tutorial) amely magában foglalja a rögzítő csoportot (parentheses) amely leírja, hogyan lehet kivonni az értéket a fájlnévből vagy a globális tulajdonságértékből. Például egy fájlnév, mint S19980011998031.L3b\_MO\_CHL.nc, rögzítő csoport #1, "\dtutorial„A rendszeres kifejezésben S ("\dtutorial) "\dtutorial\.L3b.\* az első 7 számjegyet a „S” után fogja megragadni: 1998001.
- ElfogadásGroupNumber - Ez a rögzítő csoport száma (egy pár parentheses) a rendszeres kifejezésben, amely tartalmazza az érdeklődésre vonatkozó információkat. Általában 1, az első rögzítő csoport. Néha a rögzítő csoportokat más célokra kell használnia a regexben, így a fontos rögzítő csoportszám 2 lesz (a második rögzítő csoport) vagy 3 (a harmadik) stb.
Teljes példa egyaxisVariableamely összesített adatkészletet hoz létre egy új idős tengelyrel, amely az egyes fájlok fájlnévből származó időértékeket kapja
<axisVariable>
<sourceName>\\*\\*\\*fileName,timeFormat=yyyyDDD,S(\\d{7})\\.L3m.\\*,1</sourceName>
<destinationName>time</destinationName>
</axisVariable>
Amikor a "timeFormat=" pseudo adatait használja típus,ERDDAP™2 tulajdonságot ad hozzáaxisVariableúgy tűnik, hogy a forrásból jönnek:
<att name="standard\\_name">time</att>
<att name="units">seconds since 1970-01-01T00:00:00Z</att>
Tehát ebben az esetben,ERDDAP™létrehoz egy új tengelyt, amelyet megneveztek"time"kettős értékekkel (másodpercek 1970-01-01T00:00Z) a 7 számjegy kivonásával a "S" után és a ".L3m" előtt a fájlnévben, és értelmezve azokat, mint az yyyyDDD formátumú időértékeket.
Felírhatja az alapértelmezett bázisidőt (1970-01-01T00:00Z) hozzáadásával egyaddAttributeamely különböző egységeket határoz meg, más alapidővel. Közös helyzet: vannak olyan adatfájlok, amelyek mindegyike egy 1 napos műholdas adatkészlettel rendelkezik, ahol azt szeretné, hogy az időértéke a fájlnévben említett nap déle legyen. (minden nap középpontjában) és szeretné a változótlong\_name"Centered Time" -nak lenni. Egy példa, ami ezt teszi:
<axisVariable>
<sourceName>\\*\\*\\*fileName,timeFormat=yyyyDDD,S(\\d{7})\\.L3m.\\*,1</sourceName>
<destinationName>time</destinationName>
<addAttributes>
<att name="long\\_name">Centered Time</att>
<att name="units">seconds since 1970-01-01T12:00:00Z</att>
</addAttributes>
</axisVariable>
Megjegyzés órák=12 az alapidőben, amely hozzáad 12 órát az eredeti alapidő 1970-01-01T00:00Z.
Teljes példa egyaxisVariableami aggregált adatállományt egy új "run" tengely segítségével teszi (int értékekkel) amely a "runID" globális tulajdonságból származó futási értékeket kapja minden fájlban (olyan értékekkel, mint a "r17\_global", ahol 17 a futó szám) az
<axisVariable>
<sourceName>\\*\\*\\*global:runID,int,(r|s)(\\d+)\\_global,2</sourceName>
<destinationName>run</destinationName>
<addAttributes>
<att name="ioos\\_category">Other</att>
<att name="units">count</att>
</addAttributes>
</axisVariable>
Vegye figyelembe a 2. számú rögzítő csoport használatát, hogy rögzítse a "r" vagy "s" után bekövetkező számjegyeket, és mielőtt "\_global". Ez a példa azt is mutatja, hogyan kell hozzáadni további tulajdonságokat (pl.:ioos\_categoryés egység) a tengely változó.
Külsőleg elnyomott fájlok
-
Adatkészletek, amelyek alkatrészeiEDDGridFromFiles és EDDTable Az FromFiles közvetlenül külsőleg tömörített adatfájlokból szolgálhat adatokat, köztük.tgz,.tar.gz,.tar.gzip,.gz,.gzip,.zip,.bz2és .Z fájlok.
-
Ez meglepően jól működik!
A legtöbb esetben a kis- és közepes méretű adatfájlokkal kapcsolatos lassulás kisebb. Ha lemezterületet kell őriznie, erősen bátorítjuk ezt a funkciót, különösen az idősebb fájlok esetében, amelyek ritkán érhetők el. -
Ments pénzt!
Ez az egyik a kevés funkciókbanERDDAP™ez lehetőséget kínál arra, hogy sok pénzt takarítson meg (bár a kissé csökkent teljesítmény költségénél) ... Ha a tömörítési arány pl. 6:1 (Néha sokkal magasabb lesz) Ezután az adatkészlet adatfájljai csak 1/6-ra lesznek szükségük a lemezterületre. Akkor lehet, hogy 1 RAID (egy adott méretből) 6 RAIDS helyett (azonos méretű) ... Ez egy hatalmas költségmegtakarítás. Remélhetőleg a képesség, hogy tömörítsen néhány fájlt egy gyűjteményben (Az idősebbek?) és ne tömöríts másokat (az újak?) , és ezt bármikor megváltoztatni, minimalizáljuk a hátrányt, hogy tömörítsünk néhány fájlt (lassabb hozzáférés) ... És ha a választás a fájlok tárolása a szalagon (és csak kérésre érhető el, késés után) vs tárolja őket egy RAID-on (és elérhetőERDDAP) , akkor van egy hatalmas előnye, hogy használja a tömörítést, hogy a felhasználók interaktív és (viszonylag) gyors hozzáférés az adatokhoz. És ha ez megmentheti Önt egy további RAID vásárlásától, ez a funkció körülbelül 300 000 dollárt takaríthat meg. -
MindenEDDGridFromFiles alosztályok, ha az adatfájlok egy kiterjesztés jelzi, hogy azok külsőleg tömörített fájlok (Jelenleg:.tgz,.tar.gz,.tar.gzip,.gz,.gzip,.zip,.bz2vagy .Z) ,ERDDAP™elnyomja a fájlokat az adatkészlet gyorsítótárának, amikor olvassa őket (ha már nem szerepelnek a cache-ban) ... Ugyanez igaz a bináris fájlra (pl.:.nc) EDDTableFromFiles alosztályai.
-
EDDTableFromFiles alosztályok nem bináris fájlok (pl.: .csv) , adatfájlok egy kiterjesztéssel jelezve, hogy külsőleg tömörített fájlokat fognak dekompresszálni, mivel a fájl olvasható.
-
KÉRDÉS: Ha a külsőleg tömörített fájl típusa (pl.:.tgzvagy.zip) több mint 1 fájlt támogat a tömörített fájlon belül, a tömörített fájlnak csak 1 fájlt kell tartalmaznia.
-
KÉRDÉS: Ez a funkció feltételezi, hogy a külsőleg tömörített fájlok tartalma nem változik, hogy egy csésze depressziós fájl újrahasznosítható. Ha néhány vagy az összes adatkészlet adatfájlja néha megváltozik, ne tömörítse ezeket a fájlokat. Ez összhangban van a közös használattal, mivel az emberek általában nem tömörítik a fájlokat, amelyeket néha meg kell változtatniuk.
-
<fájlNameRegex> Hogy ez a munka, az adatkészlet<fájlNameRegex> meg kell felelnie a tömörített fájlok nevét. Nyilvánvalóan olyan regexek, mint .\Minden fájl nevet illeszt. Ha specifikus fájltípust ad meg, pl.\↑.ncEzután módosítania kell a regexet, hogy tartalmazza a tömörítés kiterjesztését is, pl. ↑.nc↑.gz(ha az összes fájl lesz valami*.nc.gzfájlok)
-
Jó, ha az adatkészlet tartalmaz egy kompressált és nem tömörített fájlok keverékét. Ez hasznos lehet, ha úgy gondolja, hogy egyes fájlok (pl. régebbi fájlok) Kevesebbet fognak használni, ezért hasznos lenne a lemezterület megmentése azáltal, hogy tömörítené őket. Hogy ez a munka, a<f ájlNameRegex> meg kell felelnie a tömörített és nem tömörített fájlok nevét, például.\vagy .\↑.nc (|↑.gz) (ahol a rögzítő csoport ennek végén meghatározza, hogy.gzopcionális.
-
Jó, ha tömöríti vagy dekompresszálja a gyűjteményben lévő konkrét fájlokat bármikor. Ha az adatkészlet nem használja [<frissítésEveryNMillis> (#updateeverynmillis) Állítsa be az adatkészletetzászlóMondd elERDDAP™az adatkészlet újratöltéséhez, és így észreveheti a változásokat. Érdekes módon különböző tömörítő algoritmusokat és beállításokat használhat a különböző fájlokhoz ugyanazon adatkészletben (pl.:.bz2ritkán használt fájlok esetében,.gznem gyakran használt fájlok, és nem tömörítés gyakran használt fájlok) , csak győződjön meg róla, hogy a regex támogatja az összes olyan fájl kiterjesztését, amelyek használatban vannak, például .\* \.nc (|↑.gz|↑.bz2) ...
-
Természetesen a tömörítési arányok és sebességek a különböző tömörítési algoritmusok változnak a forrásfájl és a beállítások között (pl. kompressziós szint) ... Ha szeretné optimalizálni ezt a rendszert a fájlok számára, végezzen tesztet a különböző tömörítési módszerekről a fájlokkal, és számos tömörítési beállítással. Ha megbízhatóan jót akarsz (nem feltétlenül a legjobb) beállítás, kissé javasoljukgzip (.gz) ...gzipnem teszi a legkisebb tömörített fájlt (ésszerűen közel van) , de nagyon gyorsan tömöríti a fájlt és (fontosabb a fontosabbERDDAP™felhasználók) Nagyon gyorsan elnyomja a fájlt. Plusz,gzipszoftver jön szabványos minden Linux és Mac OS telepítés, és könnyen elérhető a Windows ingyenes eszközökkel, mint a 7Zip és a Linux kiegészítők, mint a Git Bash. Például, hogy tömörítsen egy forrásfájlt a.gzA fájl verziója (ugyanazon fájlnév, de.gzMegjelent) Használat (Linux, Mac OS és Git Bash)
gzip sourceName
Dekompresszálni egy.gzfájl vissza az eredeti, használat gunzip sourceName.gz
A forrásfájlok mindegyikének tömörítése a könyvtárban és az aláírókban, ismételten, használat gzip-r rendezőName
Dekompresszálni az egyeseket.gzfájlok a könyvtárban és az aláírók , ismételten, használat gunzip -r rendezőName
-
WARNING: Ne tömörítse külsőleg (gzip) olyan fájlokat, amelyek már belsőleg tömörítettek! Számos fájl már belsőleg tömörítette az adatokat. Ha te vagygzipEzek a fájlok, a kapott fájlok nem lesznek sokkal kisebbek (<5%) ésERDDAP™pazarolja az időt, hogy depressziós őket, amikor el kell olvasni őket. Például:
-
adatfájlok: pl.,.nc4 és.hdf5 fájl: Néhány fájl belső tömörítést használ; néhány nem. Hogyan lehet elmondani: a tömörített változók "\_ChunkSize" tulajdonságokkal rendelkeznek. Továbbá, ha egy csoport rácsos.ncvagy.hdfA fájlok mind különböző méretűek, valószínűleg belsőleg tömörítettek. Ha ők mind ugyanazok a méretek, nem belsőleg tömörülnek.
-
képfájlok: pl., .gif, .jpg és .png
-
audio fájlok: pl., .mp3 és .ogg.
-
videofájlok: pl. .mp4, .ogv és .webm.
-
Egy szerencsétlen furcsa eset: .wav audio fájlok hatalmasak és nem belsőleg tömörítettek. Jó lenne tömöríteni (gzip) Ezek, de általában nem szabad, mert ha megteszi, a felhasználók nem tudják játszani a kompressált fájlokat a böngészőben.
-
Test Case: tömörítés (velegzip) adatkészlet 1523 rácsos.ncfájlok.
- A forrásfájlokban szereplő adatok sparse (sok hiányzó érték) ...
- A teljes lemezterület 57 GB-ból indult, mielőtt a tömörítés 7 GB-ra kerülne.
- Az 1 időpontból származó sok adat kérése<1 s a tömörítés előtt és után.
- 1 adatpont kérése 365 időponthoz (a legrosszabb helyzet) 4-ről 71-re ment.
Számomra ez minden adatkészlet ésszerű kikapcsolása, és minden bizonnyal olyan adatkészletek esetében, amelyeket gyakran használnak.
-
Belső versus külső kompresszió - Összehasonlítva a belső fájlkompresszió által kínált.nc4 és.hdf5 fájl,ERDDAPA külsőleg tömörített bináris fájlok megközelítése előnyökkel és hátrányokkal jár. A hátrány az, hogy egy alkalommal olvassa el egy kis részét egy fájl, belső tömörítés jobb, mertEDDGridA Files csak néhány darabot kell dekompresszálni (s) a fájl, nem az egész fájl. DeERDDAPA megközelítésnek van néhány előnye:
- ERDDAP™támogatja az összes adatfájl tömörítését (bináris és nem bináris, pl..nc3 és .csv) nem csak.nc4 és.hdf4. 4.
- Ha egy fájl tömegét rövid idő alatt többször kell olvasni, akkor időt takarít meg a fájl lebontására egyszer, és sokszor olvassa el. Ez történikERDDAP™ha egy felhasználó használja a Make-A-Graph-ot az adatkészlethez, és egy sor apró változtatást tesz a grafikonra.
- Az a képesség, hogy tömörített fájlokat, és nem tömörített fájlokat ugyanabban a gyűjteményben, lehetővé teszi, hogy több ellenőrzést, amelyen a fájlok tömörülnek, és amelyek nem. És ez a hozzáadott ellenőrzés nem igazán módosítja a forrásfájlot (mivel tömöríthet egy fájlt pl..gzEzután dekompresszálja, hogy megkapja az eredeti fájlt) ...
- Az a képesség, hogy bármikor megváltoztassa, hogy egy adott fájlt tömörítenek-e, és hogyan tömörítik (különböző algoritmusok és beállítások) nagyobb ellenőrzést biztosít a rendszer teljesítménye felett. És könnyedén visszaállíthatja az eredeti elnyomatlan fájlt bármikor.
Bár a megközelítés sem győztes minden helyzetben, egyértelmű, hogyERDDAP"A külsőleg tömörített f ájlokból származó adatok kiszolgálásának képessége a külső tömörítést ésszerű alternatívá teszi a belső kompresszióval.nc4 és.hdf5. 5. 5. Ez jelentős, mivel a belső tömörítés az egyik fő oka annak, hogy az emberek használják.nc4 és.hdf5. 5. 5.
Dekompresszált Cache
ERDDAP™a tömörített bináris depressziós változata (pl.:.nc) adatfájl, ha el kell olvasnia a fájlt. A depressziós fájlokat az adatkészlet könyvtárában tartják bigParentDirectory[szerkesztés] /dekompresszált/ A nemrégiben nem használt depressziós fájlokat törölni fogják, hogy felszabadítsák a helyet, amikor a kumulatív fájlméret > 10 GB. Ezt megváltoztathatja a beállítással<DekompressedCacheMaxGB> (default=10) adatkészletekben Xml.xml, pl.
<decompressedCacheMaxGB>40</decompressedCacheMaxGB>
Továbbá, az elmúlt 15 percben nem használt depressziós fájlokat törölni fogják minden jelentős adatkészlet-visszatöltés kezdetén. Ezt megváltoztathatja a beállítással<DekompressedCacheMaxMinutesOld> (default=15) adatkészletekben Xml.xml, pl.
<decompressedCacheMaxMinutesOld>60</decompressedCacheMaxMinutesOld>
Nagyobb számok szépek, de a depressziós fájlok kumulatív mérete okozhat bigParentDirectory[szerkesztés] kifutni a lemezterületről, ami súlyos problémákat okoz.
- Mivel a fájl dekompresszálása jelentős időt vehet igénybe (0,1-10 másodpercig) A tömörített fájlokkal rendelkező adatkészletek előnyösek lehetnek az adatkészlet beállításában [<nThreads>] (#nthreads) egy magasabb szám beállítása (2? 3? 4?) ... Még magasabb számok hátrányai (pl. 5? 6? 7?) csökkenti a visszatéréseket, és az egyik felhasznál ó kérése a rendszer erőforrásainak nagy százalékát használhatja, így jelentősen lelassítja a többi felhasználó kérésének feldolgozását. Így nincs ideális nThreads beállítás, csak különböző következmények különböző helyzetekben különböző beállításokat.
Osztott dimenziós értékek
Az értékek minden dimenzióban MUST lehet rendezett rendben (felemelkedő vagy leszármazott, kivéve az elsőt (baloldali) olyan dimenzió, amelyet fel kell emelkedni) ... Az értékek szabálytalanul helyreállhatnak. Nem lehetnek kapcsolatok. Ez a követelmény aCF metaadat szabvány... Ha bármely dimenzió értéke nem rendezett rendben van, az adatkészlet nem lesz betöltve ésERDDAP™azonosítja az első fel nem szorított értéket a logfájlban, bigParentDirectory[szerkesztés] /logs/log.txt .
A nem szorított dimenziós értékek szinte mindig problémát jelentenek a forrásadatokkal. Ez a leggyakrabban akkor fordul elő, amikor egy tévhit vagy nem megfelelő fájl szerepel a gyülekezetben, ami egy szorulatlan idő dimenzióhoz vezet. A probléma megoldásához lásd a hibaüzenetetERDDAP™log.txt fájl, hogy megtalálja a megsértő időértéket. Ezután nézze meg a forrásfájlokat, hogy megtalálja a megfelelő fájlt (vagy egy előtt vagy után) ez nem tartozik a gyülekezetbe.
Rendezők
A fájlok MAY lehet egy könyvtárban, vagy egy könyvtárban és az aláírók (ismétlődően) ... Ha nagyszámú fájl van (Például:>1,000) , operációs rendszer (és ígyEDDGridFájlok) sokkal hatékonyabban fog működni, ha a fájlokat egy sor aláíróban tárolja (egy évente, vagy havonta egy adatkészletek nagyon gyakori fájlokkal) Annak érdekében, hogy soha ne legyen sok fájl egy adott könyvtárban.
<cacheFromUrl>
MindenEDDGridFromFiles és az összes EDDTableFromFiles adatkészlet támogatja egy sor címkét, amelyek elmondjákERDDAP™letölteni és fenntartani egy másolatot az összes távoli adatkészlet fájlok, vagy egy csésze néhány fájl (letöltve, amennyire szükséges) ... Ez hihetetlenül hasznos lehet. Lásd:Húsvét FromUrl dokumentáció...
Távoli könyvtárak és HTTP Range kérések
(AKA Byte Serving, Byte Range kéri, elfogadja a szabályokathttpFejlesztő)
EDDGridFromNcFiles, EDDTableFromMultidimNcFiles, EDDTableFromNcFiles és EDDTableFromNcCFFiles, can can Néha néha szolgáltatott adatok.ncfájlok távoli szervereken és a HTTP-n keresztül elérhetők, ha a szerver támogatjaByte ServingHTTP tartományi kérések (HTTP mechanizmus a byte szolgáló) ... Ez azért lehetséges, mert netcdf-java (melyikERDDAP™Használat az olvasáshoz.ncfájlok) támogatja az adatok távolról történő olvasását.ncfájlok HTTP tartomány kérések.
Ne csináld ezt! Ez szörnyen nem hatékony és lassú. Ehelyett használja a [[szerkesztés]]]<cacheFromUrl> rendszer (#cachefromurl) ...
HozzáférésERDDAP™adatkészletek, mint fájlok byte range kéréseken keresztül - Flipping ezt körül, mert lehet (elmélet) Gondolj egy adatkészletreERDDAP™mint óriás.ncfájlt a "Csak" beállításával.nc"Az OPen bázisraDAPURL egy adott adatkészlethez (pl.: https://myserver.org/erddap/griddap/datasetID.nc és egy ?query hozzáadása után is, hogy megadja az aljzatot) Talán ésszerű megkérdezni, hogy használhatja-e a netcdf-java-t,Ferretvagy másNetCDFkliens szoftver az adatok olvasásához HTTP Range kérésekERDDAP... A válasz nem, mert nincs igazán hatalmas ".nc"fájl. Ha ezt akarod csinálni, ehelyett tedd meg az egyik ilyen lehetőséget:
- Használat(OPeN)DAPügyfélszoftver, hogy csatlakozzon a griddap szolgáltatások által kínáltERDDAP... Ez az, amiDAP (és ígyERDDAP) tervezték. Nagyon hatékony.
- Vagy letöltse a forrás fájlt (s) a"files"rendszerrendszer (vagy subset fájl egy.nc? Lekérdezés) a számítógépére, és netcdf-java-t használ,Ferretvagy másNetCDFügyfél szoftver olvasni (most) helyi fájl (s) ...
Cached File Információ
Amikor egyEDDGridFromFiles adatkészlet első betöltése,EDDGridFromFiles az összes releváns fájlból olvas információt, és táblákat hoz létre (Egy sor minden fájlhoz) minden érvényes fájlról és minden "rossz" (különböző vagy érvénytelen) fájl.
- Az asztalokat is tárolják a lemezen, mintNetCDFv3.ncfájlok bigParentDirectory[szerkesztés] /dataset/ Last2CharsOfDatasetID / datasetID / fájlok neve: dirTable.nc (amely az egyedi könyvtár nevek listáját tartalmazza) , fájl táblázat.nc (amely az asztalt minden érvényes fájl információjával tartja) , rosszfiókok.nc (amely az asztalt minden rossz fájl információjával tartja) ...
- A hozzáférés gyorsítása egyEDDGridFromFiles adatkészlet (de több memóriát használva) Használhatja
true
Mondd elERDDAP™tartsa a fájlinformációs táblák másolatát az emlékezetben.
- A lemezen található fájlinformációs táblák másolata akkor is hasznos, haERDDAP™le van zárva és újraindítva: megmentEDDGridA Files-től, hogy újra kell olvasnia az összes adatfájlot.
- Amikor egy adatkészletet újratöltik,ERDDAP™csak az adatokat kell olvasni az új fájlokban és fájlokban, amelyek megváltoztak.
- Ha egy fájlnak más szerkezete van a többi fájlból (Például egy másik adattípus az egyik változó számára, vagy egy másik érték a "egység- tulajdonság) ,ERDDAPhozzáadja a fájlt a "rossz" fájlok listájához. Információk a probléma a fájl lesz írva a bigParentDirectory[szerkesztés] /logs/log.txt fájl.
- Soha nem kell törölnie vagy dolgoznia ezeket a fájlokat. Az egyik kivétel: ha még mindig megváltoztatja az adatkészletetdatasets.xmlbeállítás, lehet, hogy törölni ezeket a fájlokat kényszeríteniERDDAP™az összes fájl újraindítása, mivel a fájlokat másképp olvassák/értelmezik. Ha valaha is törli ezeket a fájlokat, akkor megteheti, haERDDAP™fut. (Ezután állítsa be azászlóaz adatkészlet újratöltése ASAP.) Azonban,ERDDAP™általában észreveszi, hogy adatasets.xmlaz információ nem egyezik a fájllal Asztalinformációk és a fájltáblák automatikusan törlése.
- Ha bátorítani akarszERDDAP™a tárolt adatkészlet információjának frissítése (például, ha csak hozzáadott, eltávolított vagy módosított néhány fájlt az adatkészlet adattárához) Használja azászlórendszerKényelemERDDAP™a csatolt fájlinformációk frissítése.
Kérések kezelése
Amikor az ügyfél adatkérelme feldolgozásra kerül,EDDGridA Files gyorsan megvizsgálhatja az asztalt az érvényes fájlinformációkkal, hogy megnézze, mely fájlok rendelkeznek a kért adatokkal.
A Cached File információ frissítése
Amikor az adatkészletet újratöltik, a csésze fájlinformációkat frissítik.
- Az adatkészletet rendszeresen újratöltik, amint azt a<reloadEveryNMinutes> az adatkészlet információibandatasets.xml...
- Az adatkészletet a lehető leghamarabb újratöltik, haERDDAP™kimutatja, hogy hozzáadott, eltávolított,touch'd (a fájl utolsó módosítása Módosított idő) vagy módosított egy adatszűrőt.
- Az adatkészlet a lehető leghamarabb újratöltődik, ha használjazászlórendszer...
Amikor az adatkészletet újratöltik,ERDDAP™összehasonlítja a jelenleg rendelkezésre álló fájlokat a csatolt fájlinformációs táblákhoz. Új fájlokat olvasnak és hozzáadnak az érvényes fájlok táblázatához. Azok a fájlok, amelyek már nem léteznek, az érvényes fájlok táblájából származnak. Azok a fájlok, ahol a fájl-időmérő változott, olvashatók, és az információjuk frissül. Az új táblák felváltják a régi táblákat a memória és a lemezen.
Bad Files
A rossz fájlok táblázata és az okok, amelyeket a fájlok rossznak nyilvánították (korrupt fájl, a változók hiánya stb.) e-mailben van az e-mailben Minden E-mail cím (valószínűleg te) Minden alkalommal, amikor az adatkészletet újratöltik. A lehető leghamarabb fel kell cserélnie vagy javítania ezeket a fájlokat.
Elhagyni a változókat
Ha néhány fájl nem rendelkezik néhányatdataVariableaz adatkészletben meghatározottdatasets.xmlcunk, ez rendben van. MikorEDDGridFromFiles elolvassa az egyik ilyen fájlt, úgy fog működni, mintha a fájl volt a változó, de minden hiányzó értékek.
FTP hiba / tanács
Ha FTP új adatfájlokat készítERDDAP™szerver,ERDDAP™fut, van esély arra, hogyERDDAP™az FTP folyamat során újratölti az adatkészletet. Gyakrabban fordul elő, mint gondolnád! Ha ez megtörténik, a fájl úgy tűnik, hogy érvényes (érvényes neve) , de a fájl még nem érvényes. HaERDDAP™megpróbálja elolvasni az adatokat ebből az érvénytelen fájlból, az ebből eredő hiba okozza a fájlt az érvénytelen fájlok táblázatához. Ez nem jó. A probléma elkerülése érdekében használjon ideiglenes fájlnévet, amikor az FTP a fájlt, például az ABC2005.nc\_TEMP . Ezután a fájlNameRegex teszt (lásd alább) jelzi, hogy ez nem releváns fájl. Miután az FTP folyamat befejeződött, nevezze át a fájlt a helyes névre. A megnevezési folyamat azt fogja okozni, hogy a fájl egy pillanat alatt releváns legyen.
"0 fájl" hibaüzenet
Ha futszGenerateDatasetsXmlvagyDasDdsvagy ha megpróbálsz betölteni egyEDDGridFiles adatkészletERDDAP™, és kap egy "0 fájl" hibaüzenetet, amely jelzi, hogyERDDAP™talált 0 megfelelő fájlokat a könyvtárban (ha úgy gondolja, hogy van egyező fájlok ebben a könyvtárban) :
- Ellenőrizze, hogy a fájlok valóban ebben a könyvtárban vannak.
- Ellenőrizze a könyvtár neve varázslatát.
- Ellenőrizze a fájlNameRegex. Valójában nagyon könnyű hibákat hibáztatni a regexekkel. Tesztcélok esetén próbálja meg a regex .\*-t, amely minden fájlnévhez illeszkedik. (Lásd eztregex dokumentációésregex bemutató...)
- Ellenőrizze, hogy a felhasználó, aki fut a program (pl. felhasználó=tomcat (?) Tomcat/ERDDAP) "olvassa" az engedélyt ezekre a fájlokra.
- Egyes operációs rendszerekben (például SELinux) és a rendszerbeállításoktól függően a felhasználónak, aki futtatja a programot, „olvassa” a könyvtárak egész láncolatát, amely a fájlokat tartalmazó könyvtárhoz vezet.
EDDGridFromFiles csontváz XML
- A csontváz XML mindenkinekEDDGridFromFiles alosztályok:
<dataset type="EDDGridFrom...Files" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1. For
EDDGridFromFiles subclasses, this uses Java's WatchDirectory system
to notice new/deleted/changed files quickly and efficiently. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<matchAxisNDigits>...</matchAxisNDigits> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<fileDir>...</fileDir> <-- The directory (absolute) with the
data files. -->
<recursive>true|false</recursive> <!-- 0 or 1. Indicates if
subdirectories of fileDir have data files, too. -->
<pathRegex>...</pathRegex> <!-- 0 or 1. Only directory names which
match the pathRegex (default=".\") will be accepted. -->
<fileNameRegex>...</fileNameRegex> <-- 0 or 1. A
regular expression (tutorial) describing valid data
file names, for example, ".\\.nc" for all .nc files. -->
<accessibleViaFiles>true|false(default)</accessibleViaFiles>
<!-- 0 or 1 -->
<metadataFrom>...</metadataFrom> <-- The file to get
metadata from ("first" or "last" (the default) based on file's
lastModifiedTime). -->
<fileTableInMemory>...</fileTableInMemory> <!-- 0 or 1 (true or
false (the default)) -->
<cacheFromUrl>...</cacheFromUrl> <!-- 0 or 1 -->
<cacheSizeGB>...</cacheSizeGB> <!-- 0 or 1 -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<axisVariable>...</axisVariable> <!-- 1 or more -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
</dataset>
EDD*AudioFiles
EDDGridFromAudioFiles és EDDTableFromAudioFiles összesített adatok a helyi audiofájlok gyűjteményéből. (Ezek az első megjelentekERDDAP™v1.82.) A különbség az, hogyEDDGridAz FromAudioFiles az adatokat többdimenziós adatkészletként kezeli (általában 2 dimenzióval:\[fájl indítása Idő\]és\[elapadt Idő egy fájlon belül\]) , mivel az EDDTableFromAudioFiles az adatokat takaró adatokként kezeli (általában oszlopok a fájl indítása, az elapsedTime a fájl, és az adatok az audio csatornák) ...EDDGridFromAudioFiles megköveteli, hogy minden fájl ugyanazon számú mintával rendelkezik, így ha ez nem igaz, akkor EDDTableFromAudioFiles-t kell használnia. Ellenkező esetben az EDD-típus használatának választása teljesen a választás. Az EDDTableFromAudioFiles egyik előnye: más változókat is hozzáadhat más információkkal, példáulstationID, állomásType. Mindkét esetben az egységes időváltozat hiánya nehezebbé teszi az ilyen EDD-típusok adataival való együttműködést, de nem volt jó módja annak, hogy egységes időváltozatot hozzon létre.
Lásd ezeket az osztályokat,EDDGridFájlokésEDDTableFromFilesÁltalános információk arról, hogyan működik ez az osztály, és hogyan kell használni.
Erősen ajánljuk a használatátGenerateDatasets Xml programegy durva tervezetet készítenidatasets.xmlcunk ehhez az adatkészlethez. Mivel az audiofájlok nem rendelkeznek más metaadatokkal, mint a hangadatok kódolásával kapcsolatos információk, meg kell szerkeszteni a kimenetet a GenerateDatasets-től Xml, hogy alapvető információkat nyújtson (pl. cím, összefoglaló,creator\_name, intézmény, történelem) ...
Részletek:
- Számos audio fájlformátum létezik. Jelenleg,ERDDAP™olvashat adatokat a legtöbb .wav és .au fájlból. Jelenleg nem olvashat más típusú audio fájlokat, például .aiff vagy .mp3. Ha támogatásra van szüksége más audio fájlformátumok vagy más változatok .wav és .au, kérjük, küldje el a kérését Chris. John at noaa.gov. Vagy, mint egy munkakör, amit most használhat, átalakíthatja az audio fájlokat PCM\_ SIGNED (Integrációs adatok) PCM\_FLOAT (lebegő pont adatok) .wav fájlok, hogyERDDAP™dolgozhat velük.
- Jelenleg,ERDDAP™elolvashatja az audio fájlokat azzal, amitJava"Az AudioFormat osztály PCM\_FLOAT, PCM\_SIGNED, PCM\_UNSIGNED, ALAW és ULAW kódolásokat hív.ERDDAP™átalakítja a PCM\_UNSIGNED értékeket (pl. 0-255) aláírt értékek (pl.: 128-128) a bitek átrendezése az adatértékekben.ERDDAP™átalakítja az ALAW és az ULAW kódolt az őshonos kódolt byte formátumból rövidre (Int16) értékek. ótaJavabigEndian=igazi adatokat akar,ERDDAP™átrendezi a bigEndian=false-vel tárolt adatok byteáit (kis endian) annak érdekében, hogy helyesen olvassa el az értékeket. Minden más kódoláshoz (PCM) ,ERDDAP™olvassa el az adatokat, mint az.
- MikorERDDAP™elolvassa az adatokat az audio fájlokból, a fájl elérhető audio metaadatát globális tulajdonságokra konvertálja. Ez mindig tartalmazza (mintaértékekkel)
Hangszóró audioBigEndian "hamis"; //igaz vagy hamis Int audio Csatornák 1; Hangsúlyozva a "PCM\_SIGNED" -t; Float audioFrameRate 96000.0; //per második az audioFrameSize 2; //# adat bytes per frame Float audioSampleRate 96000.0; //per második int audioSampleSizeInBits 16; //# bits / csatorna / minta
MertERDDAPA cél, a keret szinonimája egy mintával, ami az adatok egy időben. A tulajdonságok aERDDAP™lesz az információ, amely leírja az adatokat, mivel a forrásfájlokban volt.ERDDAP™Gyakran megváltoztatta ezt az adatokat, például a PCM\_UNSIGNED, az ALAW és az ULAW kódolt adatok átalakulnak a PCM\_SIGNED-re, és a bigEndian=hamis adatok átalakulnak a bigEndian=true adatokra (Így vanJavael akarja olvasni) ... A végén az adatértékek aERDDAP™mindig lesz azPCM kódolvaadatértékek (azaz a hanghullám egyszerű digitalizált mintái) ...
- MikorERDDAP™elolvassa az adatokat az audio fájlokból, az egész fájlt olvassa el.ERDDAP™csatornánként körülbelül 2 milliárd mintát olvashat. Például, ha a mintavételi ráta másodpercenként 44.100 minta, 2 milliárd minta lefordítható körülbelül 756 percnyi hangadattal. Ha több audió fájlja van, mint ez az adatmennyiség, meg kell szakítania a fájlokat kisebb darabokra, hogyERDDAP™olvassa el őket.
- MertERDDAP™teljes audiofájlokat olvas,ERDDAP™nagy mennyiségű memóriához kell hozzáférnie ahhoz, hogy nagy audiofájlokkal dolgozzon. LásdERDDAPmemória beállítások... Ismét, ha ez egy probléma, egy munkakör, amelyet most használhat, az, hogy a fájlokat kisebb darabokra bontja, hogyERDDAP™kevesebb memóriával olvashatjuk őket.
- Egyes audiofájlokat helytelenül írtak.ERDDAP™kis erőfeszítést tesz az ilyen esetek kezelésére. De általában, ha van egy hiba,ERDDAP™dob egy kivételt (és elutasítja ezt a fájlt) vagy (ha a hiba észrevehetetlen) olvassa el az adatokat (de az adatok helytelenek lesznek) ...
- ERDDAP™nem ellenőrzi vagy megváltoztatja a hang mennyiségét. Ideális esetben az integrált audio adatok az adattípus teljes skáláját használják.
- Az Audio fájlok és az audio szereplők nem rendelkeznek rendszerrel a hiányzó értékekhez (pl. -999 vagy Float.NaN) ... Tehát az audio adatoknak nincs hiányzó értékük. Ha hiányzik az értékek (pl. ha meg kell hosszabbítani egy audio fájlt) Használjon egy 0-as sorozatot, amelyet tökéletes csendként értelmeznek.
- MikorERDDAP™adatokat olvas az audio fájlokból, mindig létrehoz egy elapsed nevű oszlopot Idő minden mintához, másodpercekben (duplákként tárolva) , az első mintához képest (kitűzött Time=0.0 s) ... EzzelEDDGridFromAudioFiles, ez lesz az elapsedTime tengely változó.
- EDDGridFromAudioFiles előírja, hogy minden fájl ugyanazt a számú mintát. Tehát ha ez nem igaz, akkor EDDTableFromAudioFiles-t kell használnia.
- MertEDDGridFromAudioFiles, javasoljuk, hogy állítsa be [[szerkesztés]]<dimenzióValuesInMemory>] (#dimenziós érzelmek) hamis (a GenerateDatasets által ajánlott Xml) Mivel az időméretnek gyakran számos értéke van.
- MertEDDGridFromAudioFiles, szinte mindig használja aEDDGridFromFiles rendszerAggregáció keresztül File nevek- szinte mindig a felvételi dátum kivonásával Idő a fájlnévből. Például,
<sourceName>\\*\\*\\*fileName,"timeFormat=yyyyMMdd'\\_'HHmmss",aco\\_acoustic\\.(\\[0-9\\]{8}\\_\\[0-9\\]{6})\\.wav,1</sourceName>
GenerateDatasets Az Xml ezt ösztönzi, és ezzel segít.
- Az EDDTableFromAudioFiles számára szinte mindig használja az EDDTableFromFiles rendszert\\\*fileName pseudosourceNamesinformáció kivonása a fájl nevét (szinte mindig az indulási dátum Idő a felvételhez) és népszerűsítse azt, hogy az adatok oszlopa legyen. Például,
<sourceName>\\*\\*\\*fileName,aco\\_acoustic\\.(\\[0-9\\]{8}\\_\\[0-9\\]{6})\\.wav,1</sourceName>
Ezután meg kell határozni az időformátumot, mint az egységeket:<att name="units" - YyMMdd'\_'HHmmss</att>
EDDGridFromMergeIRFiles
EDDGridFromMergeIRFiles összesíti a helyi adatok adatait,MergeIRfájlok, amelyek aTrópusi Rainfall mérési misszió (TRMM) , amely közös küldetés a NASA és a Japán Aerospace Exploration Agency között (JAXA) ... Merge Az IR fájlok letölthetőkNASA...
EDDGridFromMergeIRFiles.java írta és hozzájárult aERDDAP™Jonathan Lafite és Philippe Makowski R.Tech Engineering (licenc: szerzői jogi nyílt forráskód) ...
EDDGridFromMergeIRFiles egy kicsit szokatlan:
- EDDGridFromMergeIRFiles támogatja a tömörített vagy elnyomott forrásadat fájlokat, bármilyen kombinációban, ugyanazon adatkészletben. Ez lehetővé teszi például, hogy tömörítse az idősebb fájlokat, amelyek ritkán elérhetők, de az új fájlokat gyakran hozzáférnek. Vagy megváltoztathatja az eredeti tömörítés típusát. Z például,.gz...
- Ha ugyanazon adatfájlok tömörített és elnyomatlan verziói vannak ugyanabban a könyvtárban, győződjön meg róla, hogy<fájlNameRegex> az adatkészlet illeszti a fájlnéveket, hogy azt akarja, hogy megfeleljen, és nem egyezik fájlnévvel, hogy nem akarja, hogy megfeleljen.
- A nem elnyomott forrásadat fájloknak nem kell fájl kiterjesztése (i.e., nem ". a fájlnévben) ...
- A kompressált forrásadatfájloknak fájl kiterjesztéssel kell rendelkezniük, deERDDAP™meghatározza a tömörítés típusát a fájl tartalmának ellenőrzésével, nem pedig a fájl kiterjesztésének megtekintésével (Például: ".Z") ... A támogatott kompressziós típusok magukban foglalják a "gz", "bzip2", "xz", "lzma", "snappy-raw", "snappy-framed", "pack200" és "z". MikorERDDAP™tömörített fájlokat olvas, decompresses on-the-fly, írás nélkül egy ideiglenes fájlt.
- Minden forrásadatfájlnak az eredeti fájl elnevezési rendszert kell használnia: azaz a merg\_ YYYMMDHH \_4km-pixel (ahol YYYMMDHH jelzi az adatokhoz kapcsolódó időt a fájlban) , plusz egy fájl kiterjesztése, ha a fájlt tömörítik.
Lásd ezt az osztályt,EDDGridFájlokÁltalános információk arról, hogyan működik ez az osztály, és hogyan kell használni.
Erősen ajánljuk a használatátGenerateDatasets Xml programegy durva tervezetet készítenidatasets.xmlcunk ehhez az adatkészlethez. Ezután szerkesztheti ezt, hogy finomhangolja azt.
EDDGridFromNcFiles
EDDGridFromNcFiles aggregálja az adatokat a helyi, rácsos,GRIB .grb és .grb2fájlok,HDF (v4 vagy v5) .hdffájlok,.ncml mlfájlok,NetCDF (v3 vagy v4) .ncfájlok ésZarrfájlok (2.25 verzió) ... A Zarr fájlok kissé eltérő viselkedéssel rendelkeznek, és megkövetelik a fájltNameRegex vagy az útRegex, hogy tartalmazza a "zarr".
Ez működhet más fájltípusokkal (Például a BUFR) Csak nem teszteltük - kérjük, küldjön nekünk néhány minta fájlt.
- GRIB fájlokhoz,ERDDAP™.gbx index fájlt készít, először olvassa el az összes GRIB fájlt. Tehát a GRIB-fájloknak olyan könyvtárban kell lenniük, ahol a "felhasználó", amely ran Tomcat olvasott + írásbeli engedélyt.
- Lásd ezt az osztályt,EDDGridFájlokinformáció arról, hogyan működik ez az osztály, és hogyan kell használni.
- KezdőlapERDDAP™v2.12,EDDGridFromNcFiles ésEDDGridFromNcFiles A nem csomagolt adatok a "struktúrákból" olvashatók.nc4 és.hdf4 fájl. A változó azonosítása, amely egy szerkezetből származik,<sourceName> > > > használja a formátumot: fullstructureName | tagName Például a csoport1/myStruct|myMember.
- Erősen ajánljuk a használatátGenerateDatasets Xml programegy durva tervezetet készítenidatasets.xmlcunk ehhez az adatkészlethez. Ezután szerkesztheti ezt, hogy finomhangolja azt.
Csoportok Gridded Nc fájlokban
A Netcdf4 fájlok csoportokat tartalmazhatnak. ERDDAP™csak egy adathalmazt készít az egyik csoportban és az összes szülőcsoportban lévő változókból. Megadhat egy adott csoport nevét a GenerateDatasets-ben Xml (Elhagyni a nyomvonalat) vagy használjon "" GenerateDatasets Xml keresse meg az összes csoportot a változókhoz, amelyek a legtöbb dimenziót használják, vagy használja a "\[gyökér\]"A GenerateDatasets csak a változókat keresi a gyökércsoportban.
Az első dolog, amit a GenerateDatasetsXml tesz az ilyen típusú adatkészlethez, miután válaszol a kérdésekre, kinyomtatja a minta fájl ncdump-szerű szerkezetét. Tehát, ha belépsz néhány goofy válaszra az első hurok számára GenerateDatasets Xml, legalább látni fogja, hogyERDDAP™olvassa el a fájlt, és nézze meg, hogy milyen dimenziók és változók vannak a fájlban. Ezután jobb választ adhat a második hurok számára a GenerateDatasetsXml-en keresztül.
EDDGridFromNcFilesUnpack
EDDGridFromNcFilesUnpack egy változataEDDGridFromNcFilesamely összegyűjti az adatokat a helyi, megfogottNetCDF (v3 vagy v4) .ncés kapcsolódó fájlok. A különbség az, hogy ez az osztály minden adatfájlot kicsomagol, mielőttEDDGridFromFiles a fájlokat nézi:
- Kicsomagolja a változókat, amelyek tele vannakscale\_factorvagyadd\_offset...
- Megtéríti a \_FillValue-t ésmissing\_valueA NaN értékei (vagy MAX\_VALUE az integrált adattípusokhoz) ...
- Idő- és ütemértékeket alakít át"seconds since 1970-01-01T00:00:00Z"...
Ennek az osztálynak a nagy előnye, hogy utat biztosít a különböző értékek kezelésérescale\_factor,add\_offset\_FillValue,missing\_valuevagy időegységek különböző forrásfájlokban egy gyűjteményben. Ellenkező esetben olyan eszközt kell használnia, mintNcMLvagyNCOmódosítani minden fájlt, hogy távolítsa el a különbségeket, hogy a fájlokat lehet kezelniEDDGridFromNcFiles. Ahhoz, hogy ez az osztály megfelelően működjön, a fájloknak követniük kell a kapcsolódó tulajdonságok CF szabványait.
- Ha megpróbálsz csinálniEDDGridFromNcFiles Csomagolatlan egy olyan fájlcsoportból, amellyel korábban kipróbált és nem használtEDDGridFromNcFiles, cd to bigParentDirectory[szerkesztés] /dataset/ Last2Letters / datasetID / ahol Last2Letters az utolsó 2 betűdatasetID, és törölje az összes fájlt ebben a könyvtárban.
- KezdőlapERDDAP™v2.12,EDDGridFromNcFiles ésEDDGridFromNcFiles A nem csomagolt adatok a "struktúrákból" olvashatók.nc4 és.hdf4 fájl. A változó azonosítása, amely egy szerkezetből származik,<sourceName> > > > használja a formátumot: fullstructureName | tagName Például a csoport1/myStruct|myMember.
- Erősen ajánljuk a használatátGenerateDatasets Xml programegy durva tervezetet készítenidatasets.xmlcunk ehhez az adatkészlethez. Ezután szerkesztheti ezt, hogy finomhangolja azt.
A Netcdf4 fájlok csoportokat tartalmazhatnak. Lásdez a dokumentáció...
Az első dolog, amit a GenerateDatasetsXml tesz az ilyen típusú adatkészlethez, miután válaszol a kérdésekre, kinyomtatja a mintafájl ncdump-szerű szerkezetét előtte kicsomagolatlan. Tehát, ha belépsz néhány goofy válaszra az első hurok számára GenerateDatasets Xml, legalább látni fogja, hogyERDDAP™olvassa el a fájlt, és nézze meg, hogy milyen dimenziók és változók vannak a fájlban. Ezután jobb választ adhat a második hurok számára a GenerateDatasetsXml-en keresztül.
EDDGridLonPM180
EDDGridLonPM180 módosítja a gyermek hosszúsági értékeit (bezárt) EDDGridolyan adatkészlet, amely több mint 180 (például 0-360) hogy ők a tartományban -180-180 (Longitude Plus vagy Minus 180, így a név) ...
- Ez lehetőséget ad arra, hogy olyan adatkészleteket hozzanak létre, amelyeknek hosszúsági értékei nagyobbak, mint 180 megfelelnek / aOGCSzolgáltatások (PéldáulWMSszerverERDDAP) Mint mindenOGCA szolgáltatások hosszúsági értékeket igényelnek -180 és 180 között.
- A szüntelenséghez közeli munka problémákat okoz, függetlenül attól, hogy a szüntelenség hosszúságú 0 vagy hosszúságú 180. Ez az adatkészlet típus lehetővé teszi, hogy elkerülje ezeket a problémákat mindenki számára, két változata ugyanazt az adatkészletet: a 0–360 közötti tartományban lévő hosszúsági értékek ("Pacificentric"?) , az egyik hosszúsági értékek a tartományban -180-180 ("Atlanticentric"?) ...
- A 180-nál nagyobb, hosszúsági értékű gyermekadatok esetében az új hosszúsági értékek mindössze 360 fokkal alacsonyabbak. Például egy 180-240-es szélességi értékű adatkészlet az -180–120 közötti hosszúsági értékekkel rendelkező adatkészlet lesz.
- Gyermekadatkészletek, amelyek hosszúságú értékek az egész világon (durván 0-360) Az új hosszúsági érték újrarendezésre kerül, hogy (durván) 180–180: Az eredeti 0–180 érték változatlan. Az eredeti 180-360 értékek átalakulnak -180-0-ra, és a hosszúsági sor kezdetére változnak.
- A 180-as gyermekadatok esetében, de ne fedje le a világot,ERDDAP™beilleszti a hiányzó értékeket, amelyek szükségesek ahhoz, hogy egy adatkészletet hozzanak létre, amely lefedi a világot. Például egy 140-200-as hosszúsági értékű gyermekadat az 180–180-as évek hosszúsági értékű adatkészletévé válik. A 180-200-as gyermekértékek -180-160-ra válnak. Az új hosszúsági értékek -160-tól 140-ig terjednek. A megfelelő adatértékek \_FillValues lesznek. A 140-180-as gyermekértékek változatlanok lesznek. A hiányzó értékek beillesztése furcsának tűnhet, de elkerüli számos problémát, ami azt eredményezi, hogy a hosszúsági értékek hirtelen ugranak. (pl.: -160 és 140) ...
- InkábbGenerateDatasetsXmlvan egy speciális "adatkészlet",EDDGridLonPM180FromErddapCatalog, amely lehetővé teszi, hogy létrehozza adatasets.xmlMertEDDGridLonPM180 adatkészletek mindegyikétőlEDDGridadatkészletek egyERDDAPolyan hosszúsági értékek, amelyek 180-nál nagyobbak. Ez megkönnyíti ezen adatkészletek két változatát: az eredeti, hosszúsági értékekkel a 0–360 tartományban, és az új adatkészlet, a hosszúsági értékek a -180-180 tartományban.
A gyermek adatkészlete minden egyesbenEDDGridLonPM180 adatkészlet leszEDDGridFromErddap adatkészlet, amely az eredeti adatkészletre vonatkozik. Az új adatkészletdatasetIDlesz az eredeti adatkészlet neve, plusz "\_LonPM180". Például,
<dataset type="EDDGridLonPM180" datasetID="erdMBsstdmday\\_LonPM180" active="true">
<dataset type="EDDGridFromErddap" datasetID="erdMBsstdmday\\_LonPM180Child">
<!-- SST, Aqua MODIS, NPP, 0.025 degrees, Pacific Ocean, Daytime
(Monthly Composite) minLon=120.0 maxLon=320.0 -->
<sourceUrl>https://coastwatch.pfeg.noaa.gov/erddap/griddap/erdMBsstdmday
</sourceUrl>
</dataset>
</dataset>
Tedd le aEDDGridLonPM180 adatkészlet alább az eredeti adatkészletdatasets.xml... Ez elkerüli néhány lehetséges problémát.
Alternatívaként helyettesítheti aEDDGridFromErddap gyermek adatkészlet az eredeti adatkészletteldatasets.xml... Ezután az adatkészlet csak egy verziója lesz: az egy, amelynek hosszúsági értékei vannak -180 és 180 között. Ezt azért elriasztjuk, mert vannak olyan idők, amikor az adatkészlet minden verziója kényelmesebb.
- Ha egy adatkészlet két verzióját kínálja, például egy, 0-360-as hosszúsággal, és egy hosszúsággal -180-180-as 180-as:
- Használhatja az opcionális [<hozzáférhető ViaWMS> Hamis</Csak elérhető ViaWMS>>>>>> (#Ccessibleviawms) a 0-360 adatkészlettel, amely erõsen letiltja aWMSszolgáltatás erre az adatkészletre. Ezután csak az adatkészlet LonPM180 verziója elérhető leszWMS...
- Van néhány módja annak, hogy a LonPM180 adatállomány naprakész legyen a mögöttes adatkészlet változásaival:
- Ha a gyermek adatkészlete egyEDDGridFromErddap adatkészlet, amely ugyanazon adatkészletre hivatkozikERDDAP™A LonPM180 adatkészlet közvetlenül feliratkozik az alapjául szolgáló adatkészletre, hogy mindig naprakész legyen. A közvetlen előfizetések nem generálnak olyan e-maileket, amelyek arra kérik Önt, hogy érvényesítse az előfizetést - az érvényesítést automatikusan meg kell tenni.
- Ha a gyermek adatkészlete nemEDDGridFromErddap adatkészlet, amely ugyanazonERDDAP™A LonPM180 adatkészlet megpróbálja használni a rendszeres előfizetési rendszert az alapul szolgáló adatkészletre. Ha rendelkezik az előfizetési rendszerrel az ÖnbenERDDAP™fordult, meg kell kapni e-mailek kéri, hogy érvényesítse az előfizetést. Kérlek, tedd meg!
- Ha rendelkezik az előfizetési rendszerrel az ÖnbenERDDAP™Kikapcsolva, a LonPM180 adatkészlet néha elavult metaadatokkal rendelkezhet, amíg a LonPM180 adatkészletet újratöltik. Tehát, ha az előfizetési rendszer le van kapcsolva, be kell állítania a [[szerkesztés]]<újratöltés MindenNMinutes>] (#reloadeveryn percek) a LonPM180 adatkészlet kisebb számra történő beállítása, így nagyobb valószínűséggel elkapja a gyermek adatkészletének változásait.
EDDGridLonPM180 csontváz XML
<dataset type="EDDGridLonPM180" datasetID\="..." active\="..." >
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1. For
EDDGridFromDap, this gets the remote .dds and then gets the new
leftmost (first) dimension values. -->
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<dataset>...</dataset> <!-- The child EDDGrid dataset. -->
</dataset>
EDDGridLon0360
EDDGridLon0360 módosítja a gyermek hosszúsági értékeit (bezárt) EDDGridolyan adatkészlet, amely kevesebb, mint 0 (például -180-180) hogy a 0-360-as tartományban vannak (Ezért a neve) ...
- A szüntelenséghez közeli munka problémákat okoz, függetlenül attól, hogy a szüntelenség hosszúságú 0 vagy hosszúságú 180. Ez az adatkészlet típus lehetővé teszi, hogy elkerülje ezeket a problémákat mindenki számára, két változata ugyanazt az adatkészletet: az egyik hosszúsági értékek a tartományban -180-180 ("Atlanticentric"?) ... a 0–360 közötti tartományban lévő hosszúsági értékek ("Pacificentric"?) ,
- A gyermekek adatkészleteinél kevesebb, mint 0, az új hosszúsági értékek mindössze 360 fokkal magasabbak. Például a -180–120 közötti hosszúsági értékű adatkészlet 180–240-es szélességi értékű adatkészlet lesz.
- Gyermekadatkészletek, amelyek hosszúságú értékek az egész világon (durván -180-180) Az új hosszúsági érték újrarendezésre kerül, hogy (durván) 0-360: Az eredeti -180-0 értékek 180–360-ra változnak, és a hosszúsági sor végére változnak. Az eredeti 0–180 érték változatlan.
- A lon=0-as gyermekadatok esetében, de ne fedje le a világot,ERDDAP™beilleszti a hiányzó értékeket, amelyek szükségesek ahhoz, hogy egy adatkészletet hozzanak létre, amely lefedi a világot. Például a -40-2020 közötti hosszúsági értékű gyermekadat egy 0-360-as hosszúsági értékű adatkészlet lesz. A 0-20 éves gyermekértékek változatlanok lesznek. Az új hosszúsági értékek 20-tól 320-ig lesznek beillesztve. A megfelelő adatértékek \_FillValues lesznek. A -40-0 gyermekértékei 320-ról 360-ra válnak. A hiányzó értékek beillesztése furcsának tűnhet, de elkerüli számos problémát, ami azt eredményezi, hogy a hosszúsági értékek hirtelen ugranak. (pl. 20 és 320 között) ...
- InkábbGenerateDatasetsXmlvan egy speciális "adatkészlet",EDDGridLon0360 ErddapCatalog, amely lehetővé teszi, hogy létrehozza adatasets.xmlMertEDDGridLon0360 adatkészletek mindegyikébőlEDDGridadatkészletek egyERDDAPolyan hosszúsági értékek, amelyek 180-nál nagyobbak. Ez megkönnyíti ezen adatkészletek két változatát: az eredeti, hosszúsági értékekkel a 0–360 tartományban, és az új adatkészlet, a hosszúsági értékek a -180-180 tartományban.
A gyermek adatkészlete minden egyesbenEDDGridLon0360 adatkészlet leszEDDGridFromErddap adatkészlet, amely az eredeti adatkészletre vonatkozik. Az új adatkészletdatasetIDlesz az eredeti adatkészlet neve, plusz "\_Lon0360". Például,
<dataset type="EDDGridLon0360" datasetID="erdMBsstdmday\\_Lon0360" active="true">
<dataset type="EDDGridFromErddap" datasetID="erdMBsstdmday\\_Lon0360Child">
<!-- SST, Aqua MODIS, NPP, 0.025 degrees, Pacific Ocean, Daytime
(Monthly Composite) minLon=-40.0 maxLon=20.0 -->
<sourceUrl>https://coastwatch.pfeg.noaa.gov/erddap/griddap/erdMBsstdmday
</sourceUrl>
</dataset>
</dataset>
Tedd le aEDDGridLon0360 adatkészlet alább az eredeti adatkészletdatasets.xml... Ez elkerüli néhány lehetséges problémát.
Alternatívaként helyettesítheti aEDDGridFromErddap gyermek adatkészlet az eredeti adatkészletteldatasets.xml... Ezután az adatkészlet csak egy verziója lesz: az egy, 0-360-on belüli hosszúsági értékekkel. Ezt azért elriasztjuk, mert vannak olyan idők, amikor az adatkészlet minden verziója kényelmesebb.
- Ha egy adatkészlet két verzióját kínálja, például egy, 0-360-as hosszúsággal, és egy hosszúsággal -180-180-as 180-as:
- Használhatja az opcionális [<hozzáférhető ViaWMS> Hamis</Csak elérhető ViaWMS>>>>>> (#Ccessibleviawms) a 0–360 adatkészlettel, hogy könnyedén letiltsa aWMSszolgáltatás erre az adatkészletre. Ezután csak az adatkészlet -180–180 verziója elérhető leszWMS...
- Van néhány módja annak, hogy a Lon0360 adatállományt naprakészen tartsa a mögöttes adatállomány változásaival:
- Ha a gyermek adatkészlete egyEDDGridFromErddap adatkészlet, amely ugyanazon adatkészletre hivatkozikERDDAP™A Lon0360 adatkészlet közvetlenül feliratkozik a mögöttes adatkészletre, hogy mindig naprakész legyen. A közvetlen előfizetések nem generálnak olyan e-maileket, amelyek arra kérik Önt, hogy érvényesítse az előfizetést - az érvényesítést automatikusan meg kell tenni.
- Ha a gyermek adatkészlete nemEDDGridFromErddap adatkészlet, amely ugyanazonERDDAP™A Lon0360 adatkészlet megpróbálja használni a rendszeres előfizetési rendszert az alapul szolgáló adatkészletre. Ha rendelkezik az előfizetési rendszerrel az ÖnbenERDDAP™fordult, meg kell kapni e-mailek kéri, hogy érvényesítse az előfizetést. Kérlek, tedd meg!
- Ha rendelkezik az előfizetési rendszerrel az ÖnbenERDDAP™Kikapcsolva, a Lon0360 adatkészlet néha elavult metaadatokkal rendelkezhet, amíg a Lon0360 adatkészletet vissza nem töltik. Tehát, ha az előfizetési rendszer le van kapcsolva, be kell állítania a [[szerkesztés]]<újratöltés MindenNMinutes>] (#reloadeveryn percek) a Lon0360 adatkészlet kisebb számra történő beállítása, így nagyobb valószínűséggel fogja elkapni a gyermek adatkészletének változásait.
EDDGridLon0360 csontváz XML
<dataset type="EDDGridLon0360" datasetID\="..." active\="..." >
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1. For
EDDGridFromDap, this gets the remote .dds and then gets the new
leftmost (first) dimension values. -->
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<dataset>...</dataset> <!-- The child EDDGrid dataset. -->
</dataset>
EDDGridSideBySide
EDDGridSideBySide aggregál két vagy többEDDGridadatkészletek (gyerekek) oldalról oldalra.
- Az ebből eredő adatkészlet minden változóval rendelkezik az összes gyermek adatkészletből.
- A szülői adatkészlet és az összes gyermek adatkészlet MUST eltérődatasetIDS. Ha a család bármely neve pontosan ugyanaz, az adatkészlet nem terheli (a hibaüzenet, hogy az összesített tengely értékei nem rendezett rendben vannak) ...
- Minden gyereknek ugyanaz a forrásértéke vanaxisVariables\[1+\] (Például a magasság, a hosszúság) ... A vizsgálat pontosságát a tesztelés határozza megAxisNDigits...
- A gyerekeknek különböző forrásértékei lehetnekaxisVariables\[0 0\] (például az idő) De általában nagyjából ugyanazok.
- A szülői adatkészlet úgy tűnik, hogy az összesaxisVariables\[0 0\]forrásértékek az összes gyermektől.
- Például ez lehetővé teszi, hogy egy forrásadatot egy vektor komponensével és egy másik forrásadatot egy vektor v-komponensével kombináljon, így a kombinált adatok szolgálhatnak.
- A módszer által létrehozott gyermekeket magántulajdonban tartják. Nem külön hozzáférhető adatkészletek (például az ügyféladatkérések vagy azzászló fájlok) ...
- A világméretű metaadat és a szülői beállítások a globális metaadatból származnak, és az első gyermek beállításai.
- Ha van egy kivétel az első gyermek létrehozása közben, a szülő nem jön létre.
- Ha van egy kivétel, miközben más gyerekeket hozunk létre, ez egy e-mailt küld az EverythingTo-nak. (a megadottsetup.xml) és folytatódik a többi gyerekkel.
EDDGridSideBySide csontváz XML
<dataset type="EDDGridSideBySide" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<matchAxisNDigits>...</matchAxisNDigits> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<dataset>...</dataset> <!-- 2 or more -->
</dataset>
EDDGridAggregateExistingDimenzió
EDDGridAggregateExistingDimenzió aggregál két vagy többEDDGridadatkészletek, amelyek mindegyike különböző értékek az első dimenzió, de azonos értékek a többi dimenzióban.
- Például egy gyermek adatkészletnek 366 értéke lehet (2004-re) az idő dimenziója és egy másik gyermeknek 365 értéke lehet (2005-re) az idő dimenziója.
- Az összes többi dimenzió értéke (Például a magasság, a hosszúság) MUST legyen azonos minden gyermek számára. A vizsgálat pontosságát a tesztelés határozza megAxisNDigits...
- Osztott dimenziós értékek - Az értékek minden dimenzióban MUST lehet rendezett rendben (Felemelkedés vagy leszármazás) ... Az értékek szabálytalanul helyreállhatnak. Nem lehetnek kapcsolatok. Ez a követelmény aCF metaadat szabvány... Ha bármely dimenzió értéke nem rendezett rendben van, az adatkészlet nem lesz betöltve ésERDDAP™azonosítja az első fel nem szorított értéket a logfájlban, bigParentDirectory[szerkesztés] /logs/log.txt .
A nem szorított dimenziós értékek szinte mindig problémát jelentenek a forrásadatokkal. Ez a leggyakrabban akkor fordul elő, amikor egy tévhit vagy nem megfelelő fájl szerepel a gyülekezetben, ami egy szorulatlan idő dimenzióhoz vezet. A probléma megoldásához lásd a hibaüzenetetERDDAP™log.txt fájl, hogy megtalálja a megsértő időértéket. Ezután nézze meg a forrásfájlokat, hogy megtalálja a megfelelő fájlt (vagy egy előtt vagy után) ez nem tartozik a gyülekezetbe.
- A szülői adatkészlet és a gyermek adatkészlete eltérődatasetIDS. Ha a család bármely neve pontosan ugyanaz, az adatkészlet nem terheli (a hibaüzenet, hogy az összesített tengely értékei nem rendezett rendben vannak) ...
- Jelenleg a gyermek adatkészlete MUST lehet egyEDDGridFromDap adatkészlet és MUST van a legalacsonyabb értékek az összesített dimenzió (általában a legrégebbi időértékek) ... Az összes többi gyereknek szinte azonos adatkészletnek kell lennie (különbözik csak az első dimenzió értékeiben) és csak sajátjuk határozza megsourceUrl...
- Az összesített adatkészlet az első gyermektől kapja a metaadatát.
- AGenerateDatasets Xml programdurva tervezetet készíthetdatasets.xmlegyEDDGridAggregateExistingDimension egy sor fájl alapján, amelyet egyHyraxvagy THREDS szerver. Például használja ezt a bemenetet a programhoz (az URL "1988" példája gyorsabb) :
EDDType? EDDGridAggregateExistingDimension
Server type (hyrax, thredds, or dodsindex)? hyrax
Parent URL (for example, for hyrax, ending in "contents.html";
for thredds, ending in "catalog.xml")
? https://opendap.jpl.nasa.gov/opendap/ocean\\_wind/ccmp/L3.5a/data/
flk/1988/contents.html
File name regex (for example, ".\\*\\.nc")? month.\\*flk\\.nc\\.gz
ReloadEveryNMinutes (for example, 10080)? 10080
Használhatja az eredményt<sourceUrl> címkék vagy törölje őket, és kommentálja a<sourceUrl> címke (így az új fájlokat minden alkalommal észreveszik, amikor az adatkészletet újratöltik.
EDDGridAggregateExistingDimension csontváz XML
<dataset type="EDDGridAggregateExistingDimension" datasetID\="..."
active\="..." >
<dataset>...</dataset> <!-- This is a regular EDDGridFromDap dataset
description child with the lowest values for the aggregated
dimensions. -->
<sourceUrl>...</sourceUrl> <!-- 0 or many; the sourceUrls for
other children. These children must be listed in order of
ascending values for the aggregated dimension. -->
<sourceUrls serverType="..." regex="..." recursive="true"
pathRegex\=".\"
>https://someServer/someDirectory/someSubdirectory/catalog.xml</sourceUrls>
<!-- 0 or 1. This specifies how to find the other children,
instead of using separate sourceUrl tags for each child. The
advantage of this is: new children will be detected each time
the dataset is reloaded. The serverType must be "thredds",
"hyrax", or "dodsindex". An example of a regular expression (regex) (tutorial) is .\\.nc
recursive can be "true" or "false".
Only directory names which match the
<pathRegex>
(default=".\*") will be accepted.
A thredds catalogUrl MUST include "/thredds/catalog/".
An example of a thredds catalogUrl is
https://thredds1.pfeg.noaa.gov/thredds/catalog/Satellite/aggregsatMH/
chla/catalog.xml
An example of a hyrax catalogUrl is
https://opendap.jpl.nasa.gov/opendap/allData/ccmp/L3.5a/monthly/
flk/1988/contents.html
An example of a dodsindex URL is
https://opendap.jpl.nasa.gov/opendap/GeodeticsGravity/tellus/L3/mascon/RL06/JPL/v02/CRI/netcdf/contents.html
(Note the "OPeNDAP logo at the top of the page.)
When these children are sorted by filename, they must be in
order of ascending values for the aggregated dimension. -->
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<matchAxisNDigits>...</matchAxisNDigits> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
</dataset>
EDDGridMásolás
EDDGridMásolás létrehozza és fenntartja a másik helyi másolatátEDDGridAz adatok és szolgálja az adatokat a helyi másolatból.
- EDDGridMásolás (és a mesés adatok esetében,EDDTableCopy) nagyon könnyen használható és nagyon hatékony
megoldás néhány legnagyobb probléma az adatok távoli adatforrásból történő kiszolgálásával:
- A távoli adatforrásból származó adatokhoz való hozzáférés lassú lehet.
- Lassú lehet, mert őszintén lassú (például egy nem hatékony típusú szerver) ,
- mert túl sok kérés túlterhelt,
- vagy mert a szerver vagy a távoli szerver korlátozott a sávszélesség.
- A távoli adatkészlet néha nem elérhető (ismét, különböző okok miatt) ...
- Az adatok egyik forrására való támaszkodás nem mérlegeli jól (Például, amikor sok felhasználó és sokERDDAPHasználja) ...
- A távoli adatforrásból származó adatokhoz való hozzáférés lassú lehet.
- Hogyan működik -EDDGridA másolat ezeket a problémákat automatikusan megoldja és fenntartja az adatok helyi másolatát, és adatokat szolgáltat a helyi másolatból.ERDDAP™nagyon gyorsan szolgálhat a helyi másolatból származó adatokat. És a helyi másolat megkönnyíti a terhet a távoli szerveren. És a helyi másolat az eredeti mentés, amely hasznos abban az esetben, ha valami történik az eredeti.
Nincs semmi új az adatkészlet helyi másolatának elkészítéséről. Mi az új itt, hogy ez az osztály teszi\*könnyű\*létrehozni és létrehozni\*Fenntartás\*az adatok helyi másolata egy\*változat\*távoli adatforrások és\*Metaadat\*az adatok másolása közben.
- Adatgyűjtés -EDDGridA másolat az adatok helyi másolatát azáltal teszi, hogy a távoli adatcsomagokat kéri<adatkészlet> Lesz egy darab a baloldal minden értékére (először) axis változó.EDDGridA másolat nem támaszkodik a távoli adatkészlet indexszámára a tengelyre - ezek változhatnak.
FIGYELMEZTETÉS: Ha egy darab adat mérete olyan nagy (> > > > 2GB) ez problémákat okoz,EDDGridA másolat nem használható. (Sajnáljuk, reméljük, hogy megoldást találunk erre a problémára a jövőben.)
- \[alternatívaEDDGridMásolás - Ha a távoli adatok letölthető fájlokon keresztül érhetők el, nem webes szolgáltatás, használatHúsvét FromUrl opcióEDDGridFájlok, amely helyi másolatot készít a távoli fájlokról, és szolgálja az adatokat a helyi fájlokból.\]
- Helyi fájlok - Az adatok minden része külön tárolódikNetCDFfájl egy al áírásban bigParentDirectory[szerkesztés] /copy/ datasetID / (a megadottsetup.xml) ... A tengelyértékekből létrehozott tüzelőanyagokat módosítják, hogy fájlnév-biztonságot hozzanak létre (Például a hyphenseket "x2D" helyettesíti) - ez nem befolyásolja a tényleges adatokat.
- Új adatok - Minden alkalommalEDDGridA másolatot újratöltik, ellenőrzi a távoli<adatkészlet> megnézni, hogy milyen zsákok állnak rendelkezésre. Ha a fájl egy darab adat nem létezik, a kérés, hogy a zsákmány hozzáadott egy sor.ERDDAP„Thread feldolgozza az összes megkeresett kérelmet az adatcsomagok, egy-egy. Láthatja a statisztikákat a Thread tevékenységéhezStatus oldalés aNapi jelentés... (Igen,ERDDAP™több feladatot rendelhetne erre a folyamatra, de ez sok távoli adatforrás sávszélességét, memóriáját és CPU időt használna, és sok helyiERDDAP"Sávszélesség, memória és CPU idő, amelyek egyike sem jó ötlet.)
MEGJEGYZÉS: Az első alkalomEDDGridA másolatot betöltik, (ha minden jól megy) Számos adatkérés kerül hozzáadásra a feladathozHárom sorrendje, de nem hoztak létre helyi adatfájlokat. Tehát a konstrukció kudarcot vall, de a feladatThread továbbra is dolgozik, és létrehozza a helyi fájlokat. Ha minden jól megy, a feladatThread néhány helyi adatfájlot készít, és a következő kísérletet, hogy újratöltse az adatkészletet (~15 perc) sikeres lesz, de kezdetben nagyon korlátozott mennyiségű adattal.
MEGJEGYZÉS: A helyi adatkészlet után van néhány adat, és megjelenik az Ön adataibanERDDAPHa a távoli adatkészlet ideiglenesen vagy állandóan nem hozzáférhető, a helyi adatkészlet továbbra is működik.
WARNING: Ha a távoli adatkészlet nagy, és / vagy a távoli szerver lassú (Ez a probléma, nem?!) Hosszú időbe telik, hogy teljes helyi másolatot készítsen. Bizonyos esetekben a szükséges idő elfogadhatatlan lesz. Például 1 TB adatátvitel egy T1-es vonalon keresztül (0,15 GB/s) legalább 60 napot vesz igénybe, optimális körülmények között. Ráadásul sok sávszélességet, memóriát és CPU időt használ a távoli és helyi számítógépeken. A megoldás az, hogy kemény meghajtót küldjön a távoli adatok adminisztrátorához, hogy a s / ő készítsen egy példányt az adathalmazról, és elküldje a merevlemezt vissza. Használja ezt az adatokat kiindulópontként ésEDDGridA másolás hozzáadja az adatokat. (Ez egy módja annak, hogyAz Amazon EC2 Cloud Servicekezeli a problémát, bár rendszerüknek sok sávszélessége van.)
WARNING: Ha egy adott érték a baloldal számára (először) axis változó eltűnik a távoli adatkészletből,EDDGridA másolat nem töröli a helyi másolt fájlt. Ha akarod, törölheted magad.
Grid Copy ellenőrzés Adatok
Adatasets.xmlez az adatkészlet lehet egy opcionális címke
<checkSourceData>true</checkSourceData>
Az alapértelmezett érték igaz. Ha/ha hibáztatja, az adatkészlet soha nem fogja ellenőrizni a forrásadatlapot, hogy megnézze, van-e további adatok.
Csak
ElmondhatjaEDDGridMásolás, hogy készítsen egy másolatot a forrásadatkészlet, ahelyett, hogy a teljes forrásadat, azáltal, hogy hozzá egy címke formájában<JustSince> Néhány Érték </onlySince> az adatkészlethezdatasets.xmlcunk.EDDGridA másolat csak az első dimenzió értékeivel kapcsolatos adatértékeket fogja letölteni (általában az idő dimenziója) ami nagyobb, mint Néhány Érték ... Néhány Érték lehet:
-
A relatív idő, amelyet anow- nUnits ... Például,<JustSince>now-2 év</onlySince> azt mondja az adatkészletnek, hogy csak helyi másolatokat készítsen az adatokhoz, ahol a külső dimenzió értékei (rendszerint időértékek) az elmúlt 2 évben (amely minden alkalommal újraértékelődik, az adatkészletet újratöltik, ami az, amikor új adatokat keres másolni) ... Lásd:now- nUnits Szintax leírás... Ez akkor hasznos, ha az első dimenziónak van időadata, amit általában tesz.
EDDGridA másolat nem törli azokat a helyi adatfájlokat, amelyeknek idővel adatai vannak, idősebbek lesznek, mintnow- nUnits ... E fájlokat bármikor törölheti, ha úgy dönt. Ha igen, akkor erősen javasoljuk, hogy állítson be egyzászlóMiután törölte a fájlokat, hogy elmondjaEDDGridMásolja a csípett fájlok listájának frissítését.
-
Az ISO 8601 sztringként meghatározott időben rögzített pontyyyy-MM-ddTHH:mm:ssZ... Például,<JustSince>2000-01-01T00:00Z</onlySince> csak az adatkészletet mondja el, hogy olyan helyi adatmásolatokat készítsen, ahol az első dimenzió ért éke \>=2000-01-01T00:00Z. Ez akkor hasznos, ha az első dimenziónak van időadata, amit általában tesz.
-
Egy lebegő pontszám. Például,<JustSince>946684800.0</onlySince> Az egységek lesznek az első dimenzió úti egységei. Például az idő dimenziók esetében az egységekERDDAP™mindig"seconds since 1970-01-01T00:00:00Z"... 946684800.0"seconds since 1970-01-01T00:00:00Z"egyenértékű a 2000-01-01T00:00Z. Ez mindig hasznos lehetőség, de különösen hasznos, ha az első dimenziónak nincs időadata.
EDDGridCopy Recomended használat
- Hozzon létre<adatkészlet> Belépés (az őshonos típus, nemEDDGridMásolás) a távoli adatforráshoz. Szerezd megfelelően, beleértve az összes kívánt metaadatot is.
- Ha túl lassú, add hozzá az XML kódot, hogy csomagolja be egyEDDGridMásolási adatkészlet.
- Használjon mástdatasetID (talán megváltoztatvadatasetIDa régidatasetIDkissé) ...
- Másolja a<hozzáférhető>>,<ReloadEveryNMinutes> és<onChange> távolrólEDDGridXML aEDDGridCopy XML. (ÉrtékeikEDDGridMásolási anyag; a belső adatkészlet értékei irrelevánsak.)
- ERDDAP™az adatok helyi másolatát készíti és tartsa fenn.
- WARNING:EDDGridA másolás azt feltételezi, hogy az egyes részegek adatértékei soha nem változnak. Ha / ha megteszik, manuálisan törölnie kell a chunk fájlokat bigParentDirectory[szerkesztés] /copy/ datasetID / amely megváltozott észászlóaz adatkészletet újra kell tölteni, hogy a törölt darabokat lecseréljék. Ha van egy e-mail előfizetése az adatkészlethez, akkor két e-mailt kap: az egyik, amikor az adatkészlet először újratölti és elkezdi másolni az adatokat, és egy másik, amikor az adatkészlet ismét betölti (automatikusan) és észleli az új helyi adatfájlokat.
- Minden tengelyértéknek egyenlőnek kell lennie. Minden tengelyre, kivéve a baloldalt (először) Az összes értéknek egyenlőnek kell lennie minden gyermek számára. A vizsgálat pontosságát a tesztelés határozza megAxisNDigits...
- Beállítások, Metadata, változók -EDDGridA másolat a zárt forrásadatból származó beállításokat, metaadatokat és változókat használja.
- Metadata megváltoztatása - Ha meg kell változtatniaddAttributesvagy megváltoztatja a forrásadatokkal kapcsolatos változók sorrendjét:
- Változtasd megaddAttributesa forrásadatkészlethezdatasets.xmlszükség szerint.
- Törölje az egyik másolt fájlt.
- Állj be egyzászlóaz adatkészlet azonnali újratöltéséhez. Ha egy zászlót használ, és e-mail előfizetése van az adatkészlethez, két e-mailt kap: az egyik, amikor az adatkészlet először visszatölti és elkezdi másolni az adatokat, és egy másik, amikor az adatkészlet ismét betöltődik (automatikusan) és észleli az új helyi adatfájlokat.
- A törölt fájlt az új metaadatokkal fogják regenerálni. Ha a forrásadatbázis valaha elérhető, azEDDGridA másolási adatkészlet metaadatot kap a regenerált fájlból, mivel ez a legfiatalabb fájl.