ESMF (Earth System Modeling Framework) on ohjelma rakentaa korkean suorituskyvyn, joustava ohjelmisto infrastruktuuri lisätä helppokäyttöisyys, suorituskyky siirrettävyys, yhteentoimivuus, ja uudelleenkäyttöä ilmasto, numeerinen sään ennustaminen, tiedot assimilaatio, ESMF määrittelee arkkitehtuuri säveltämiseen monimutkaisia yhdistettynä mallintaminen järjestelmät ja sisältää tietorakenteita ja apuohjelmat kehittää yksittäisten mallien.
Perusajatuksena ESMF on niin monimutkainen hakemukset olisi hajotetaan pienemmiksi paloiksi, tai komponentteja. Komponentti on yksikkö ohjelmisto koostumuksen, joka on johdonmukainen toiminta, ja standardin soittamalla käyttöliittymän ja käyttäytymistä. Komponentit voidaan koota luoda useita sovelluksia, ja eri toteutukset komponentti voi olla käytettävissä. Vuonna ESMF, komponentti voi olla fyysiseltä tai toiminto, kuten kytkimen tai I / O-järjestelmän.
ESMF myös työkalusarjoja rakentaa komponentteja ja sovelluksia, kuten regridding ohjelmisto, kalenteri hallinta, puunkorjuu ja virheiden käsittelyä, ja rinnakkaistiedonsiirron.
Alla olevassa kuvassa ESMF komponentteja käytännössä. Se on kaavio rakenteesta NASA GEOS-5 Atmospheric General Circulation Model, rakennettu alusta asti käyttäen ESMF. Jokainen laatikot on ESMF komponentti, kuten kytkimet. Hierarkkinen puu komponentteja voidaan "snipped" eri tasoilla niin, että koko fysiikan paketti voitaisiin korvata, tai yksittäinen parametrointi. Jokainen komponentti on potentiaalisesti "swap".
Ominaisuudet :
- Full Fortran 90 liitäntä, osittainen C / C ++ käyttöliittymä
- Fortran 90 ohje ja käyttöopas
- toimii useimmissa korkean suorituskyvyn rinnakkaislaskentaan alustoilla, kuten IBM, monet Linux variantteja, Cray, Compaq, lisää (katso tästä koko lista)
- Tukee MPI, OpenMP ja hybridi käyttäjän koodit
- 2500 + testien kylkiäisenä lähde jakelu
- Vapaa käyttäjätuki
- Aktiivinen käyttäjäyhteisön
- Lavan kytkennän maapallon järjestelmän osat:
- Component, valtion ja yhdistin ohjelmisto, joka kietoo käyttäjätunnus vähällä yläpuolella
- Yksinkertainen kuljettajien että käyttäjät voivat muokata li>
- peräkkäisen tai samanaikaisen suorittamisen komponenttien
- Yhden suoritettavan valmiudet
- Limited useita suoritettavia valmiudet
- Infrastruktuuri rakentaa maapallon järjestelmän osat:
- Time Manager, joka sisältää gregoriaaninen, 360 päivää, ei-harppaus, Julian ja muut kalenterit, sekä laaja valikoima ajan toimintoja
- Tietorakenteet varastointiin ja manipulointi Arrays, Fields, ja nippujen kentät samaan verkkoon.
- Parallel tietoliikenne- ja regridding ohjelmisto
- Viestin puunkorjuu työkalut
- Resource tiedostonhallinta li>
Mitä uutta strong> tässä julkaisussa:
- vikasietoinen laajennus ESMF_GridComp ja ESMF_CplComp liitännät on pantu täytäntöön.
- Lukuisat parannuksia ja bugikorjauksia.
Mitä uutta strong> versiossa 3.2.0r:
- Tämä versio muuttaa koodi mahdollistaa taaksepäin yhteensopivuus ja lisää tuen SMM 11.x kääntäjän versio Linux / PC ja Cray XT alustan.
Mitä uutta strong> versiossa 3.1.0rp2:
- Lisätty tuki monistaa mitat Field. & Quot; 0 & quot; merkintä gridToFieldMap argumentti ESMF_FieldCreate () ja ESMF_FieldSetCommit () osoittaa, että Rasterikoko ei kuulu Field. Sen sijaan Field toistuu kaikissa DE on pitkin vastaavan Rasterikoko.
- Ylikuormitetut ESMF_FieldCreate () hyväksymästä Fortran array osoittimen ja säilyttää sen ominaisuuksien (kuten rajat ja kyky deallocate).
- Ylikuormitetut ESMF_FieldSetCommit () hyväksymästä Fortran array osoittimen ja säilyttää sen ominaisuuksien (kuten rajat ja kyky deallocate).
- Grid tukee nyt ESMF_INDEX_USER vaihtoehto indexflag. Tämän avulla käyttäjä nimenomaisesti asettaa alaraja paikallisen indeksi tilaa. Tämä on tarpeen, kun luodaan kentän Fortran array osoitin epästandardilla indeksointi.
- Ylikuormitetut ESMF_ArrayCreate () hyväksymästä Fortran array osoittimen ja säilyttää sen ominaisuuksien (kuten rajat ja kyky deallocate).
- Optimoitu ESMF_ArraySMM () ja ESMF_ArrayBundleSMM () runtime suorituskykyä, skaalautuvuutta ja muistin käyttö.
- Lisätty tuki optimoitu viestinnän Array eri jakaumat, mitat ja koot samaan ArrayBundle.
- Lisätty tuki Des nolla elementtejä DistGrid, Array ja Field.
- Valmistettu localDe argumentti valinnainen ESMF_ArrayGet () ja ESMF_FieldGet () menetelmät, joissa ei ole kielletty ylikuormituksesta rajoituksia.
- Hälytykset asetettu soimaan timeStep 0, kun ESMF_ClockCreate (), nyt soi oikein.
- Hälytykset nyt soi kunnolla Kello ESMF_MODE_REVERSE.
- Hälytykset nyt soi kunnolla Kello käyttäen negatiivista timeStep.
- Lisätty oletusarvoisesti osoittimen koko ohituksen ominaisuus rakentaa hyödyntävä uusi ympäristömuuttujat ESMF_F90_PTR_BASE_SIZE ja ESMF_F90_PTR_PLUS_RANK.
Mitä uutta strong> versiossa 3.1.0rp1:
- Lisätty määreitä Grid luokka.
- Lisätty määreitä Array luokka.
- Lisätty minIndex ja maxIndex argumentteja ESMF_GridGet (). Nämä väitteet koskevat ensimmäisen laatta.
- Lisätty minIndexPDimPDe ja maxIndexPDimPDe argumentteja ESMF_DistGridGet ().
- Lisätty ESMF_GridMatch () menetelmä vertailla kahta Grid esineitä.
- Uusi osio käyttöoppaan oikeus & quot; asettaminen ESMF ajaa Test Suite Sovellukset & quot; lisättiin, että hahmotellaan, miten käyttäjät voivat määrittää oman mpirun skriptejä. ESMF nyt käyttää johdonmukaisesti asetus ympäristömuuttujien ESMF_MPIRUN käynnistää mukana Testikirjaston ja esimerkiksi sovelluksia.
- seuraavat tunnetut bugit on vahvistettu.
Kommentteja ei löytynyt