Changes between Version 13 and Version 14 of PDAF3_interface


Ignore:
Timestamp:
May 19, 2025, 7:16:17 PM (13 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PDAF3_interface

    v13 v14  
    130130
    131131**For ensemble filters:**
    132 1. If you used local filters with `PDAFlocalomi_assimilate` or `PDAFlocalomi_put_state`: Change the call of the analysis routine to `PDAF3_assimilate`. In addition move the argument `prepoststep_pdaf` to the correct position.
    133 1. If you used local filters with `PDAFomi_assimilate_local` or `PDAFomi_put_state_local`: Change the call of the analysis routine from `PDAFomi_` to `PDAF3_`.  In addition move the argument `prepoststep_pdaf` to the correct position. (Generally, we recommend to use `PDAF3_assimilate` that uses PDAFlocal. For this follow the [wiki:PDAFlocal_overview implementation instructions to for implementing the state localization with PDAFlocal].)
    134 1. If you only used global filters with `PDAFomi_assimilate_global` or `PDAFomi_put_state_global`: Just change the call of the analysis routine from `PDAFomi_` to `PDAF3_`.
    135 1. If you used both `PDAFomi_assimilate_global` and `PDAFlocalomi_assimilate` you can merge the calls to using only `PDAF3_assimilate` by adapting the call to `PDAFlocalomi_assimilate` as described above and then calling this routine for all filters.
    136 1. If you used the LEnKF with `PDAFomi_assimilate_lenkf` or `PDAFomi_put_state_lenkf`: Change the call of the analysis routine for `PDAFlocalomi_` to `PDAF3_`. In addition move the argument `prepoststep_pdaf` to the correct position. (There is also the new routine `PDAF_set_localize_covar` which allows user to use `PDAF3_assimilate` (or `PDAF3_assimilate_global` which makes implementing the additional routine `localize_covar_pdafomi` obsolete)
    137 1. If you used the `PDAF_assimilate_*` or `PDAF_put_state_*` routines of PDAF-1, thus the routines with the full interface, you need to follow the general implementation instructions for PDAF3. The changes will be to use the functionality of PDAF-OMI and, for local filter, of PDAFlocal. However, in PDAF3, the full PDAF-1 interface routines are still present. One just needs to include them with `USE PDAF`.
     132
     133Overview of old and new routines (the relations hold analogously for 'put_state' routines):
     134||= old PDAF2 =||= new PDAF3 =||= possible with changes =||
     135|| PDAFlocalomi_assimilate || PDAF3_assimilate ||
     136|| PDAFomi_assimilate_local || PDAF3_assimilate_local || PDAF3_assimilate ||
     137|| PDAFomi_assimilate_global || PDAF3_assimilate_global || PDAF3_assimilate ||
     138|| PDAFomi_assimilate_lenkf || PDAF3_assimilate_lenkf || PDAF3_assimilate ||
     139|| PDAF_assimilate_X || PDAF_assimilate_X ||
     140
     141Explanations:
     1421. If you used local filters with `PDAFlocalomi_assimilate` or `PDAFlocalomi_put_state`:[[BR]] Change the call of the analysis routine to `PDAF3_assimilate`. In addition move the argument `prepoststep_pdaf` to the correct position.
     1431. If you used local filters with `PDAFomi_assimilate_local` or `PDAFomi_put_state_local`:[[BR]] Change the call of the analysis routine from `PDAFomi_` to `PDAF3_`.  In addition move the argument `prepoststep_pdaf` to the correct position.
     144 * Possible: One can adapt the code to use `PDAF3_assimilate` that uses PDAFlocal. For this follow the [wiki:ImplementAnalysisUniversal implementation instructions for PDAF3_assimilate].)
     1451. If you only used global filters with `PDAFomi_assimilate_global` or `PDAFomi_put_state_global`:[[BR]] Just change the call of the analysis routine from `PDAFomi_` to `PDAF3_`.
     146 * Possible: If you used both `PDAFomi_assimilate_global` and `PDAFlocalomi_assimilate`, you can merge the calls to using only `PDAF3_assimilate` by adapting the call to `PDAFlocalomi_assimilate` as described above and then calling this routine for all filters.
     1471. If you used the LEnKF with `PDAFomi_assimilate_lenkf` or `PDAFomi_put_state_lenkf`:[[BR]] Change the call of the analysis routine for `PDAFlocalomi_` to `PDAF3_`. In addition move the argument `prepoststep_pdaf` to the correct position.
     148 * Possible: There is also the new routine `PDAF_set_localize_covar` which makes implementing the additional routine `localize_covar_pdafomi` obsolete and allows user to use `PDAF3_assimilate`.
     1491. If you used the `PDAF_assimilate_*` or `PDAF_put_state_*` routines with the full interface of PDAF1:[[BR]] There is no direct need to port to the PDAF3 interface because the full PDAF1 interface routines are still present. One just needs to include them with `USE PDAF`.
     150 * Possible: To port to the PDAF3 interface, you need to follow the general implementation instructions for PDAF3. The changes will be to use the functionality of PDAF-OMI and, for local filter, of PDAFlocal.
    138151
    139152**For 3D-Vars:**
    140 1. If you used the parameterized 3D-Var and also either or both of the ensemble 3D-Var and hybrid 3D-Var with PDAFlocalomi routines: Change the call `PDAFlocalomi_assimilate_hy3dvar_lestkf` to `PDAF3_assimilate_3dvar_all` and call this routine for all 3D-Var methods. This is analogous for 'put_state'/
    141 1. If you used only the parameterized 3D-Var using `PDAFomi_assimilate_3dvar` or `PDAFomi_put_state_3dvar`: Just change the call of the analysis routine from `PDAFomi_` to `PDAF3_`.
    142 1. If you used the hybrid 3D-Var with `PDAFlocalomi_assimilate_hyb3dvar_lestkf` or `PDAFlocalomi_put_state_hyb3dvar_lestkf`: Just change the call of the analysis routine from `PDAFlocalomi_` to `PDAF3_`.
    143 1. If you used the ensemble 3D-Var with `PDAFlocalomi_assimilate_en3dvar_lestkf` or `PDAFlocalomi_put_state_en3dvar_lestkf`: Just change the call of the analysis routine from `PDAFlocalomi_` to `PDAF3_`.
    144 1. If you used the hybrid 3D-Var or ensemble 3D-Var with `PDAFomi_*` routines: Follow the [wiki:PDAFlocal_overview implementation instructions to for implementing the state localization with PDAFlocal]. Afterwards change the the PDAFomi_* call to the PDAF3_* interface.
    145 1. If you used the `PDAF_assimilate_*` or `PDAF_put_state_*` routines of PDAF-1, thus the routines with the full interface, you need to follow the general implementation instructions for PDAF3. The changes will be to use the functionality of PDAF-OMI and, for local filter, of PDAFlocal. However, in PDAF3, the full PDAF-1 interface routines are still present. One just needs to include them with `USE PDAF`.
     153
     154Overview of old and new routines (the relations hold analogously for 'put_state' routines):
     155||= old PDAF2 =||= new PDAF3 =||= possible with changes =||
     156|| PDAFomi_assimilate_3dvar || PDAF3_assimilate_3dvar || PDAF3_assimilate_3dvar_all ||
     157|| PDAFomi_assimilate_en3dvar_lestkf || PDAF3_assimilate_en3dvar_lestkf || PDAF3_assimilate_3dvar_all ||
     158|| PDAFomi_assimilate_en3dvar_estkf || PDAF3_assimilate_en3dvar_estkf || PDAF3_assimilate_3dvar_all ||
     159|| PDAFlocalomi_assimilate_hy3dvar_lestkf || PDAF3_assimilate_3dvar_all ||
     160|| PDAFlocalomi_assimilate_hy3dvar_estkf || PDAF3_assimilate_hy3dvar_estkf ||PDAF3_assimilate_3dvar_all ||
     161
     162Explanations:
     163
     1641. If you used the parameterized 3D-Var and also either or both of the ensemble 3D-Var and hybrid 3D-Var with PDAFlocalomi routines:[[BR]] Change the call `PDAFlocalomi_assimilate_hy3dvar_lestkf` to `PDAF3_assimilate_3dvar_all` and call this routine for all 3D-Var methods.
     1651. If you used only the parameterized 3D-Var using `PDAFomi_assimilate_3dvar` or `PDAFomi_put_state_3dvar`:[[BR]] Just change the call of the analysis routine from `PDAFomi_` to `PDAF3_`.
     1661. If you used the hybrid 3D-Var with `PDAFlocalomi_assimilate_hyb3dvar_lestkf` or `PDAFlocalomi_put_state_hyb3dvar_lestkf`:[[BR]] Just change the call of the analysis routine from `PDAFlocalomi_` to `PDAF3_`.
     1671. If you used the ensemble 3D-Var with `PDAFlocalomi_assimilate_en3dvar_lestkf` or `PDAFlocalomi_put_state_en3dvar_lestkf`:[[BR]] Just change the call of the analysis routine from `PDAFlocalomi_` to `PDAF3_`.
     1681. If you used the hybrid 3D-Var or ensemble 3D-Var with `PDAFomi_*` routines:[[br]] Follow the [wiki:PDAFlocal_overview implementation instructions to for implementing the state localization with PDAFlocal]. Afterwards change the the PDAFomi_* call to the PDAF3_* interface.
     1691. If you used the `PDAF_assimilate_*` or `PDAF_put_state_*` routines with the full interface of PDAF-1:[[BR]]  There is no direct need to port to the PDAF3 interface because the full PDAF1 interface routines are still present. One just needs to include them with `USE PDAF`.
     170 * Possible: To port to the PDAF3 interface, you need to follow the general implementation instructions for PDAF3. The changes will be to use the functionality of PDAF-OMI and, for local filter, of PDAFlocal.