• Keine Ergebnisse gefunden

Ensemble Data Assimilationwith the Parallel Data Assimilation Framework

N/A
N/A
Protected

Academic year: 2022

Aktie "Ensemble Data Assimilationwith the Parallel Data Assimilation Framework"

Copied!
29
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)Ocean Sciences Meeting, Portland, Oregon, USA, 2/13/2018. Tutorial T002. Ensemble Data Assimilation with the Parallel Data Assimilation Framework Lars Nerger Alfred Wegener Institute, Bremerhaven, Germany Special thanks to: Himansu Pradhan, Martin Losch.

(2) Overview. • Overview of ensemble data assimilation • Data assimilation software PDAF (Parallel Data Assimilation Framework) • Implementation example MITgcm. Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(3) Overview of Ensemble Data Assimilation. Lars Nerger. Introduction to Ensemble Data Assimilation.

(4) Data Assimilation – Motivation mg/m3. mg/m3. biogeochemical model. satellite data (1 day) Data Assimilation. Combine both information source to obtain better estimate of system state Lars Nerger& W.W. Gregg, J.Tutorial: Assimilation L. Nerger MarineEnsemble Syst. 68 Data (2007) 237-254with PDAF.

(5) Data Assimilation Combine model with real data § Optimal estimation of system state: • initial conditions. (for weather/ocean forecasts, …). • state trajectory. (temperature, concentrations, …). • parameters. (growth of phytoplankton, …). • fluxes. (heat, primary production, …). • boundary conditions€ and forcing. (wind stress, …). § More advanced: Improvement of model formulation • Detect systematic errors (bias) • Revise parameterizations based on parameter estimates. Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(6) Needed for Data Assimilation. 1. Model • with some skill 2. Observations • with finite errors € model fields • related to. 3. Data assimilation method. Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(7) Models Simulate dynamics of ocean § Numerical formulation of relevant terms § Discretization with finite resolution in time and space § “forced” by external sources (atmosphere, river inflows) § Uncertainties. Lars Nerger. •. initial model fields. •. external forcing. •. in predictions due to model formulation. Unstructured mesh in North-east Atlantic. Tutorial: Ensemble Data Assimilation with PDAF.

(8) Observations Measure different fields in the Ocean § Remote sensing § E.g. surface temperature, salinity, sea surface height, ocean color, sea ice concentrations & thickness § In situ § Argo, CTD, Gliders, … § Data is sparse: some fields, data gaps § Uncertainties § Measurement errors § Representation errors: Model and data do not represent exactly the same (e.g. cause by finite model resolution) Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(9) Example: Physical Data in North & Baltic Seas Avalable T and S profiles during July 2008. Satellite surface temperature (12-hour composite). 64oN. 60oN. 56oN. 52oN. 48oN. 0o. 8oE. 16oE. MARNET stations Scanfish and CTD profiles Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF. 24oE.

(10) Ensemble-based Kalman Filter First formulated by G. Evensen (EnKF, J. Geophys. Res. 1994) Kalman filter: express probability distributions by mean and covariance matrix EnKF: Use ensembles to represent probability distributions. There are many possible choices!. forecast. ensemble forecast initial sampling. analysis ensemble transformation. state estimate. time 0 Lars Nerger. observation time 1. time 2. Tutorial: Ensemble Data Assimilation with PDAF. Leads to different filter methods.

(11) Ensemble Covariance Matrix § Ensemble represents state estimate and its uncertainty § uncertainty information (variances + covariances) § Generated dynamically by propagating ensemble of model states. Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(12) Data Assimilation Software PDAF (Parallel Data Assimilation Framework). Lars Nerger. Introduction to Ensemble Data Assimilation.

(13) PDAF: A tool for data assimilation PDAF - Parallel Data Assimilation Framework § a program library for ensemble data assimilation § provide support for parallel ensemble forecasts § provide fully-implemented & parallelized filters and smoothers (EnKF, LETKF, NETF, EWPF … easy to add more) § easily useable with (probably) any numerical model (applied with MITgcm, NEMO, FESOM, HBM, TerrSysMP, …) § run from laptops to supercomputers (Fortran, MPI & OpenMP) § first public release in 2004; continued development § ~280 registered users; community contributions Open source: Code and documentation available at. http://pdaf.awi.de Lars Nerger. Ensemble Data Assimilation with L. Nerger, W. Tutorial: Hiller, Computers & Geosciences 55PDAF (2013) 110-118.

