== Development page == ''' Please only use the pages that are directly linked from the start page and within the Implementation Guide''' '''Pages linked here are under development'' ''' NEW for 1.20''' [wiki:PDAF_assimilate_lenkf] [wiki:PDAF_assimilate_lenkf_si] [wiki:PDAF_put_state_lenkf] [wiki:PDAF_put_state_lenkf_si] [wiki:PDAF_reset_forget] [wiki:PDAF_force_analysis] [wiki:PDAF_set_memberid] [wiki:PDAFomi_assimilate_local] [wiki:PDAFomi_assimilate_global] [wiki:PDAFomi_assimilate_lenkf] [wiki:PDAFomi_assimilate_local_si] [wiki:PDAFomi_assimilate_global_si] [wiki:PDAFomi_assimilate_lenkf_si] [wiki:PDAFomi_put_state_local] [wiki:PDAFomi_put_state_global] [wiki:PDAFomi_put_state_lenkf] [wiki:PDAFomi_put_state_local_si] [wiki:PDAFomi_put_state_global_si] [wiki:PDAFomi_put_state_lenkf_si] [wiki:ImplementAnalysis_3DVar] [wiki:PDAF_set_comm_pdaf] [wiki:ImplementFilterAnalysisOverview] [wiki:Implement3DVarAnalysisOverview] == Version 2.0 - December XXXXX, 2021 == Changes:[[BR]] * Added 3D-Var methods * 5 variants: 3D-Var with parameterized covariances, 3D ensemble var (ensemble covariances) and hybrid-var (combined parameterized and ensemble covariances); ensemble perturbations can be transformed using the global ESTKF or the local LESTKF * Added tutorials for 3D-Var methods (codes and slide set with explanations) * Added template files for 3D-Var methods * Added models from Lorenz (2005): model II (state with averaging), model III (two-scale); both with assimilation fully implemented * Added tutoral code showing a multivariate implementation with two model fields (/tutorial/online_2D_serialmodel_2fields). The tutorial demonstrates an efficient way to handle multiple model fields * Added possibility to reset the MPI world communicator in which PDAF operates (routine PDAF_set_comm_pdaf). This ensures compatibility with e.g. OI-servers that use processes separate from those used by the model integration. * Added possibility to let the user force that the analysis step is computed at the next call to PDAF_assimilate/PDAF_put_state (routine PDAF_force_analysis) * Added possibility to overwrite PDAF's ensemble member counting in the flexible parallelization variant and force execution of the analysis (PDAF_set_memberid) * Added routine to reset the value of the forgetting factor. Can be applied during the analysis step, e.g. to give each local analysis domain a different inflation value (PDAF_reset_forget) * Added diagnostic routine to compute the continuous ranked probability score, CRPS (PDAF_diag_crps) * Code revisions: * modernized use of MPI: now we use 'USE MPI' instead of 'include mpif.h'. This solves the issue of gfortran 10, which claimed argument mismatches * modernized use of netCDF (with 'use netcdf' instead of 'include netcdf.inc'). This also resolves the issue of gfortran 10 * observation generation (GENOBS) moved to filtertype=100 * PDAF_sampleens now works without prior call to PDAF_init (removed memory counting) * removed stub PDAF library since it is not compatible with 'USE mpi'. Thus, compiling PDAF now requires a MPI library to be installed * PDAF-OMI related * Calling deallocate_obs_pdafomi is no longer required * Model bindings for MITgcm and AWI-CM revised for using PDAF-OMI * all model implementations (Lorenz models) now implemented using PDAF-OMI * Added OMI adjoint observation operators for use with 3D-Var methods * Bug corrections: * Correction of initialization of gcoords in tutorial for obs_C_pdafomi (observations with linear interpolation) * For compatibility with the Cray compiler, all .mod files of the PDAF library are copied to /include * resolved issue of gfortran-10 complaining about argument mismatch by 'USE mpi'