Changes between Version 3 and Version 4 of PDAF_iau_init
- Timestamp:
- Mar 24, 2025, 7:52:14 PM (8 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
PDAF_iau_init
v3 v4 3 3 This page documents the routine `PDAF_iau_init` of PDAF, which was introduced with PDAF V3.0. 4 4 5 This routine initializes parameters for incremental analysis updating, IAU. It further allocates the array in which the ens melbe increments are stored. This array exists on all processes that are model tasks5 This routine initializes parameters for incremental analysis updating, IAU. It further allocates the array in which the ensemlbe increments are stored. This array exists on all processes that are part of model tasks. 6 6 7 The routine is usually called in init_pdaf after the initialization of PDAF in PDAF_init. it is important that the routine is caled by all model processes because all these processes need the information on the IAU configuration and need to allocate the increment array.7 The routine is usually called in `init_pdaf` after the initialization of PDAF in `PDAF_init`. it is important that the routine is called by all model processes because all these processes need the information on the IAU configuration and need to allocate the increment array. 8 8 9 9 10 The interface is the following:10 The interface is: 11 11 {{{ 12 12 SUBROUTINE PDAF_iau_init(type_iau, nsteps_iau, flag) 13 }}} 14 with the following arguments: 15 {{{ 16 INTEGER, INTENT(in) :: type_iau !< Type of IAU 17 !< (0) no IAU 18 !< (1) constant increment weight 1/nsteps_iau 19 !< (2) Linear IAU weight with maximum in middle of IAU period 20 !< (3) Zero weights for null mode (can be used to apply IAU on user side) 21 INTEGER, INTENT(in) :: nsteps_iau !< number of time steps in IAU 22 INTEGER, INTENT(out) :: flag !< Status flag 13 14 INTEGER, INTENT(in) :: type_iau ! Type of IAU 15 ! (0) no IAU 16 ! (1) constant increment weight 1/nsteps_iau 17 ! (2) Linear IAU weight with maximum in middle of IAU period 18 ! (3) Zero weights for null mode (can be used to apply IAU on user side) 19 INTEGER, INTENT(in) :: nsteps_iau ! Number of time steps in IAU 20 INTEGER, INTENT(out) :: flag ! Status flag 23 21 }}} 24 22 25 23 Hints: 26 * type_iau=2 is linearly increasing and decreasing similar to what is used in the ocean model NEMO. Thi sis usually used if the IAU is applied in re-running over the previous observation phase27 * type_iau=3 stores the increment information, but does not apply the increment. This permits to apply the increment in user-provided code. For this `PDAF_iau_set_pointer` can be used to assess the increment array within PDAF.24 * type_iau=2 is linearly increasing and decreasing similar to what is used in the ocean model NEMO. This type is usually used if the IAU is applied in re-running over the previous observation period. 25 * type_iau=3 stores the increment information, but does not apply the increment. This permits to apply the increment in user-provided code. For this, the routine [wiki:PDAF_iau_set_pointer] can be used to assess the increment array within PDAF.