(14) Offline coupling – separate programs Assimilation program. Model Start Aaaaaaaa. Initialize Model. Aaaaaaaa generate mesh. Start Aaaaaaaa. Initialize fields. aaaaaaaaa Do i=1, nsteps. read ensemble files. Aaaaaaaa analysis step. Time stepper. aaaaaaaa write model a restart files. consider BC Consider forcing. ⬅ generic. Stop. Post-processing Stop. For each ensemble state • Initialize from restart files • Integrate • Write restart files Lars Nerger. • • •. Read restart files (ensemble) Compute analysis step Write new restart files. Tutorial: Ensemble Data Assimilation with PDAF.

(15) Online Coupling Single program Model initialization time integration post processing. state time. mesh data/coordinates. Generic PDAF Core. Ensemble Filter initialization analysis step ensemble transformation Explicit interface Indirect exchange (module/common). Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF. Observations obs. vector obs. operator obs. error. state observations.

(16) Extending a Model for Data Assimilation Start. Model single or multiple executables coupler might be separate program. Initialize parallel.. Initialize Model Initialize coupler Initialize grid & fields Do i=1, nsteps. Time stepper. Start Initialize parallel. Aaaaaaaa Init_parallel_PDAF. Aaaaaaaa. Initialize Model Initialize coupler. aaaaaaaaa Initialize grid & fields Init_PDAF. in-compartment step coupling. Do i=1, nsteps. Post-processing. in-compartment step coupling. Stop. Assimilate_PDAF. Time stepper. Post-processing. revised parallelization enables ensemble forecast. Finalize_PDAF Stop. Lars Nerger. Extension for data assimilation. Tutorial: Ensemble Data Assimilation with PDAF. plus: Possible model-specific adaption for MITgcm: adapt name of STDOUT files for ensemble.

(17) Implementing Ensemble DA Example of MITgcm. Lars Nerger. Introduction to Ensemble Data Assimilation.

(18) MITgcm extension for Data Assimilation Additions to program flow Add ensemble parallelization. Start Initialize parallel. Aaaaaaaa Init_parallel_PDAF. Aaaaaaaa. Changes in MITgcm source code Changes in (eeboot_minimal.F). • All changes included in MITgcm repository version. subroutine call added (the_main_loop.F). • PDAF interface routines activated by preprocessor setting -DUSE_PDAF. Initialize Model Initialize coupler. aaaaaaaaa Initialize grid & fields Initialize ensemble Forecast ensemble states Perform filter analysis step. Init_PDAF Do i=1, nsteps. Time stepper in-compartment step coupling Assimilate_PDAF. For convenience: subroutine call added (the_main_loop.F). Post-processing. Clean-up memory. Finalize_PDAF. subroutine call added (the_main_loop.F). • eeboot_minimal: also change the index of STDOUT file • the_main_loop: timers for PDAF calls. Stop. Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(19) PDAF model binding routines Interface routines •. init_parallel_pdaf, init_pdaf, assimilate_pdaf, finalize_pdaf. Call-back routines •. Set number of time steps between analysis steps. •. Observation handling. •. Write model fields into PDAF’s state vector and back into model fields. PDAF release includes set of model binding routines for MITgcm Ø for a simple test case Ø just download and adapt for your needs Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(20) PDAF interface structure • Interface routines call PDAF-core routines • PDAF-core routines call case-specific routines provided by user (included in model binding set) • User-supplied call-back routines for elementary operations: § field transformations between model and filter § observation-related operations •. User supplied routines can be implemented as routines of the model (for MITgcm: Fortran-77 fixed-form source code) Model. PDAF. User routines (call-back). Access information through modules/common Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(21) Init_parallel_PDAF. Parallelization of Assimilation Program. We use MPI (Message Passing Interface) •. It’s the standard for highly scaling parallelization. •. MITgcm uses MPI (like most large-scale models). Change of parallelization is fully implemented for MITgcm!. Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(22) Init_PDAF. Initialization of Assimilation. Set parameters, for example • •. select filter set ensemble size. Calls PDAF_init • •. initialization routine of framework provide parameters according to interface. •. provide MPI communicators. •. provide name of routine for ensemble initialization. Ensemble initialization routine – called by PDAF_init • •. a “call-back routine” defined interface: provides ensemble array for initialization. •. user-defined initialization. Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(23) Simple Subroutine Interfaces Example: ensemble initialization SUBROUTINE init_ens_pdaf(filtertype, dim, dim_ens, state, matrU, ens, flag) IMPLICIT NONE ! ARGUMENTS: INTEGER, INTENT(in) :: filtertype ! Type of filter INTEGER, INTENT(in) :: dim ! Size of state vector INTEGER, INTENT(in) :: dim_ens ! Size of ensemble REAL, INTENT(out) :: ens(dim, dim_ens) ! state ensemble INTEGER, INTENT(inout) :: flag ! PDAF status flag ! Not used forimplemented: most filters: Task to be REAL, INTENT(inout) :: state(dim) ! model state Ø Fill ens with ensemble initial model states REAL, INTENT(inout) :: matrU of (dim_ens,dim_ens) Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(24) Assimilate_PDAF. Ensemble Forecast and Analysis Steps. calls PDAF_assimilate •. checks whether ensemble integration reached time for analysis step. •. If false: •. •. return to model and continue integration. If true: • Write forecast fields into state vectors (call-back routine) •. Compute analysis step of chosen filter. • •. Set length of next forecast phase (call-back routine) Write state vectors into model field arrays (call-back routine). Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(25) Finalize_PDAF. Clean-up of Data Assimilation Program. Clean-up at end of program •. Display timing and memory information for PDAF. •. Deallocate arrays inside PDAF. Calls to PDAF_print_info. (memory and timing info). PDAF_deallocate. (deallocate arrays). Fully implemented for MITgcm!. Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(26) Filter analysis implementation Operate on state vectors Ø Write all model fields into a 1-dimensional vector •. Filter doesn’t know about ‘fields’. •. Computationally most efficient. •. Call-back routines for •. Transfer between model fields and state vector. •. Observation-related operations. •. Localization operations. For forecast •. Transfer data from state vector to model fields. Lars Nerger. Tutorial: Ensemble Data Assimilation with PDAF.

