PUBLIC INTERFACE ~ PUBLIC DATA ~ PUBLIC ROUTINES ~ NAMELIST ~ DIAGNOSTIC FIELDS ~ ERROR MESSAGES ~ REFERENCES ~ NOTES

Module oda_driver_mod

Contact:  Matt Harrison
Reviewers: 
Change History: WebCVS Log


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

init_oda:
oda:


PUBLIC DATA

Name Type Value Units Description
use_this_module logical --- --- use the oda module


PUBLIC ROUTINES

  1. 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]

  2. 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.


top