ESMF (Earth mẫu hệ thống Framework) là một chương trình để xây dựng hiệu suất cao, cơ sở hạ tầng phần mềm linh hoạt để tăng tính dễ sử dụng, tính di động hiệu suất, khả năng tương tác, và tái sử dụng trong môi trường, dự báo thời tiết số, dữ liệu đồng hóa, The ESMF định nghĩa một kiến trúc cho sáng tác phức tạp, hệ thống mô hình kết hợp và bao gồm các cấu trúc dữ liệu và tiện ích cho việc phát triển mô hình cá nhân.
Ý tưởng cơ bản đằng sau ESMF là các ứng dụng phức tạp nên được chia ra thành từng miếng nhỏ, hoặc các thành phần. Một thành phần là một đơn vị của các thành phần phần mềm có chức năng mạch lạc, và một giao diện gọi điện thoại tiêu chuẩn và hành vi. Các thành phần có thể được lắp ráp để tạo ra nhiều ứng dụng, và hiện thực khác nhau của một thành phần có thể có sẵn. Trong ESMF, một thành phần có thể là một miền vật lý, hoặc một chức năng như một coupler hoặc hệ thống O / I.
ESMF cũng bao gồm bộ công cụ để xây dựng các thành phần và các ứng dụng, chẳng hạn như regridding phần mềm, quản lý lịch, khai thác gỗ và xử lý lỗi, và truyền thông song song.
Hình dưới đây cho thấy các thành phần ESMF trong thực tế. Nó là một sơ đồ cấu trúc của các Circulation NASA GEOS-5 quyển chung Model, được xây dựng từ mặt đất lên bằng ESMF. Mỗi hộp là một thành phần ESMF, bao gồm các bộ ghép. Các cây phân cấp các thành phần có thể được "snipped" ở mức độ khác nhau do đó toàn bộ gói vật lý có thể được thay thế, hoặc một tham số duy nhất. Mỗi thành phần là có khả năng "có thể thay thế."
Tính năng :
- Full Fortran 90 giao diện, phần C / C ++ giao diện
- Manual Fortran 90 và tham khảo Hướng dẫn sử dụng
- cho phép chạy trên hầu hết các nền tảng điện toán song song hiệu năng cao, bao gồm cả IBM, nhiều biến thể Linux, Cray, Compaq, nhiều hơn (xem tại đây để xem danh sách đầy đủ)
- Hỗ trợ Bộ KH & ĐT, OpenMP và mã số người sử dụng lai
- 2500 kiểm tra kèm với phân phối nguồn
- hỗ trợ người sử dụng miễn phí
- cộng đồng người dùng hoạt động
- Superstructure cho các thành phần hệ thống khớp nối Earth:
- Hợp phần, Nhà nước và phần mềm Coupler mà kết thúc tốt đẹp mã người dùng với chi phí tối thiểu
- trình điều khiển đơn giản mà người dùng có thể chỉnh sửa
- thực hiện tuần tự hoặc đồng thời các thành phần
- khả năng thực thi đơn
- khả năng thực thi nhiều TNHH
- Cơ sở hạ tầng để xây dựng các thành phần hệ thống Trái đất:
- Time Manager bao gồm Gregorian, 360 ngày, không có bước nhảy vọt, Julian, và lịch khác, cũng như một loạt các chức năng thời gian
- Cấu trúc dữ liệu để lưu trữ và thao tác của Mảng, Fields, và Gói của Fields trên lưới cùng.
- truyền dữ liệu song song và phần mềm regridding
- Công cụ làm việc khai thác gỗ
- Quản lý tập tin nguồn
là gì mới trong phiên bản này:
- Một phần mở rộng chịu lỗi với các giao diện ESMF_GridComp và ESMF_CplComp có được thực hiện.
- Nhiều cải tiến và sửa lỗi.
là gì mới trong phiên bản 3.2.0r:
- Phiên bản này sửa đổi các mã để cho phép tương thích ngược và thêm hỗ trợ cho các phiên bản 11.x biên dịch PGI trên Linux / PC và nền tảng Cray XT.
là gì mới trong phiên bản 3.1.0rp2:
- Hỗ trợ các kích thước nhân rộng trong Dòng. A & quot; 0 & quot; entry trong đối số gridToFieldMap trong ESMF_FieldCreate () và ESMF_FieldSetCommit () chỉ ra rằng một chiều lưới không phải là một phần của Dòng. Thay vào đó, Dòng được nhân rộng trên khắp cả des dọc Lưới kích thước tương ứng.
- Quá tải ESMF_FieldCreate () để chấp nhận một con trỏ mảng Fortran và bảo quản tài sản của mình (chẳng hạn như giới hạn và khả năng deallocate).
- Quá tải ESMF_FieldSetCommit () để chấp nhận một con trỏ mảng Fortran và bảo quản tài sản của mình (chẳng hạn như giới hạn và khả năng deallocate).
- Các Lưới bây giờ hỗ trợ một tùy chọn ESMF_INDEX_USER cho indexflag. Điều này cho phép người dùng thiết lập một cách rõ ràng dưới của không gian chỉ số địa phương của họ. Điều này là cần thiết khi tạo một Field từ một mảng con trỏ Fortran với chỉ mục không chuẩn.
- Quá tải ESMF_ArrayCreate () để chấp nhận một con trỏ mảng Fortran và bảo quản tài sản của mình (chẳng hạn như giới hạn và khả năng deallocate).
- Tối ưu ESMF_ArraySMM () và ESMF_ArrayBundleSMM () hiệu suất thời gian chạy, khả năng mở rộng và bộ nhớ sử dụng.
- Thêm hỗ trợ cho truyền thông tối ưu hóa cho Arrays với phân phối khác nhau, kích thước và kích thước trong ArrayBundle cùng.
- Thêm hỗ trợ cho DES với số không nguyên tố trong DistGrid, Array và Field.
- Made luận localDe tùy chọn trong ESMF_ArrayGet () và ESMF_FieldGet () phương pháp mà không bị cấm bởi những hạn chế quá tải.
- Báo động thiết lập đổ chuông timestep 0, khi ESMF_ClockCreate (), bây giờ gọi đúng.
- Báo động tại vòng đúng cho một đồng hồ trong ESMF_MODE_REVERSE.
- Báo động tại vòng đúng cho một đồng hồ sử dụng một bước thời gian tiêu cực.
- tính năng kích thước con trỏ đè thêm mặc định để xây dựng hệ thống sử dụng các biến môi trường mới ESMF_F90_PTR_BASE_SIZE và ESMF_F90_PTR_PLUS_RANK.
là gì mới trong phiên bản 3.1.0rp1:
- Added thuộc tính cho lớp lưới
- Added thuộc tính cho lớp Array.
- Added minIndex và lập luận maxIndex để ESMF_GridGet (). Những lý luận áp dụng cho gạch đầu tiên.
- Added minIndexPDimPDe và maxIndexPDimPDe luận để ESMF_DistGridGet ().
- Added ESMF_GridMatch () để so sánh hai đối tượng Grid.
- Một phần mới trong hướng dẫn người dùng quyền & quot; Thiết lập ESMF chạy Test Suite Ứng dụng & quot; đã được thêm vào đó vạch ra cách thức người dùng có thể chỉ định các kịch bản mpirun riêng của họ. ESMF nay thường xuyên sử dụng các thiết lập của môi trường ESMF_MPIRUN biến để khởi động các bộ kiểm tra và ví dụ ứng dụng đóng gói.
- Các lỗi sau đây được biết đến đã được cố định.
Bình luận không