ocean_da_types_mod module reference¶
Dummy aata structures and methods for ocean data assimilation.
Data Types¶
Example type for ocean ensemble DA state. |
|
Example of a profile type. |
|
Example forward operator type. |
|
Grid type for DA. |
Detailed Description¶
Dummy aata structures and methods for ocean data assimilation.
Type Documentation¶
-
type
ocean_da_types_mod/ocean_control_struct¶ Example type for ocean ensemble DA state.
- Type fields:
%ensemble_size[integer] :: ensemble size%ssh[real(:,:,:),pointer] :: sea surface height across ensembles [m]%h[real(:,:,:,:),pointer] :: layer thicknesses across ensembles [m or kg m-2]%t[real(:,:,:,:),pointer] :: layer potential temperature across ensembles [degC]%s[real(:,:,:,:),pointer] :: layer salinity across ensembles [ppt]%u[real(:,:,:,:),pointer] :: layer zonal velocity across ensembles [m s-1]%v[real(:,:,:,:),pointer] :: layer meridional velocity across ensembles [m s-1]
-
type
ocean_da_types_mod/ocean_profile_type¶ Example of a profile type.
- Type fields:
%inst_type[integer] :: A numeric code indicating the type of instrument (e.g. ARGO drifter, CTD, …)%initialized[logical] :: a True value indicates that this profile has been allocated for use%colocated[logical] :: a True value indicated that the measurements of (num_variables) data are co-located in space-time%ensemble_size[integer] :: size of the ensemble of model states used in association with this profile%num_variables[integer] :: number of measurement types associated with this profile.%var_id[integer(:),pointer] :: variable ids are defined by the ocean_types module%platform[integer] :: platform types are defined by platform class (e.g. MOORING, DROP, etc.) and instrument type (XBT, CDT, etc.)%levels[integer] :: number of levels in the current profile%basin_mask[integer] :: 1:Southern Ocean, 2:Atlantic Ocean, 3:Pacific Ocean, 4:Arctic Ocean, 5:Indian Ocean, 6:Mediterranean Sea, 7:Black Sea, 8:Hudson Bay, 9:Baltic Sea, 10:Red Sea, 11:Persian Gulf%profile_flag[integer] :: an overall flag for the profile%lat[real] :: latitude [degrees_N]%lon[real] :: longitude [degrees_E]%accepted[logical] :: logical flag to disable a profile%time_window[type(time_type)] :: The time window associated with this profile.%obs_error[real(:),pointer] :: The observation error by variable [various units].%loc_dist[real] :: The impact radius of this observation [m].%next[type( ocean_profile_type ),pointer] :: all profiles are stored as linked list.%prev[type( ocean_profile_type ),pointer] :: previous%cnext[type( ocean_profile_type ),pointer] :: current profiles are stored as linked list.%cprev[type( ocean_profile_type ),pointer] :: previous%nbr_xi[integer] :: x nearest neighbor model gridpoint for the profile%nbr_yi[integer] :: y nearest neighbor model gridpoint for the profile%nbr_dist[real] :: distance to nearest neighbor model gridpoint [m]%compute[logical] :: profile is within current compute domain%depth[real(:,:),pointer] :: depth of measurement [m]%data[real(:,:),pointer] :: data by variable type [various units]%flag[integer(:,:),pointer] :: flag by depth and variable type%forecast[real(:,:,:),pointer] :: ensemble member first guess%analysis[real(:,:,:),pointer] :: ensemble member analysis%obs_def[type( forward_operator_type ),pointer] :: observation forward operator%time[type(time_type)] :: profile time type%i_index[real] :: model longitude indices respectively%j_index[real] :: model latitude indices respectively%k_index[real(:,:),pointer] :: model depth indices%tdiff[type(time_type)] :: difference between model time and observation time%filename[character (len=128)] :: a filename
-
type
ocean_da_types_mod/forward_operator_type¶ Example forward operator type.
- Type fields:
%num[integer] :: how many?%state_size[integer(2)] :: for%state_var_index[integer(:),pointer] :: for flattened data%i_index[integer(:),pointer] :: i-dimension index%j_index[integer(:),pointer] :: j-dimension index%coef[real(:),pointer] :: coefficient
-
type
ocean_da_types_mod/grid_type¶ Grid type for DA.
- Type fields:
%x[real(:,:),pointer] :: x%y[real(:,:),pointer] :: y%z[real(:,:,:),pointer] :: z%h[real(:,:,:),pointer] :: h%basin_mask[real(:,:),pointer] :: basin mask%mask[real(:,:,:),pointer] :: land mask?%bathyt[real(:,:),pointer] :: bathymetry at T points [m]%tripolar_n[logical] :: True for tripolar grids.%ni[integer] :: ni%nj[integer] :: nj%nk[integer] :: nk