एन्सेम्बल कलमैन फ़िल्टर

एन्सेम्बल कल्मन फ़िल्टर (EnKF) एक पुनरावर्ती फ़िल्टर है जो बड़ी संख्या में चर वाली समस्याओं के लिए उपयुक्त है, जैसे कि भूभौतिकीय मॉडल में आंशिक अंतर समीकरणों का विवेकीकरण। EnKF की उत्पत्ति बड़ी समस्याओं के लिए कलमन फ़िल्टर के एक संस्करण के रूप में हुई (अनिवार्य रूप से, सहप्रसरण मैट्रिक्स को नमूना सहप्रसरण मैट्रिक्स द्वारा प्रतिस्थापित किया जाता है), और यह अब संयोजन पूर्वानुमान का एक महत्वपूर्ण डेटा आत्मसात घटक है। EnKF कण फिल्टर से संबंधित है (इस संदर्भ में, एक कण एक समूह सदस्य के समान है) लेकिन EnKF यह धारणा बनाता है कि इसमें शामिल सभी संभाव्यता वितरण सामान्य वितरण हैं; जब यह लागू होता है, तो यह कण फिल्टर की तुलना में बहुत अधिक कुशल होता है।

परिचय
एन्सेम्बल कल्मन फ़िल्टर (EnKF) बायेसियन अनुमान समस्या का एक मोंटे कार्लो विधि कार्यान्वयन है: मॉडल किए गए सिस्टम की स्थिति (पूर्व संभावना, जिसे अक्सर भूविज्ञान में पूर्वानुमान कहा जाता है) और डेटा संभावना की संभाव्यता घनत्व फ़ंक्शन (पीडीएफ) दी गई है।, बेयस प्रमेय का उपयोग डेटा संभावना को ध्यान में रखने के बाद पीडीएफ प्राप्त करने के लिए किया जाता है (पोस्टीरियर संभावना, जिसे अक्सर विश्लेषण कहा जाता है)। इसे बायेसियन अपडेट कहा जाता है। बायेसियन अपडेट को समय-समय पर नए डेटा को शामिल करते हुए मॉडल को आगे बढ़ाने के साथ जोड़ा जाता है। मूल कलमैन फ़िल्टर, 1960 में प्रस्तुत किया गया, मानता है कि सभी पीडीएफ सामान्य वितरण (गॉसियन धारणा) हैं और बायेसियन अपडेट द्वारा माध्य और सहप्रसरण मैट्रिक्स के परिवर्तन के लिए बीजगणितीय सूत्र प्रदान करता है, साथ ही समय में माध्य और सहप्रसरण को आगे बढ़ाने के लिए एक सूत्र प्रदान करता है, बशर्ते सिस्टम रैखिक हो। हालाँकि, उच्च-आयामी प्रणालियों के लिए सहप्रसरण मैट्रिक्स को बनाए रखना कम्प्यूटेशनल रूप से संभव नहीं है। इस कारण से, EnKFs विकसित किए गए थे। EnKFs राज्य वैक्टरों के संग्रह का उपयोग करके सिस्टम स्थिति के वितरण का प्रतिनिधित्व करते हैं, जिसे संख्यात्मक मौसम पूर्वानुमान#एनसेम्बल कहा जाता है, और सहप्रसरण मैट्रिक्स को समुच्चय से गणना किए गए नमूना सहप्रसरण द्वारा प्रतिस्थापित करते हैं। समूह को ऐसे संचालित किया जाता है जैसे कि यह एक यादृच्छिक नमूना हो, लेकिन समूह के सदस्य वास्तव में सांख्यिकीय स्वतंत्रता नहीं रखते हैं, क्योंकि वे सभी EnKF साझा करते हैं। EnKFs का एक फायदा यह है कि पीडीएफ को समय पर आगे बढ़ाने का काम केवल समूह के प्रत्येक सदस्य को आगे बढ़ाना है।

कलमैन फ़िल्टर
होने देना $$\mathbf{x}$$ निरूपित करें $$n$$एक मॉडल का -आयामी राज्य स्थान प्रतिनिधित्व, और मान लें कि इसका माध्य के साथ सामान्य वितरण है $$\mathbf{\mu}$$ और सहप्रसरण $$Q$$यानी कि इसका पीडीएफ है


 * $$ p(\mathbf{x})\propto\exp\left( -\frac{1}{2}(\mathbf{x}-\mathbf{\mu })^{\mathrm{T}}Q^{-1}(\mathbf{x}-\mathbf{\mu})\right)  . $$

