Changes between Version 21 and Version 22 of OMI_observation_modules


Ignore:
Timestamp:
Nov 30, 2020, 3:10:52 PM (3 years ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OMI_observation_modules

    v21 v22  
    4343== Data type obs_f ==
    4444
    45 To ensure the functionality within each obs-module, we rely on a derived data type called `obs_f` that contains all information about the observation. One instance of this data type is allocated in each obs-module with the generic variable name `thisobs`. A few of the elements of `obs_f` are initialized by the user when the observation information is initialized on `init_dim_obs_f`. Further variables is set in a call to the routine `PDAFomi_gather_obs`. This information is then used by all other routines in the obs-module. The template file obs_TYPE_pdafomi_TEMPLATE.F90 shows the different steps needed to initialize thisobs.
     45To ensure the functionality within each obs-module, we rely on a derived data type called `obs_f` that contains all information about the observation. One instance of this data type is allocated in each obs-module with the generic variable name `thisobs`. A few of the elements of `obs_f` are initialized by the user when the observation information is initialized on `init_dim_obs_f`. Further variables is set in a call to the routine `PDAFomi_gather_obs`. This information is then used by all other routines in the obs-module. The template file `obs_TYPE_pdafomi_TEMPLATE.F90` shows the different steps needed to initialize `thisobs`.
    4646
    4747The '''mandatory variables''' in `obs_f` that need to be set by the user are:
     
    7878
    7979
    80 Next to the derived data type `obs_f`, there is a derived type `obs_l` for localization. This is only used internally. It will be filled in init_dim_obs_l when calling PDAFomi_init_dim_obs_l.
     80Next to the derived data type `obs_f`, there is a derived type `obs_l` for localization. This is only used internally. It will be filled in the routine `init_dim_obs_l` when calling `PDAFomi_init_dim_obs_l`.
    8181
    8282== `init_dim_obs_TYPE` ==
     
    126126Here, `state_p` is the state vector and `ostate` is the observed state vector.
    127127
    128 For more information on the available observation operator and on how to implement your own observation operator see the [wiki:OMI_Observation_Operators documentation of observation operators for OMI].
     128For more information on the available observation operator and on how to implement your own observation operator see the [wiki:OMI_observation_operators documentation of observation operators for OMI].
    129129
    130130
     
    172172
    173173To implement a new observation type, the approach is generally as follows:
    174 1.      Create a copy of obs_TYPE_pdafomi_TEMPLATE.F90
     1741.      Create a copy of `obs_TYPE_pdafomi_TEMPLATE.F90`
    1751751.      Rename the module and its subroutines according to the observation (replacing ‘TYPE’ by name of observation).
    176 1.      Implement init_dim_obs for the observation type following the instructions in the template
    177 1.      Adapt obs_obs for the observation type
    178 1.      Adapt init_dim_obs_l for the observation type (if using a domain_localized filter)
    179 1.      Adapt localize_covar for the observation type (if using a the local EnKF)
    180 1.      Add subroutine calls for the new observation type into the routines in callback_obs_pdafomi.F90
     1761.      Implement `init_dim_obs` for the observation type following the instructions in the template
     1771.      Adapt `obs_op` for the observation type
     1781.      Adapt `init_dim_obs_l` for the observation type (if using a domain_localized filter)
     1791.      Adapt `localize_covar` for the observation type (if using a the local EnKF)
     1801.      Add subroutine calls for the new observation type into the routines in `callback_obs_pdafomi.F90`
    181181
    182182