Module oda_driver_mod
OVERVIEW
Top-level interface between MOM4 and ocean data assimilation modules
Top level module for ocean data assimilation. Contains routines for
initialization, termination and update of ocean data assimilation increments.
1.) Get Observations for current model time (and domain)
based on data window (default=15 days). For PE subdomains,
data are included if they lie within the region bounded by the
cell centers on the first x/y halo extent.
2.)
IF EAKF (!!not yet implemented!!)
a.) ensemble state is distributed among NPES as follows:
Ens01:0:(NPE1-1), Ens02:NPE1:(NPE1+NPE2-1),...,
EnsN:sum(NPE1+...+NPE(N-1)):NPES
b.) Redistribute state to ensemble vector using global PEset.
(Ens01,...,EnsN):0:NPES
c.) Calculate increments using Ensemble information.
d.) Re-distribute increments to members and revert to
original PEset.
ELSE IF Var2d
Minimize quadratic CF based on specfied prior correlation maps
and optionally time-variant prior error variance.
ELSE ???
ENDIF
3.) Apply increments to model state based on prior analysis.
Distribute increments uniformly over analysis period if "do_iau=T".
4.) Check for convective instability after applying increments.
5.) Write Profile (observation space) first guess, analysis and mis-fits
========================================================================
OTHER MODULES USED
ocean_types_mod
oda_types_mod
oda_core_mod
mpp_domains_mod
mpp_mod
mpp_io_mod
time_manager_mod
ocean_grids_mod
ocean_topog_mod
ocean_convect_mod
ocean_domains_mod
constants_mod
ocean_workspace_mod
write_ocean_data_mod
ensemble_manager_mod
fms_mod
diag_manager_mod
PUBLIC INTERFACE
PUBLIC DATA
Name | Type | Value | Units | Description |
use_this_module | logical | --- | --- | use the oda module |
PUBLIC ROUTINES
-
init_oda
-
DESCRIPTION
- Initialize ODA core. Grid and Domain association.
-
INPUT
-
Domain |
[ocean_domain_type] |
Grid |
[ocean_grid_type] |
Ocn_Time |
[ocean_time_type] |
T_prog |
[ocean_tracer_type(:)] |
Velocity |
[ocean_velocity_type] |
Ext_mode |
[ocean_external_mode_type] |
-
oda
-
DESCRIPTION
- Request ocean state increments
-
INPUT
-
Ocn_Time |
[ocean_type_type] |
-
INPUT/OUTPUT
-
T_prog |
[ocean_prog_tracer_type(:)] |
Velocity |
[ocean_velocity_type] |
Ext_mode |
[ocean_external_mode_type] |
Thickness |
[ocean_thickness_type] |
Dens |
[ocean_density_type] |
NAMELIST
&oda_nml
-
assim_method
Options are: Var2d, EAKF and NO_ASSIM
[character]
-
assim_start_lat
Southern data mask boundary
[real]
-
assim_end_lat
Northern data mask boundary
[real]
-
nk_asm
Bottom model level for data mask
[integer]
-
assim_interval
Time between calls to oda (hours)
[integer]
-
do_iau
Incremental analysis update (evenly distribute increments between
calls to ODA.)
[logical]
-
do_convect_adjust
Adjust for gravitational instability in model after applying increments.
[logical]
-
max_profiles
Size of allocation for profile data
[integer]
-
max_sfc_obs
Size of allocation for surface observations
[integer]
DATA SETS
None.
ERROR MESSAGES
None.