यहाँ और नीचे, $$\propto$$ मतलब आनुपातिक; एक पीडीएफ को हमेशा स्केल किया जाता है ताकि पूरे स्थान पर इसका अभिन्न अंग एक हो। यह $$p(\mathbf{x})$$, जिसे पूर्व संभाव्यता कहा जाता है, मॉडल को चलाकर समय पर विकसित किया गया था और अब इसे नए डेटा के लिए अद्यतन किया जाना है। यह मान लेना स्वाभाविक है कि डेटा का त्रुटि वितरण ज्ञात है; डेटा को त्रुटि अनुमान के साथ आना होगा, अन्यथा वे अर्थहीन हैं। यहाँ, डेटा $$\mathbf{d}$$ ऐसा माना जाता है कि इसमें सहप्रसरण के साथ गॉसियन पीडीएफ है $$R$$ और मतलब $$H\mathbf{x}$$, कहाँ $$H$$ तथाकथित टोपी मैट्रिक्स है। सहप्रसरण मैट्रिक्स $$R$$ डेटा की त्रुटि के अनुमान का वर्णन करता है; यदि डेटा वेक्टर की प्रविष्टियों में यादृच्छिक त्रुटियाँ हैं $$\mathbf{d}$$ स्वतंत्र हैं, $$R$$ विकर्ण है और इसकी विकर्ण प्रविष्टियाँ डेटा वेक्टर की संबंधित प्रविष्टियों की त्रुटि के मानक विचलन ("त्रुटि आकार") के वर्ग हैं $$\mathbf{d}$$. मूल्य $$H\mathbf{x}$$ राज्य के लिए डेटा का मूल्य क्या होगा $$\mathbf{x}$$ डेटा त्रुटियों के अभाव में. फिर संभाव्यता घनत्व $$p(\mathbf{d}|\mathbf{x})$$ डेटा का $$\mathbf{d}$$ सिस्टम स्थिति की सशर्तता $$\mathbf{x}$$, जिसे संभावना फ़ंक्शन कहा जाता है, है


 * $$ p\left( \mathbf{d}|\mathbf{x}\right)  \propto\exp\left(  -\frac{1}{2}(\mathbf{d}-H\mathbf{x})^{\mathrm{T}}R^{-1}(\mathbf{d}-H\mathbf{x})\right) . $$

सिस्टम स्थिति की नई संभाव्यता घनत्व देने के लिए राज्य की पीडीएफ और संभावना फ़ंक्शन को संयोजित किया जाता है $$\mathbf{x}$$ डेटा के मूल्य पर सशर्त $$\mathbf{d}$$ (पश्च संभाव्यता) बेयस प्रमेय द्वारा#संभाव्यता घनत्व के लिए बेयस प्रमेय,


 * $$ p\left( \mathbf{x}|\mathbf{d}\right)  \propto p\left(  \mathbf{d}|\mathbf{x}\right)  p(\mathbf{x}). $$

आंकड़ा $$\mathbf{d}$$ एक बार प्राप्त होने के बाद यह तय हो जाता है, इसलिए पिछली स्थिति को इससे निरूपित करें $$\mathbf{\hat{x}}$$ के बजाय $$\mathbf{x}|\mathbf{d}$$ और पिछला पीडीएफ़ द्वारा $$p\left( \mathbf{\hat{x}}\right)  $$. इसे बीजगणितीय जोड़-तोड़ द्वारा दिखाया जा सकता है पिछला पीडीएफ भी गॉसियन है,


 * $$ p\left( \mathbf{\hat{x}}\right)  \propto\exp\left(  -\frac{1}{2}(\mathbf{\hat{x}}-\mathbf{\hat{\mu}})^{\mathrm{T}}\hat{Q}^{-1}(\mathbf{\hat{x}}-\mathbf{\hat{\mu}})\right) , $$

पश्च माध्य के साथ $$\mathbf{\hat{\mu}}$$ और सहप्रसरण $$\hat{Q}$$ कलमैन अद्यतन फ़ार्मुलों द्वारा दिया गया


 * $$ \mathbf{\hat{\mu}}=\mathbf{\mu}+K\left( \mathbf{d}-H\mathbf{\mu}\right) ,\quad\hat{Q}=\left(  I-KH\right)  Q, $$

