ESMF (Земля Система Modeling Framework) є програма для створення високопродуктивних, гнучкою інфраструктури програмного забезпечення для підвищення зручності використання, мобільність продуктивності, сумісності та повторно використовувати в кліматі, чисельного прогнозу погоди, асиміляції даних, ESMF визначає архітектуру для побудови складних, пов'язаних систем моделювання і включає в себе структури даних і утиліти для розробки індивідуальних моделей.
Основна ідея ESMF в тому, що складні додатки повинні бути розбиті на більш дрібні шматки, та компонентів. Компонент це одиниця композиції програмного забезпечення, який має послідовну функцію і стандартного інтерфейсу викликає і поведінки. Компоненти можуть бути зібрані для створення декількох додатків, а також різні реалізації компоненту можуть бути недоступні. У ESMF, компонент може являти собою фізичну домену або функції, такі як муфти або системи введення / виводу.
ESMF також включає в себе інструментарій для побудови компонентів і додатків, таких як regridding програмного забезпечення, управління календарем, реєстрації та обробки помилок, і паралельних комунікацій.
На малюнку нижче представлені компоненти ESMF на практиці. Це схема структури НАСА GEOS-5 загальної циркуляції атмосфери модель, побудована з нуля, використовуючи ESMF. Кожен з боксів ESMF компонент, в тому числі з'єднувачів. Ієрархічного дерева компонентів може бути "відрізав" на різних рівнях, так що весь пакет фізики можуть бути замінені або один параметризація. Кожен компонент є потенційно "заміни".
Особливості
- 90 Інтерфейс повний Fortran, часткова C / C ++ інтерфейс
- Fortran 90 Довідкове керівництво і керівництво користувача
- працює на більшості високопродуктивних паралельних обчислень платформ, у тому числі IBM, варіанти багатьох Linux, Cray, Compaq, більш (див тут для повного списку)
- Підтримка MPI, OpenMP і коди гібрид користувачів
- 2500+ випробування в комплекті з дистрибутивом вихідного коду
- Безкоштовна підтримка користувачів
- активна спільнота користувачів
- Компонент, держави і навісного програмне забезпечення, яке огортає код користувача з мінімальними накладними витратами
- Прості драйвери, які користувачі можуть змінювати
- Послідовний або паралельне виконання компонентів
- Один виконуваний можливість
- Обмежена кілька виконуваний можливість
- Інфраструктура для створення компонентів системи Земля:
- Диспетчер Час, який включає в себе григоріанський, 360 день, не високосний, Джуліан, і інші календарі, а також широкий спектр функцій часу
- Структури даних для зберігання і маніпулювання масивами, поля і Зв'язки полів на одній і тій же мережі.
- Паралельні передачі даних і regridding програмне забезпечення
- Реєстрація повідомлень інструменти
- файловий менеджер ресурсів
<Клас Li = "bbli"> Надбудова для компонентів системи зв'язку Земля:
Що нового У цьому випуску:
- відмовостійка розширення інтерфейсів ESMF_GridComp і ESMF_CplComp має були реалізовані.
- Численні поліпшення і виправлення.
Що нового у версії 3.2.0r:
- Ця версія змінює код для того, щоб зворотну сумісність і додана підтримка для ОПИ 11.x компілятора версії на базі Linux / ПК і платформи Cray XT.
Що нового у версії 3.1.0rp2:
- Додана підтримка відтворені розмірів в поле. І Quot; 0 & Quot; вхід в аргументі gridToFieldMap в ESMF_FieldCreate () і ESMF_FieldSetCommit () вказує, що розмір сітки не є частиною області. Замість поле копіюється на всі КЕУ за відповідною розмірності сітки.
- Перевантажений ESMF_FieldCreate (), щоб прийняти Fortran покажчик масиву і зберегти свої властивості (наприклад, меж і можливість звільнити).
- Перевантажений ESMF_FieldSetCommit (), щоб прийняти Fortran покажчик масиву і зберегти свої властивості (наприклад, меж і можливість звільнити).
- Сітка тепер підтримує опцію ESMF_INDEX_USER для indexflag. Це дозволяє користувачеві явно вказати нижню межу їх локальному просторі індексу. Це необхідно при створенні поля з Fortran покажчик масиву з нестандартною індексації.
- Перевантажений ESMF_ArrayCreate (), щоб прийняти Fortran покажчик масиву і зберегти свої властивості (наприклад, меж і можливість звільнити).
- Оптимізований ESMF_ArraySMM () і ESMF_ArrayBundleSMM () продуктивність виконання, масштабованість і використання пам'яті.
- Додана підтримка для оптимізації комунікацій для масивів з різними розподілами, розмірів і розмірів в одній і тій же ArrayBundle.
- Додана підтримка КЕУ з нульовими елементами в DistGrid, Array і поля.
- Зроблено аргумент localDe додатково на ESMF_ArrayGet () і ESMF_FieldGet () методи, де не заборонені перевантаження обмеження.
- Сигнали встановити на будь TimeStep 0, на ESMF_ClockCreate (), тепер дзвонять належним чином.
- Сигнали зараз подзвоню правильно для годин в ESMF_MODE_REVERSE.
- Сигнали зараз подзвоню правильно для годинника з використанням негативний TimeStep.
- функція розмір покажчика корекції Додав замовчуванням використовується для складання системи з використанням нових змінних оточення ESMF_F90_PTR_BASE_SIZE і ESMF_F90_PTR_PLUS_RANK.
Що нового у версії 3.1.0rp1 :.
- Додана Атрибути для класу грід -
- Додана Атрибути для класу Array.
- Додана minIndex і maxIndex аргументи ESMF_GridGet (). Ці аргументи застосовні до першого плитки.
- Додана minIndexPDimPDe і maxIndexPDimPDe аргументи ESMF_DistGridGet ().
- Додана ESMF_GridMatch () метод, щоб порівняти два об'єкти сітки.
- Новий розділ в керівництві користувача під назвою & Quot; Налаштування ESMF запустити тестовий набір додатків & Quot; Було додано, що описується, як користувачі можуть вказати свої власні скрипти mpirun. ESMF тепер постійно використовує настройки змінної середовища ESMF_MPIRUN для запуску в комплекті тестового набору і приклади додатків.
- Наступні відомо помилки були виправлені.
Коментар не знайдено