(27) Ensemble Filter Analysis Step Model interface. case-specific operations. Ensemble of state vectors. Observation module. X Analysis operates on state vectors (all fields in one vector). Lars Nerger. For localization:. Filter analysis. Local ensemble. update ensemble assimilating observations. Local observations. Vector of observations. Observation operator. Observation error covariance matrix. y. H(...). R. Tutorial: Ensemble Data Assimilation with PDAF.

(28) Ensemble Filter Analysis Step Model interface. case-specific operations call-back routines. Ensemble of state vectors. collect_state() distribute_state() Observation module. X. Analysis operates on state vectors (all fields in one vector). Forg2l_state() localization:. Filter analysis. Local ensemble. update ensemble assimilating observations. Local observations. init_obs_l(). Lars Nerger. Vector of observations. Observation operator. Observation error covariance matrix. y. H(...). R. init_obs(). obs_op(). prod_obs_R(). Tutorial: Ensemble Data Assimilation with PDAF.

(29) Summary Ensemble Data Assimilation with PDAF • augment program for ensemble data assimilation • assimilation methods provided by PDAF • model-binding routines required Ø provided for MITgcm for test case Ø easy to code yourself • PDAF is available as free open-source. Thank you! Lars.Nerger@awi.de Lars Nerger. http://pdaf.awi.de. Tutorial: Ensemble Data Assimilation with PDAF.

(30)

Referenzen

ÄHNLICHE DOKUMENTE

For multivariate data assimilation in the shallow-water model, the optimal effective observation dimension was the same for all three model fields. If the observation density

Observation characteristics on day 8: (a) The horizontal domain is shown, together with the Argo profiler locations (crosses) and the synthetic SSH observations (colored) on the

2.2 The Finite Element Sea Ice-Ocean Model (FESOM) The sea ice-ocean component in the coupled system is represented by FESOM, which allows one to simulate ocean and

2.2 The Finite Element Sea Ice-Ocean Model (FESOM) The sea ice-ocean component in the coupled system is represented by FESOM, which allows one to simulate ocean and

Large scale data assimilation: Global ocean model. •  Finite-element sea-ice ocean

•  complete parallelism in model, filter, and ensemble integrations. Aaaaaaaa Aaaaaaaa

Sequential data assimilation methods based on ensem- ble forecasts, like ensemble-based Kalman filters, pro- vide such good scalability.. This parallelism has to be combined with

Left: PDAF is based on a consistent logical separation of the components of the data assimilation system: model, fil- ter algorithm, and observations.. The filter algorithms are part