Changes between Version 6 and Version 7 of OMI_debugging


Ignore:
Timestamp:
Feb 20, 2023, 2:30:14 PM (14 months ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OMI_debugging

    v6 v7  
    3535== Overview ==
    3636
    37 When implementing an observation with PDAF, or when performing the very first implementation of PDAF with a new model, it is useful to check whether the inputs to the PDAF-routines are correctly used. For this porpose, PDAF-OMI provides a debugging functionality. It allows you to activate debugging output e.g. for a single local analysis domain on a single process of a complex application of a local filter like LEKSTF.
     37When implementing an observation with PDAF, or when performing the very first implementation of PDAF with a new model, it is useful to check whether the inputs to the PDAF-routines are correctly used. For this purpose, PDAF-OMI provides a debugging functionality. It allows you to activate debugging output e.g. for a single local analysis domain on a single process of a complex application of a local filter like LEKSTF.
    3838
    3939
    4040== Activating Debugging Output ==
    4141
    42 Debugging output is activated by the routine `PDAFomi_set_debug_flag`. In particular this call can be inserted in any routines contained in `callback_obs_pdafomi.F90`. Setting the single argument of `PDAFomi_set_debug_flag` to a value larger 0 will active the output, while =0 will deactivate it. For the debugging it is useful to keep the number of observations low since for a large number of observations, the output will be very lengthy. This can particularly be the case when using the debugging output in `init_dim_obs_pdafomi` or `obs_op_pdafomi`. To this end, it can be useful to intentionally reduce the number of observations for the debugging. For the localized filters (LESTKF, LETKF, LNETF, LSEIK) it is recommended to only activate the debugging for a single local analysis domain as shown below. The particular domain index can be chosen e.g. based on the coordinates of the domain, which are usually determined in `init_dim_l_pdaf`.
     42Debugging output is activated by a call of the form
     43{{{
     44   USE PDAFomi, ONLY: PDAFomi_set_debug_flag
     45   INTEGER :: dbg_id  ! Debugging flag: >0 for debug output; =0 for no debug output
     46
     47   CALLOMI PDAFomi_set debug_flag(dbg_id)
     48}}}
     49In particular this call can be inserted in any routines contained in `callback_obs_pdafomi.F90`. Setting the single argument of `PDAFomi_set_debug_flag` to a value larger 0 will active the output, while =0 will deactivate it. For the debugging it is useful to keep the number of observations low since for a large number of observations, the output will be very lengthy. This can particularly be the case when using the debugging output in `init_dim_obs_pdafomi` or `obs_op_pdafomi`. To this end, it can be useful to intentionally reduce the number of observations for the debugging. For the localized filters (LESTKF, LETKF, LNETF, LSEIK) it is recommended to only activate the debugging for a single local analysis domain as shown below. The particular domain index can be chosen e.g. based on the coordinates of the domain, which are usually determined in `init_dim_l_pdaf`.
    4350
    4451For example to activate debugging in `init_dim_obs_l_pdafomi` for the local analysis domain `domain_p=10` and filter process 0, one uses