ESMF (Σύστημα Γη πλαίσιο μοντελοποίησης) είναι ένα πρόγραμμα για τη δημιουργία υψηλής απόδοσης, ευέλικτη υποδομή λογισμικού για την αύξηση ευκολία χρήσης, φορητότητα απόδοση, τη διαλειτουργικότητα και την επαναχρησιμοποίηση στο κλίμα, στην αριθμητική πρόγνωση και την αφομοίωση των δεδομένων, η ESMF ορίζει μια αρχιτεκτονική για τη σύνθεση πολύπλοκων, σε συνδυασμό συστημάτων μοντελοποίησης και περιλαμβάνει τις δομές δεδομένων και υπηρεσιών κοινής ωφέλειας για την ανάπτυξη των ατομικών μοντέλων.
Η βασική ιδέα πίσω από ESMF είναι ότι οι περίπλοκες εφαρμογές θα πρέπει να σπάσει σε μικρότερα κομμάτια, ή τα συστατικά. Ένα συστατικό είναι μια μονάδα σύνθεσης λογισμικού που έχει μια συνεκτική λειτουργία, καθώς και μια τυπική διασύνδεση κλήσης και τη συμπεριφορά. Εξαρτήματα μπορεί να συναρμολογηθεί για να δημιουργήσετε πολλαπλές εφαρμογές, καθώς και διαφορετικές εφαρμογές ενός συστατικού μπορεί να είναι διαθέσιμες. Σε ESMF, ένα συστατικό μπορεί να είναι ένα φυσικό τομέα, ή μια λειτουργία, όπως ένα συζεύκτη ή I / O του συστήματος.
ESMF περιλαμβάνει επίσης εργαλείων για την κατασκευή εξαρτημάτων και εφαρμογές, όπως regridding λογισμικού, διαχείριση ημερολογίου, την καταγραφή και την αντιμετώπιση των λαθών, και παράλληλη επικοινωνία.
Το παρακάτω σχήμα δείχνει τα συστατικά ESMF στην πράξη. Είναι ένα διάγραμμα της δομής της NASA GEOS-5 Ατμοσφαιρική Γενική Κυκλοφορία μοντέλο, που χτίστηκε από το μηδέν με τη χρήση ESMF. Κάθε ένα από τα κουτιά είναι ένα συστατικό ESMF, συμπεριλαμβανομένων των ζευκτών. Η ιεραρχική δομή των συστατικών μπορεί να "ψαλίδισε" σε διαφορετικά επίπεδα, έτσι ώστε θα μπορούσε να αντικατασταθεί ολόκληρο το πακέτο της φυσικής, ή ένα μόνο παραμετροποίηση. Κάθε συστατικό είναι δυνητικά "swappable".
Χαρακτηριστικά :
- Πλήρης Fortran 90 διασύνδεση, μερική C / C ++ διεπαφή
- Fortran 90 Εγχειρίδιο Αναφοράς και οδηγός χρήσης
- τρέχει στις περισσότερες πλατφόρμες υψηλής απόδοσης παράλληλων υπολογιστών, όπως οι IBM, πολλές παραλλαγές Linux, Cray, Compaq, περισσότερο (δείτε εδώ για την πλήρη λίστα)
- Υποστηρίζει MPI, OpenMP και τους κωδικούς υβριδικά χρήστη
- 2500 + δοκιμές συνδυασμένη με τη διανομή πηγή
- Δωρεάν υποστήριξη χρηστών
- ενεργή κοινότητα χρηστών
- υπερδομή για τα εξαρτήματα του συστήματος ζεύξης Γη:
- Component, μέλος και λογισμικό Coupler που τυλίγει τον κωδικό χρήστη με ελάχιστη επιβάρυνση
- Απλή οδηγούς ότι οι χρήστες μπορούν να τροποποιήσουν
- διαδοχική ή ταυτόχρονη εκτέλεση των συνιστωσών
- ενιαίο εκτελέσιμο ικανότητα
- Περιορισμένη πολλαπλές εκτελέσιμο ικανότητα
- Υποδομής για την κατασκευή εξαρτημάτων του συστήματος της Γης:
- Διαχείριση Χρόνου, που περιλαμβάνει Γρηγοριανό, 360 ημέρες, χωρίς άλμα, Τζούλιαν, και άλλα ημερολόγια, καθώς και ένα ευρύ φάσμα λειτουργιών του χρόνου
- Δομές δεδομένων για την αποθήκευση και το χειρισμό των πινάκων, Πεδία, και δέσμες των πεδίων στο ίδιο δίκτυο.
- Παράλληλες επικοινωνίες δεδομένων και regridding λογισμικού
- εργαλεία καταγραφής Μήνυμα
- Διαχείριση αρχείων πόρων
Τι είναι καινούργιο σε αυτήν την έκδοση:
- ένας ανεκτικός σε σφάλματα επέκταση των ESMF_GridComp και ESMF_CplComp διεπαφές έχει έχουν υλοποιηθεί.
- Πολλές βελτιώσεις και διορθώσεις σφαλμάτων.
Τι είναι καινούργιο στην έκδοση 3.2.0r:
- Αυτή η έκδοση τροποποιεί τον κώδικα για να ενεργοποιήσετε τα πίσω συμβατότητα και προσθέτει υποστήριξη για την ΠΓΕ 11.x έκδοση compiler σε Linux / Υ και την πλατφόρμα Cray XT.
Τι είναι καινούργιο στην έκδοση 3.1.0rp2:
- Προστέθηκε υποστήριξη για να αναπαραχθεί διαστάσεις στο πεδίο. A & quot? 0 & quot? εγγραφή στο επιχείρημα gridToFieldMap σε ESMF_FieldCreate () και ESMF_FieldSetCommit () δείχνει ότι η διάσταση του δικτύου δεν είναι μέρος του πεδίου. Αντ 'αυτού το πεδίο αντιγράφεται σε όλα τα ΥΝ κατά μήκος της αντίστοιχης διάστασης Grid.
- Υπερφόρτωση ESMF_FieldCreate () για να δεχτεί μια Fortran δείκτης του πίνακα και να διατηρήσει τις ιδιότητές του (όπως όρια και την ικανότητα να deallocate).
- Υπερφόρτωση ESMF_FieldSetCommit () για να δεχτεί μια Fortran δείκτης του πίνακα και να διατηρήσει τις ιδιότητές του (όπως όρια και την ικανότητα να deallocate).
- Το Δίκτυο υποστηρίζει τώρα μια επιλογή ESMF_INDEX_USER για την indexflag. Αυτό επιτρέπει στο χρήστη να ρυθμίσει το κατώτερο όριο των τοπικών χώρο τους δείκτη ρητά. Αυτό είναι απαραίτητο κατά τη δημιουργία ενός πεδίου από μια Fortran δείκτης του πίνακα με μη-τυπική ευρετηρίαση.
- Υπερφόρτωση ESMF_ArrayCreate () για να δεχτεί μια Fortran δείκτης του πίνακα και να διατηρήσει τις ιδιότητές του (όπως όρια και την ικανότητα να deallocate).
- Βελτιστοποιημένη ESMF_ArraySMM () και ESMF_ArrayBundleSMM () τις επιδόσεις εκτέλεσης, επεκτασιμότητα και της μνήμης.
- Προστέθηκε υποστήριξη για βελτιστοποιημένη επικοινωνίας για πίνακες με διαφορετικές διανομές, τις διαστάσεις και τα μεγέθη στο ίδιο ArrayBundle.
- Προστέθηκε υποστήριξη για ΥΝ με μηδενικά στοιχεία σε DistGrid, Array και πεδίο.
- Made επιχείρημα 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:.
- πρόσθεσε χαρακτηριστικά στην κατηγορία Grid
- πρόσθεσε χαρακτηριστικά στην κατηγορία Array.
- Προστέθηκε minIndex και maxIndex επιχειρήματα για να ESMF_GridGet (). Τα επιχειρήματα αυτά ισχύουν για το πρώτο ντόμινο.
- Προστέθηκε minIndexPDimPDe και maxIndexPDimPDe επιχειρήματα για να ESMF_DistGridGet ().
- Προστέθηκε ESMF_GridMatch () μέθοδος για να συγκρίνουμε δύο αντικείμενα Grid.
- Μια νέα ενότητα στο εγχειρίδιο με τίτλο & quot? Ρύθμιση ESMF να τρέξει Test Suite Εφαρμογές & quot? Προστίθεται ότι περιγράφει πώς οι χρήστες μπορούν να προσδιορίζουν το δικό τους mpirun σενάρια. ESMF τώρα χρησιμοποιεί συνεχώς τη ρύθμιση της μεταβλητής περιβάλλοντος ESMF_MPIRUN να ξεκινήσει τις πακέτο σουίτα και το παράδειγμα δοκιμή εφαρμογών.
- Οι παρακάτω γνωστά σφάλματα έχουν καθοριστεί.
Τα σχόλια δεν βρέθηκε