कहाँ


 * $$ K=QH^{\mathrm{T}}\left( HQH^{\mathrm{T}}+R\right)  ^{-1}$$

तथाकथित कलमन फिल्टर#कलमैन लाभ व्युत्पत्ति मैट्रिक्स है।

कलामन फ़िल्टर इकट्ठा करें
EnKF कलमैन फ़िल्टर का एक मोंटे कार्लो सन्निकटन है, जो राज्य वेक्टर के पीडीएफ के सहप्रसरण मैट्रिक्स को विकसित करने से बचाता है $$\mathbf{x}$$. इसके बजाय, पीडीएफ को एक समूह द्वारा दर्शाया जाता है


 * $$ X=\left[ \mathbf{x}_{1},\ldots,\mathbf{x}_{N}\right]  =\left[  \mathbf{x}_{i}\right]. $$

$$X$$ एक $$n\times N$$ मैट्रिक्स जिसके कॉलम समूह सदस्य हैं, और इसे पूर्व समूह कहा जाता है। आदर्श रूप से, समूह के सदस्य पूर्व वितरण से एक यादृच्छिक नमूना बनाएंगे। हालाँकि, प्रारंभिक समूह को छोड़कर समूह के सदस्य सामान्य रूप से सांख्यिकीय स्वतंत्रता में नहीं हैं, क्योंकि प्रत्येक EnKF कदम उन्हें एक साथ जोड़ता है। उन्हें लगभग स्वतंत्र माना जाता है, और सभी गणनाएँ ऐसे आगे बढ़ती हैं मानो वे वास्तव में स्वतंत्र हों।

डेटा को दोहराएँ $$\mathbf{d}$$ एक में $$m\times N$$ आव्यूह


 * $$ D=\left[ \mathbf{d}_{1},\ldots,\mathbf{d}_{N}\right]  =\left[  \mathbf{d}_{i}\right], \quad \mathbf{d}_{i}=\mathbf{d}+\mathbf{\epsilon_{i}}, \quad \mathbf{\epsilon_{i}} \sim N(0,R), $$

ताकि प्रत्येक कॉलम $$\mathbf{d}_{i}$$ डेटा वेक्टर से मिलकर बनता है $$\mathbf{d}$$ प्लस से एक यादृच्छिक वेक्टर $$m$$-आयामी सामान्य वितरण $$N(0,R)$$. यदि, इसके अतिरिक्त, के कॉलम $$X$$ पूर्व संभाव्यता वितरण से एक नमूना है, फिर के कॉलम


 * $$ \hat{X}=X+K(D-HX) $$

पश्च संभाव्यता वितरण से एक नमूना बनाएं। इसे अदिश मामले में देखने के लिए $$H=1$$: होने देना $$x_i = \mu + \xi_i, \; \xi_i \sim N(0, \sigma_x^2)$$, और $$d_i = d + \epsilon_i, \; \epsilon_i \sim N(0, \sigma_d^2).$$ तब


 * $$\hat{x}_i = \left(\frac{1/\sigma_x^2}{1/\sigma_x^2 + 1/\sigma_d^2} \mu + \frac{1/\sigma_d^2}{1/\sigma_x^2 + 1/\sigma_d^2} d \right)+ \left(\frac{1/\sigma_x^2}{1/\sigma_x^2 + 1/\sigma_d^2} \xi_i + \frac{1/\sigma_d^2}{1/\sigma_x^2 + 1/\sigma_d^2} \epsilon_i \right) $$.

पहला योग पश्च माध्य है, और दूसरे योग में, स्वतंत्रता को ध्यान में रखते हुए, एक भिन्नता है


 * $$\left(\frac{1/\sigma_x^2}{1/\sigma_x^2 + 1/\sigma_d^2}\right)^2 \sigma_x^2 + \left(\frac{1/\sigma_d^2}{1/\sigma_x^2 + 1/\sigma_d^2}\right)^2 \sigma_d^2 = \frac{1}{1/\sigma_x^2 + 1/\sigma_d^2}$$,

जो पश्च विचरण है।

