ESMF (Earth System Modeling Рамковата) е програма за изграждане на високо-производителни, гъвкава софтуерна инфраструктура, за да се увеличи лесна употреба, преносимост на производителността, съвместимостта, и повторно използване в климата, числено прогнозиране на времето, асимилация данни, The ESMF дефинира архитектурата за съставяне на сложни, съчетани системи за моделиране и включва структури от данни и помощни програми за развитие на отделните модели.
Основната идея зад ESMF е, че сложните приложения трябва да бъдат разделени на по-малки парчета, или компоненти. A компонент е единица за софтуер състав, който да има последователна функция, и стандартен призвание интерфейс и поведение. Компоненти могат да бъдат сглобени, за да създадете множество приложения, както и различни реализации на един компонент може да бъде на разположение. В ESMF, компонент може да бъде физическо домейн, или функция, като например I / O система съединител или.
ESMF включва и комплекти от инструменти за изграждане на компоненти и приложения, като regridding софтуер, управление на календара, дърводобив и обработка на грешки, и паралелни комуникации.
Фигурата по-долу показва ESMF компоненти на практика. Това е схема на структурата на NASA ГЕОС-5 Атмосферно общото кръвообращение модел, изграден от нулата с помощта ESMF. Всяка от кутиите е компонент ESMF, включително купелуване. Йерархичната дървото на компоненти могат да бъдат "отряза" на различни нива, така че целият пакет физика може да се замени, или един параметризация. Всеки компонент е потенциално "замяна".
<силни> Характеристики :
- Full Fortran 90 интерфейс, частично C / C ++ интерфейс
- Fortran 90 наръчник и Ръководство на потребителя,
- работи на повечето високопроизводителни паралелни изчисления платформи, включително IBM, мнозина Linux варианти, Cray, Compaq, повече (виж тук за пълния списък)
- Поддържа MPI, OpenMP и хибриден потребителски кода
- 2500+ тестове комплект с това разпространение
- Free потребителска поддръжка
- Active потребителска общност
- Component, държавна и Съединител софтуер, който обвива потребителски код с минимални режийни
- Обикновено шофьорите, които потребителите могат да променят
- последователно или едновременно изпълнение на компоненти
- един изпълним способност
- Limited множествена изпълним способност
- Мениджър на времето, която включва григорианския, 360дни, не-скок, Julian, и други календари, както и широка гама от функции време
- Структури от данни за съхранение и манипулиране на масиви, Fields, и връзките с Fields на една и съща мрежа.
- Паралелен обмен на данни и regridding софтуер
- Съобщение за дърводобив инструменти
- Resource файлов мениджър
<Ли клас = "bbli"> Каросерия за системни компоненти прикачване на Земята:
<Ли клас = "bbli"> инфраструктура за изграждане на елементи на системата за Земята:
Какво ново в тази версия:
- отказоустойчива разширение на интерфейсите ESMF_GridComp и ESMF_CplComp има са изпълнени.
- Многобройни подобрения и поправки на грешки.
Какво ново във версия 3.2.0r:
- Тази версия модифицира кода да се даде възможност на обратна съвместимост и добавя поддръжка за ЗГУ 11.x компилатор версия на Linux / PC и платформата на Cray XT.
Какво ново във версия 3.1.0rp2:
- Добавена е поддръжка за повторен измерения в полето. A & quot; 0 & quot; влизане в аргумента на gridToFieldMap в ESMF_FieldCreate () и ESMF_FieldSetCommit () показва, че растер не е част от полето. Вместо това поле е повторен във всички ОБ по съответния измерение Grid.
- Претоварени ESMF_FieldCreate () да приеме Fortran масив показалеца и запази своите свойства (като граници и способността да преразпредели).
- Претоварени ESMF_FieldSetCommit () да приеме Fortran масив показалеца и запази своите свойства (като граници и способността да преразпредели).
- The Grid вече поддържа опция ESMF_INDEX_USER за indexflag. Това позволява на потребителя да изрично определя долната граница на техния местен индекс пространство. Това е необходимо, когато се създава Невярно от Fortran масив показалка с нестандартна индексиране.
- Претоварени ESMF_ArrayCreate () да приеме Fortran масив показалеца и запази своите свойства (като граници и способността да преразпредели).
- Оптимизиран ESMF_ArraySMM () и ESMF_ArrayBundleSMM () представяне по време на работа, мащабируемост и използване на паметта.
- Добавена е поддръжка за оптимизирани съобщения за масиви с различни дистрибуции, размери и размери в същото ArrayBundle.
- Добавена е поддръжка за ОБ с нулеви елементи в DistGrid, Array атлетика.
- тезата localDe избор в ESMF_ArrayGet () и ESMF_FieldGet () методи, при които не са забранени от претоварване ограничения.
- Аларми нагласен да звъни в timeStep 0, след ESMF_ClockCreate (), сега звънят правилно.
- Аларми сега звънят правилно за Clock в ESMF_MODE_REVERSE.
- Аларми сега звънят правилно за Clock чрез използване на отрицателен timeStep.
- функция размер показалеца Постоянна Добавен подразбиране да се изгради система за използване на нови системни променливи ESMF_F90_PTR_BASE_SIZE и ESMF_F90_PTR_PLUS_RANK.
Какво ново във версия 3.1.0rp1:.
- Добавено атрибути към класа на Grid
- Добавено атрибути към класа Array.
- Добавено minIndex и maxIndex аргументи да ESMF_GridGet (). Тези аргументи важат за първата плочка.
- Добавено minIndexPDimPDe и maxIndexPDimPDe аргументи за ESMF_DistGridGet ().
- Добавено ESMF_GridMatch () метод, за да се сравнят две Grid обекти.
- Нов раздел в Ръководството за потребителя на тема & quot; Създаване ESMF да тече Suite Приложения & quot изпитвания; се добавя, че очертава как потребителите могат да определят собствените си mpirun скриптове. ESMF сега последователно използва настройката на околната среда променлива ESMF_MPIRUN да стартира пакетни апартамент и примерни тестови приложения.
- Следващите известен бяха отстранени.
Коментари не е намерена