mod_read_obs Module



Variables

Type Visibility Attributes Name Initial
integer, public, allocatable :: idx_obs_nc(:)
integer, public, allocatable :: x_idx_obs_nc(:)
integer, public, allocatable :: y_idx_obs_nc(:)
integer, public, allocatable :: z_idx_obs_nc(:)
integer, public, allocatable :: var_id_obs_nc(:,:)
real, public, allocatable :: x_idx_interp_d_obs_nc(:)
real, public, allocatable :: y_idx_interp_d_obs_nc(:)
integer(kind=c_int), public, allocatable, target :: idx_obs_pf(:)
integer(kind=c_int), public, allocatable, target :: x_idx_obs_pf(:)
integer(kind=c_int), public, allocatable, target :: y_idx_obs_pf(:)
integer(kind=c_int), public, allocatable, target :: z_idx_obs_pf(:)
integer(kind=c_int), public, allocatable, target :: ind_obs_pf(:)
type(c_ptr), public, bind(C,name="0") :: ptr_tidx_obs
type(c_ptr), public, bind(C,name="0") :: ptr_xidx_obs
type(c_ptr), public, bind(C,name="0") :: ptr_yidx_obs
type(c_ptr), public, bind(C,name="0") :: ptr_zidx_obs
type(c_ptr), public, bind(C,name="0") :: ptr_ind_obs
real, public, allocatable :: clmobs_lon(:)
real, public, allocatable :: clmobs_lat(:)
integer, public, allocatable :: clmobs_layer(:)
real, public, allocatable :: clmobs_dr(:)
real, public, allocatable :: clm_obs(:)
real, public, allocatable :: clm_obserr(:)
real, public, allocatable :: pressure_obs(:)
real, public, allocatable :: pressure_obserr(:)
integer, public :: multierr = 0
integer, public :: dim_nx
integer, public :: dim_ny
real, public, allocatable :: dampfac_state_time_dependent_in(:)
real, public, allocatable :: dampfac_param_time_dependent_in(:)

Subroutines

public subroutine read_obs_nc(current_observation_filename)

@author Wolfgang Kurtz, Guowei He, Mukund Pondkule @date 03.03.2023 @brief Read NetCDF observation file @param[in] current_observation_filename Name of observation file @details This subroutine reads the observation file and stores the data in the corresponding arrays.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: current_observation_filename

public subroutine get_obsindex_currentobsfile(no_obs) bind(c,name='get_obsindex_currentobsfile')

@author Wolfgang Kurtz, Guowei He, Mukund Pondkule @date 03.03.2023 @brief Read observation index arrays for C-code @param[out] no_obs Number of observations @details This subroutine reads the observation index arrays for usage in the enkf_parflow.c for groundwater masking.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: no_obs

public subroutine clean_obs_nc()

@author Wolfgang Kurtz, Guowei He, Mukund Pondkule @date 03.03.2023 @brief Deallocation of observation arrays @details This subroutine deallocates the observation arrays used in subroutine read_obs_nc.

Arguments

None

public subroutine clean_obs_pf() bind(c,name='clean_obs_pf')

@author Wolfgang Kurtz, Guowei He, Mukund Pondkule @date 03.03.2023 @brief Deallocation of observation index arrays @details This subroutine deallocates the observation index arrays used in subroutine get_obsindex_currentobsfile.

Read more…

Arguments

None

public subroutine check_n_observationfile(fn, nn)

@author Wolfgang Kurtz, Guowei He @date 21.03.2022 @brief Return number of observations from file @param[in] fn Filename of the observation file @param[out] nn number of observations in fn @details Reads the content of the variable (!) named no_obs from NetCDF file fn.

Read more…

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: fn
integer, intent(out) :: nn

public subroutine check_n_observationfile_da_interval(fn, aa)

@author Yorck Ewerdwalbesloh, Johannes Keller @date 11.09.2023 @brief Return data assimilation interval from file @param[in] fn Filename of the observation file @param[out] aa new da_interval (number of time steps until next assimilation time step) @details Reads the content of the variable name da_interval from NetCDF file fn using subroutines from the NetCDF module. The result is returned in aa.

Read more…

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: fn
real, intent(out) :: aa

public subroutine check(status)

@author Wolfgang Kurtz, Guowei He, Mukund Pondkule @date 03.03.2023 @brief Error handling for netCDF commands @param[in] status netCDF command status @details This subroutine checks the status of a netCDF command and prints an error message if necessary.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: status