EnKF अब केवल राज्य सहप्रसरण को प्रतिस्थापित करके प्राप्त किया जाता है $$Q$$ कलमन गेन मैट्रिक्स में $$K$$ नमूना सहप्रसरण द्वारा $$C$$ समूह के सदस्यों से गणना की गई (जिसे समूह सहप्रसरण कहा जाता है), वह है: $$K=CH^{\mathrm{T}}\left( HCH^{\mathrm{T}}+R\right)  ^{-1}$$

बुनियादी सूत्रीकरण
यहां हम अनुसरण करते हैं। मान लीजिए कि संयोजन मैट्रिक्स $$X$$ और डेटा मैट्रिक्स $$D$$ उपरोक्तानुसार हैं. समुच्चय माध्य और सहप्रसरण हैं


 * $$ E\left( X\right)  =\frac{1}{N}\sum_{k=1}^{N}\mathbf{x}_{k},\quad C=\frac{AA^{T}}{N-1}, $$

कहाँ


 * $$ A=X-E\left( X\right) \mathbf{e}_{1\times N}  =X-\frac{1}{N}\left(  X\mathbf{e}_{N\times1}\right) \mathbf{e}_{1\times N}, $$

और $$\mathbf{e}$$ संकेतित आकार के सभी के मैट्रिक्स को दर्शाता है।

पीछे का पहनावा $$X^{p}$$ फिर द्वारा दिया जाता है


 * $$ X^{p}=X+CH^{T}\left( HCH^{T}+R\right)  ^{-1}(D-HX), $$

जहां परेशान डेटा मैट्रिक्स $$D$$ ऊपर जैसा है.

ध्यान दें कि तब से $$R$$ एक सहप्रसरण मैट्रिक्स है, यह हमेशा सकारात्मक अर्धनिश्चित मैट्रिक्स होता है और आमतौर पर सकारात्मक अर्धनिश्चित मैट्रिक्स होता है, इसलिए उपरोक्त व्युत्क्रम मौजूद है और सूत्र कोलेस्की अपघटन द्वारा कार्यान्वित किया जा सकता है। में, $$R$$ नमूना सहप्रसरण द्वारा प्रतिस्थापित किया जाता है $$\tilde{D} \tilde{D}^{T}/\left(  N-1\right)  $$ कहाँ $$\tilde{D} = D - \frac{1}{N} d \, \mathbf{e}_{1\times N}$$और व्युत्क्रम को छद्म व्युत्क्रम से बदल दिया जाता है, जिसकी गणना एकवचन-मूल्य अपघटन (एसवीडी) का उपयोग करके की जाती है।

चूँकि ये सूत्र प्रमुख BLAS#स्तर 3 ऑपरेशन वाले मैट्रिक्स ऑपरेशन हैं, वे LAPACK (सीरियल और साझा स्मृति वास्तुकला कंप्यूटर पर) और ScaLAPACK (वितरित मेमोरी कंप्यूटर पर) जैसे सॉफ़्टवेयर पैकेजों का उपयोग करके कुशल कार्यान्वयन के लिए उपयुक्त हैं। किसी मैट्रिक्स के व्युत्क्रम मैट्रिक्स की गणना करने और उससे गुणा करने के बजायउलटा मैट्रिक्स के चॉलेस्की अपघटन की गणना करना और व्युत्क्रम द्वारा गुणन को कई के साथ एक रैखिक प्रणाली के समाधान के रूप में मानना ​​​​बहुत बेहतर (कई गुना सस्ता और अधिक सटीक) है एक साथ दाहिनी ओर।

अवलोकन मैट्रिक्स-मुक्त कार्यान्वयन
चूँकि हमने सहप्रसरण मैट्रिक्स को असेंबल सहप्रसरण के साथ बदल दिया है, इससे एक सरल सूत्र तैयार होता है जहाँ मैट्रिक्स को स्पष्ट रूप से निर्दिष्ट किए बिना समुच्चय अवलोकनों का सीधे उपयोग किया जाता है। $$H$$. अधिक विशेष रूप से, किसी फ़ंक्शन को परिभाषित करें $$h(\mathbf{x})$$ रूप का


 * $$ h(\mathbf{x})=H\mathbf{x}. $$

