Changes between Initial Version and Version 1 of OMI_error_checking_PDAF3


Ignore:
Timestamp:
May 27, 2025, 3:47:46 PM (6 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OMI_error_checking_PDAF3

    v1 v1  
     1= Checking Error Status of PDAF-OMI =
     2
     3{{{
     4#!html
     5<div class="wiki-toc">
     6<h4>PDAF-OMI Guide</h4>
     7<ol><li><a href="PDAF_OMI_Overview_PDAF3">Overview</a></li>
     8<li><a href="OMI_Callback_obs_pdafomi_PDAF3">callback_obs_pdafomi.F90</a></li>
     9<li><a href="OMI_observation_modules_PDAF3">Observation Modules</a></li>
     10<li><a href="OMI_observation_operators_PDAF3">Observation operators</a></li>
     11<li>Checking error status</li>
     12<li><a href="OMI_debugging_PDAF3">Debugging functionality</a></li>
     13<li><a href="nondiagonal_observation_error_covariance_matrices_PDAF3">Using nondiagonal R-matrices</a></<li>
     14<li><a href="OMI_additional_functionality_PDAF3">Additional OMI Functionality</a></li>
     15<li><a href="Porting_to_OMI_PDAF3">Porting an existing implemention to OMI</a></li>
     16<br>
     17<li>Related page in Implementation Guide<li>
     18<ol>
     19<li><a href="ImplementationofAnalysisStep_PDAF3">Implementing the analysis step</a></li>
     20</ol>
     21</ol>
     22</div>
     23}}}
     24PDAF-OMI performs several consistency checks. If they fail, PDAF-OMI will print an error message, but the program is not stopped. OMI has an error status flag that can be checked from the user code. If an error occured, one can stop the program on the user side.
     25
     26The error flag can be checked by calling the routine `PDAFomi_check_error`. The routine is documented below. It returns the value of the PDAF-OMI error flag. Since PDAF-OMI executes internal routines in which errors could occur due to an inconsistent configuration of the observations, a direct returning an error flag as a subroutine argument is not always possible. For this reasion there is this separate routine to check for the error flag.
     27
     28A useful place to insert this routine for error-checking are the routines in callback_obs_pdafomi.F90.
     29
     30The interface is:
     31{{{
     32  SUBROUTINE PDAFomi_check_error(ierror)
     33
     34    INTEGER, INTENT(in) :: ierror          ! Value of PDAF-OMI error flag
     35                                             ! (0): no error
     36                                             ! (>0): an error occured - check screen outputs
     37}}}
     38
     39'''Notes: '''
     40 * The routine is provided through the module 'PDAF'. Thus one has to use-include the routine by
     41{{{
     42  USE PDAF, only: PDAFomi_check_error
     43}}}
     44 * The errors that are checked by PDAF-OMI relate to the configuration of the obserations, e.g. it is checked whether some dimensions are consistent.
     45 * If an error occurred PDAF-OMI also prints an error message, but it does not stop the program.