ESMF (Aarde System Modeling Raamwerk) is 'n program vir die bou van 'n hoë-prestasie, buigbare sagteware infrastruktuur gemak van gebruik te verhoog, prestasie port, interoperabiliteit, en onthou in klimaat, numeriese weer voorspelling, data assimilasie, Die ESMF definieer 'n argitektuur vir die saamstel van komplekse, tesame modellering stelsels en sluit data strukture en programme vir die ontwikkeling van individuele modelle.
Die basiese idee agter ESMF is dat ingewikkeld aansoeke moet opgebreek word in kleiner stukke, of komponente. A komponent is 'n eenheid van sagteware samestelling wat 'n samehangende funksie, en 'n standaard roeping koppelvlak en gedrag. Komponente kan vergader word verskeie programme te skep, en verskillende toepassings van 'n komponent wat beskikbaar mag wees. In ESMF, kan 'n komponent 'n fisiese domein of 'n funksie wees soos 'n hak of I / O-stelsel.
ESMF sluit ook hulpmiddels vir die bou van komponente en programme, soos regridding sagteware, kalender bestuur, aan te meld en fouthantering en parallel kommunikasie.
Die figuur hieronder toon ESMF komponente in die praktyk. Dit is 'n diagram van die struktuur van die NASA GEOS-5 Atmosferiese algemene sirkulasie Model, gebou van die grond met behulp van ESMF. Elk van die bokse is 'n ESMF komponent, insluitend die skakels. Die hiërargiese boom van komponente kan word "knip" op verskillende vlakke sodat die hele fisika pakket vervang kan word, of 'n enkele para. Elke komponent is potensieel "swappable."
Eienskappe :
- Full Fortran 90 koppelvlak, gedeeltelike C / C ++ koppelvlak
- Fortran 90 Reference Manual en gebruikers se Guide
- loop op die meeste hoë werkverrigting parallel rekenaar platforms, insluitend IBM, baie Linux variante, Cray, Compaq, meer (kyk hier vir die volledige lys)
- Ondersteun MPI, OpenMP en hibriede gebruiker kodes
- 2500 + toetse saam met bron verspreiding
- Free gebruiker ondersteuning
- Aktiewe gebruikers gemeenskap
- Opbouw vir koppeling Aarde stelsel komponente:
- komponente, die staat en die Coupler sagteware wat vou gebruiker kode met minimale oorhoofse
- Eenvoudige bestuurders wat gebruikers kan verander
- Sekwensiële of konkurrente uitvoering van komponente
- enkele uitvoerbare vermoë
- Beperk verskeie uitvoerbare vermoë
- Infrastruktuur vir die bou van die aarde stelsel komponente:
- Tyd Bestuurder wat insluit Gregorian, 360 dag, no-sprong, Julian, en ander agenda, asook 'n wye verskeidenheid van die tyd funksies
- Data strukture vir die stoor en manipulasie van Arrays, velde, en Bondels Fields op dieselfde rooster.
- Parallel data kommunikasie en regridding sagteware
- Boodskap meld gereedskap
- Resource lêer bestuurder
Wat is nuut in hierdie release:
- 'n fout tolerante uitbreiding na die ESMF_GridComp en ESMF_CplComp koppelvlakke het geïmplementeer.
- Verskeie verbeterings en bugfixes.
Wat is nuut in die weergawe 3.2.0r:
- Hierdie weergawe verander die kode agtertoe verenigbaarheid in staat te stel en voeg ondersteuning vir die BGA 11.x samesteller weergawe op Linux / PC en die Cray XT platform.
Wat is nuut in die weergawe 3.1.0rp2:
- Bygevoeg ondersteuning vir herhaal dimensies in Field. A & quot; 0 & quot; inskrywing in die gridToFieldMap argument in ESMF_FieldCreate () en ESMF_FieldSetCommit () dui aan dat 'n Grid dimensie is nie deel van die veld is. In plaas daarvan is die veld herhaal oor alle dv langs die ooreenstemmende Grid dimensie.
- Oorlaai ESMF_FieldCreate () na 'n Fortran verskeidenheid wyser aanvaar en sy eienskappe (soos grense en die vermoë om deallocate) bewaar.
- Oorlaai ESMF_FieldSetCommit () na 'n Fortran verskeidenheid wyser aanvaar en sy eienskappe (soos grense en die vermoë om deallocate) bewaar.
- Die Grid ondersteun nou 'n ESMF_INDEX_USER opsie vir die indexflag. Dit laat die gebruiker uitdruklik die ondergrens van hul plaaslike indeks ruimte. Dit is nodig wanneer die skep van 'n Veld van 'n Fortran verskeidenheid muis met nie-standaard kruip.
- Oorlaai ESMF_ArrayCreate () na 'n Fortran verskeidenheid wyser aanvaar en sy eienskappe (soos grense en die vermoë om deallocate) bewaar.
- Geoptimaliseerd ESMF_ArraySMM () en ESMF_ArrayBundleSMM () runtime prestasie, scalability en geheue gebruik.
- Bygevoeg ondersteuning vir optimale kommunikasie vir Arrays met verskillende verdelings dimensies en groottes in dieselfde ArrayBundle.
- Bygevoeg ondersteuning vir dv met 'n nul-elemente in DistGrid, Array en Field.
- Made localDe argument opsioneel in ESMF_ArrayGet () en ESMF_FieldGet () metodes waar nie deur oorlading beperkings verbied.
- Alarms stel om te lui by tydstap 0, op ESMF_ClockCreate (), nou behoorlik lui.
- Alarms nou behoorlik bel vir 'n horlosie in ESMF_MODE_REVERSE.
- Alarms nou behoorlik bel vir 'n horlosie met 'n negatiewe tydstap.
- Bygevoeg verstek wyser grootte ignoreer funksie te bou met behulp van nuwe omgewing veranderlikes ESMF_F90_PTR_BASE_SIZE en ESMF_F90_PTR_PLUS_RANK.
Wat is nuut in die weergawe 3.1.0rp1:.
- Added eienskappe aan die Grid klas
- Added eienskappe aan die skikking klas.
- Added minIndex en maxIndex argumente ESMF_GridGet (). Hierdie argumente is van toepassing op die eerste teël.
- Added minIndexPDimPDe en maxIndexPDimPDe argumente ESMF_DistGridGet ().
- Added ESMF_GridMatch () metode twee Grid voorwerpe te vergelyk.
- 'n nuwe afdeling in die handleiding getiteld & quot; Opstel ESMF Toets Suite Aansoeke & quot te hardloop; bygevoeg dat die uiteensetting van hoe gebruikers hul eie mpirun skrifte kan spesifiseer. ESMF nou konsekwent gebruik die instelling van die omgewing veranderlike ESMF_MPIRUN die bundel toets suite en voorbeeld programme van stapel te stuur.
- Die volgende bekende foute is vasgestel.
Kommentaar nie gevind