कार्यक्रम $$h$$ इसे अवलोकन फ़ंक्शन कहा जाता है या, व्युत्क्रम समस्याओं के संदर्भ में, व्युत्क्रम समस्या # व्युत्क्रम समस्याओं का संभाव्य सूत्रीकरण कहा जाता है। का मान है $$h(\mathbf{x})$$ राज्य के लिए डेटा का मूल्य क्या होगा $$\mathbf{x}$$ यह मानते हुए कि माप सटीक है। फिर पीछे के पहनावे को फिर से लिखा जा सकता है


 * $$ X^{p}=X+\frac{1}{N-1}A\left( HA\right)  ^{T}P^{-1}(D-HX) $$

कहाँ


 * $$ HA=HX-\frac{1}{N}\left( \left(  HX\right)  \mathbf{e}_{N\times1}\right) \mathbf{e}_{1\times N}, $$

और


 * $$ P=\frac{1}{N-1}HA\left( HA\right)  ^{T}+R, $$

साथ


 * $$\left[ HA\right]  _{i}    =H\mathbf{x}_{i}-H\frac{1}{N}\sum_{j=1}^{N}\mathbf{x}_{j}\   =h\left(  \mathbf{x}_{i}\right)  -\frac{1}{N}\sum_{j=1}^{N}h\left( \mathbf{x}_{j}\right)  . $$

नतीजतन, अवलोकन फ़ंक्शन का मूल्यांकन करके संयोजन अद्यतन की गणना की जा सकती है $$h$$ प्रत्येक समूह सदस्य पर एक बार और मैट्रिक्स $$H$$ स्पष्ट रूप से जानने की आवश्यकता नहीं है। यह फार्मूला भी लागू है एक अवलोकन समारोह के लिए $$h(\mathbf{x})=H\mathbf{x+f}$$ एक निश्चित ऑफसेट के साथ $$\mathbf{f}$$, जिसे स्पष्ट रूप से जानने की भी आवश्यकता नहीं है। उपरोक्त सूत्र का उपयोग आमतौर पर अरेखीय अवलोकन फ़ंक्शन के लिए किया गया है $$h$$, जैसे कि तूफान भंवर की स्थिति। उस स्थिति में, अवलोकन फ़ंक्शन को अनिवार्य रूप से समूह सदस्यों पर इसके मूल्यों से एक रैखिक फ़ंक्शन द्वारा अनुमानित किया जाता है।

बड़ी संख्या में डेटा बिंदुओं के लिए कार्यान्वयन
बड़ी संख्या के लिए $$m$$ डेटा बिंदुओं का, से गुणा $$P^{-1}$$ एक अड़चन बन जाता है. डेटा बिंदुओं की संख्या होने पर निम्नलिखित वैकल्पिक सूत्र लाभप्रद है $$m$$ बड़ा है (जैसे कि ग्रिड या पिक्सेल डेटा को आत्मसात करते समय) और डेटा त्रुटि सहप्रसरण मैट्रिक्स $$R$$ विकर्ण है (यह स्थिति तब होती है जब डेटा त्रुटियां असंबद्ध होती हैं), या विघटित करने के लिए सस्ता होता है (जैसे कि सीमित सहप्रसरण दूरी के कारण बैंडेड)। शर्मन-मॉरिसन-वुडबरी फॉर्मूला का उपयोग करना
 * $$ (R+UV^{T})^{-1}=R^{-1}-R^{-1}U(I+V^{T}R^{-1}U)^{-1}V^{T}R^{-1}, $$

साथ


 * $$ U=\frac{1}{N-1}HA,\quad V=HA, $$

देता है


 * $$\begin{align} P^{-1} &  =\left(  R+\frac{1}{N-1}HA\left(  HA\right)  ^{T}\right)  ^{-1}\ =  \\

& =R^{-1}\left[  I-\frac{1}{N-1}\left(  HA\right)  \left(  I+\left( HA\right)  ^{T}R^{-1}\frac{1}{N-1}\left(  HA\right)  \right)  ^{-1}\left( HA\right)  ^{T}R^{-1}\right] , \end{align}$$ जिसके लिए केवल मैट्रिक्स वाले सिस्टम के समाधान की आवश्यकता होती है $$R$$ (सस्ता माना जाता है) और आकार की एक प्रणाली $$N$$ साथ $$m$$ दाहिनी ओर. देखना ऑपरेशन गणना के लिए.

आगे का विस्तार
यहां वर्णित EnKF संस्करण में डेटा का यादृच्छिककरण शामिल है। डेटा के यादृच्छिकीकरण के बिना फ़िल्टर के लिए, देखें। चूंकि समूह सहप्रसरण में रैंक की कमी है (समूह सदस्यों की तुलना में कई अधिक राज्य चर हैं, आम तौर पर लाखों, आमतौर पर सौ से कम), इसमें उन बिंदुओं के जोड़े के लिए बड़े शब्द हैं जो स्थानिक रूप से दूर हैं। चूँकि वास्तव में दूर के स्थानों पर भौतिक क्षेत्रों के मान इतने सहसंबद्ध नहीं हैं, दूरी के आधार पर सहप्रसरण मैट्रिक्स को कृत्रिम रूप से कम कर दिया जाता है, जो स्थानीयकृत कलमैन फ़िल्टर एल्गोरिदम को जन्म देता है। ये विधियां गणनाओं में उपयोग किए जाने वाले सहप्रसरण मैट्रिक्स को संशोधित करती हैं और परिणामस्वरूप, पीछे का पहनावा अब केवल पिछले संयोजन के रैखिक संयोजनों से नहीं बना है।

गैर-रेखीय समस्याओं के लिए, EnKF गैर-भौतिक अवस्थाओं के साथ पश्च संयोजन बना सकता है। इसे तिखोनोव नियमितीकरण द्वारा कम किया जा सकता है, जैसे कि बड़े स्थानिक ग्रेडियेंट  वाले राज्यों की दंड विधि।

सुसंगत विशेषताओं वाली समस्याओं, जैसे कि तूफान, तूफान, आग रेखा,  तूफान रेखा  और बारिश के मोर्चों के लिए, अंतरिक्ष (इसके ग्रिड) में राज्य को विकृत करके और साथ ही राज्य के आयामों को सही करके संख्यात्मक मॉडल स्थिति को समायोजित करने की आवश्यकता है।. 2007 में, रवेला एट अल। एनसेंबल का उपयोग करके संयुक्त स्थिति-आयाम समायोजन मॉडल पेश करें, और व्यवस्थित रूप से एक अनुक्रमिक सन्निकटन प्राप्त करें जिसे एनकेएफ और अन्य फॉर्मूलेशन दोनों पर लागू किया जा सकता है। उनकी पद्धति यह धारणा नहीं बनाती है कि आयाम और स्थिति त्रुटियां स्वतंत्र या संयुक्त रूप से गॉसियन हैं, जैसा कि अन्य करते हैं। रूप बदलना  एनकेएफ राज्यों के रैखिक संयोजनों के बजाय, छवि पंजीकरण और मॉर्फिंग से उधार ली गई तकनीकों द्वारा प्राप्त मध्यवर्ती राज्यों को नियोजित करता है। औपचारिक रूप से, EnKF गॉसियन धारणा पर भरोसा करते हैं। व्यवहार में इनका उपयोग अरैखिक समस्याओं के लिए भी किया जा सकता है, जहां गॉसियन धारणा संतुष्ट नहीं हो सकती है। एनकेएफ में गॉसियन धारणा को शिथिल करने का प्रयास करने वाले संबंधित फिल्टर, इसके फायदों को संरक्षित करते हुए, इसमें ऐसे फिल्टर शामिल हैं जो कई गॉसियन कर्नेल के साथ राज्य पीडीएफ को फिट करते हैं, फ़िल्टर जो गाऊसी मिश्रण द्वारा राज्य पीडीएफ का अनुमान लगाते हैं, घनत्व अनुमान द्वारा कण भार की गणना के साथ कण फिल्टर का एक प्रकार, और कण फ़िल्टर#अनुक्रमिक महत्व पुनः नमूनाकरण (एसआईआर) को कम करने के लिए कॉची वितरण डेटा पीडीएफ के साथ कण फ़िल्टर का एक प्रकार।

यह भी देखें

 * डेटा आत्मसात
 * संख्यात्मक मौसम भविष्यवाणी#समूह
 * कण फिल्टर
 * पुनरावर्ती बायेसियन अनुमान

बाहरी संबंध

 * EnKF webpage
 * TOPAZ, real-time forecasting of the North Atlantic ocean and Arctic sea-ice with the EnKF
 * EnKF-C, a compact framework for data assimilation into large-scale layered geophysical models with the EnKF
 * PDAF – Parallel Data Assimilation Framework – an open-source software for data assimilation providing different variants of the EnKF