| Procedure | Location | Procedure Type | Description |
|---|---|---|---|
| abort_parallel | mod_parallel_pdaf | Subroutine | |
| add_obs_error_pdaf | add_obs_error_pdaf.F90 | Subroutine | |
| assimilate_pdaf | assimilate_pdaf.F90 | Subroutine | |
| check | mod_read_obs | Subroutine | @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. |
| check_n_observationfile | mod_read_obs | Subroutine | @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 |
| check_n_observationfile_da_interval | mod_read_obs | Subroutine | @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 |
| clean_obs_nc | mod_read_obs | Subroutine | @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 |
| clean_obs_pf | mod_read_obs | Subroutine | @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 |
| clm_advance | enkf_clm.F90 | Subroutine | |
| clm_advance | enkf_clm_5 | Subroutine | |
| clm_finalize | enkf_clm.F90 | Subroutine | |
| clm_finalize | enkf_clm_5 | Subroutine | |
| clm_init | enkf_clm.F90 | Subroutine | @author Wolfgang Kurtz, Guowei He @date 25.02.2022 @brief CLM3.5 Initialization routine for TSMP-PDAF @param[in] finname CLM input file name @details Initialization routines for the land model analogous to clm3_5/src/main/program_off.F90 |
| clm_init | enkf_clm_5 | Subroutine | TSMP PDAF comment out beginning |
| collect_state_pdaf | collect_state_pdaf.F90 | Subroutine | |
| cosmo_advance | enkf_cosmo.F90 | Subroutine | |
| cosmo_advance | enkf_cosmo.F90 | Subroutine | |
| cosmo_finalize | enkf_cosmo.F90 | Subroutine | |
| cosmo_finalize | enkf_cosmo.F90 | Subroutine | |
| cosmo_init | enkf_cosmo.F90 | Subroutine | |
| cosmo_init | enkf_cosmo.F90 | Subroutine | |
| distribute_state_pdaf | distribute_state_pdaf.F90 | Subroutine | |
| distribute_stateinc_pdaf | distribute_stateinc_pdaf.F90 | Subroutine | |
| domain_def_clm | enkf_clm_mod | Subroutine | |
| domain_def_clm | enkf_clm_mod | Subroutine | |
| exchange_2timelevel | enkf_cosmo_mod | Subroutine | |
| exchange_l2dim | enkf_cosmo_mod | Subroutine | |
| exchange_leapfrog | enkf_cosmo_mod | Subroutine | |
| exchange_leapfrog | enkf_cosmo_mod | Subroutine | |
| exchange_runge_kutta | enkf_cosmo_mod | Subroutine | |
| exchange_runge_kutta | enkf_cosmo_mod | Subroutine | |
| finalize_pdaf | finalize_pdaf.F90 | Subroutine | |
| finalize_tsmp | mod_tsmp | Interface | |
| g2l_obs_pdaf | g2l_obs_pdaf.F90 | Subroutine | |
| g2l_state_pdaf | g2l_state_pdaf.F90 | Subroutine | |
| get_interp_idx | enkf_clm_mod | Subroutine | @author Mukund Pondkule, Johannes Keller @date 27.03.2023 @brief Set indices of grid cells with lon/lat smaller than observation locations @details This routine sets the indices of grid cells with lon/lat smaller than observation locations. |
| get_interp_idx | enkf_clm_mod | Subroutine | @author Mukund Pondkule, Johannes Keller @date 27.03.2023 @brief Set indices of grid cells with lon/lat smaller than observation locations @details This routine sets the indices of grid cells with lon/lat smaller than observation locations. |
| get_obsindex_currentobsfile | mod_read_obs | Subroutine | @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. |
| get_statistic_filename | mod_clm_statistics | Function | |
| get_statistic_filename | mod_clm_statistics | Function | @author Wolfgang Kurtz, Guowei He
@date 21.03.2022
@brief Return the filename for output of CLM statistics
@return character(len=256) get_statistic_filename Filename
@details
This functions has likely been adapted from
|
| get_update_filename | print_update_clm_5.F90 | Subroutine | |
| get_update_filename | print_update_clm.F90 | Subroutine | |
| init_dim_l_pdaf | init_dim_l_pdaf.F90 | Subroutine | |
| init_dim_l_pfl | mod_tsmp | Interface | |
| init_dim_obs_f_pdaf | init_dim_obs_f_pdaf.F90 | Subroutine | broadcast crns_flag |
| init_dim_obs_l_pdaf | init_dim_obs_l_pdaf.F90 | Subroutine | |
| init_dim_obs_pdaf | init_dim_obs_pdaf.F90 | Subroutine | broadcast crns_flag |
| init_ens | init_ens.F90 | Subroutine | |
| init_n_domains_pdaf | init_n_domains_pdaf.F90 | Subroutine | |
| init_n_domains_pfl | mod_tsmp | Interface | |
| init_obs_f_pdaf | init_obs_f_pdaf.F90 | Subroutine | |
| init_obs_l_pdaf | init_obs_l_pdaf.F90 | Subroutine | |
| init_obs_pdaf | init_obs_pdaf.F90 | Subroutine | |
| init_obscovar_pdaf | init_obscovar_pdaf.F90 | Subroutine | |
| init_obsvar_l_pdaf | init_obsvar_l_pdaf.F90 | Subroutine | $ ! Due to domain decomposition in our case the mean variance is computed $ ! for the full domain using the function MPI_Allreduce $#ifndef CLMSA $ if (model .eq. tag_model_parflow) then $ meanvar_p = 0 $ sum_p = 0 $ count = 0 $ do i = 1, dim_obs_p $ if(pressure_obserr_p(i) /= 0) then $ sum_p = sum_p + pressure_obserr_p(i) $ count = count + 1 $ endif $ enddo $ ! averaging the sum of observation errors with total no of non-zero observations $ meanvar_p = sum_p/count $ ! summing the average of observation errors and communicating it back to each rank $ call MPI_Allreduce(meanvar_p, meanvar, 1, MPI_REAL8, MPI_SUM, COMM_filter, MPIerr) $ ! to get the mean dividing the mean observation error by size of processors $ meanvar = meanvar/npes_filter $ end if $#endif $ $#if defined CLMSA $ if(model .eq. tag_model_clm) then $ meanvar_p = 0 $ sum_p = 0 $ count = 0 $ do i = 1, dim_obs_p $ if(clm_obserr_p(i) /= 0) then $ sum_p = sum_p + clm_obserr_p(i) $ count = count + 1 $ endif $ enddo $ ! averaging the sum of observation errors with total no of non-zero observations $ meanvar_p = sum_p/count $ ! summing the average of observation errors and communicating it back to each rank $ call MPI_Allreduce(meanvar_p, meanvar, 1, MPI_REAL8, MPI_SUM, COMM_filter, MPIerr) $ ! to get the mean dividing the mean observation error by size of processors $ meanvar = meanvar/npes_filter $ end if $#endif |
| init_obsvar_pdaf | init_obsvar_pdaf.F90 | Subroutine | |
| init_parallel_pdaf | init_parallel_pdaf.F90 | Subroutine | |
| init_pdaf | init_pdaf.F90 | Subroutine | |
| init_pdaf_info | init_pdaf_info.F90 | Subroutine | |
| init_pdaf_parse | init_pdaf_parse.F90 | Subroutine | |
| initialize_loop | enkf_cosmo_mod | Subroutine | |
| initialize_loop | enkf_cosmo_mod | Subroutine | |
| initialize_tsmp | mod_tsmp | Interface | |
| integrate | integrate_pdaf.F90 | Subroutine | |
| integrate_tsmp | mod_tsmp | Interface | |
| l2g_state_pdaf | l2g_state_pdaf.F90 | Subroutine | |
| localize_covar_pdaf | localize_covar_pdaf.F90 | Subroutine | |
| MPI_Allgather | nullmpi.F90 | Subroutine | |
| MPI_AllGatherV | nullmpi.F90 | Subroutine | |
| MPI_Allreduce | nullmpi.F90 | Subroutine | |
| MPI_Barrier | nullmpi.F90 | Subroutine | |
| MPI_BCast | nullmpi.F90 | Subroutine | |
| MPI_Comm_Rank | nullmpi.F90 | Subroutine | |
| MPI_Comm_Size | nullmpi.F90 | Subroutine | |
| MPI_Comm_split | nullmpi.F90 | Subroutine | |
| mpi_finalize | nullmpi.F90 | Subroutine | |
| mpi_init | nullmpi.F90 | Subroutine | |
| MPI_Recv | nullmpi.F90 | Subroutine | |
| MPI_Reduce | nullmpi.F90 | Subroutine | |
| MPI_Send | nullmpi.F90 | Subroutine | |
| next_observation_pdaf | next_observation_pdaf.F90 | Subroutine | print *, "stepnow", stepnow |
| nullify_tracers | enkf_cosmo_mod | Subroutine | |
| nullify_tracers | enkf_cosmo_mod | Subroutine | |
| obs_op_f_pdaf | obs_op_f_pdaf.F90 | Subroutine | |
| obs_op_pdaf | obs_op_pdaf.F90 | Subroutine | |
| parse | parser | Interface | |
| prepoststep_ens_pdaf | prepoststep_ens_pdaf.F90 | Subroutine | !!!!!!!!!!!!!!!!!!!!!! case below contains dummy CLM component !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| prodRinvA_l_pdaf | prodrinva_l_pdaf.F90 | Subroutine | |
| prodRinvA_pdaf | prodrinva_pdaf.F90 | Subroutine | |
| read_enkfpar | mod_parallel_pdaf | Interface | |
| read_obs_nc | mod_read_obs | Subroutine | @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. |
| set_qrqsqg_boundaries | enkf_cosmo_mod | Subroutine | |
| set_trcr_special_bc | enkf_cosmo_mod | Subroutine | |
| update_tsmp | mod_tsmp | Interface | |
| write_clm_statistics | mod_clm_statistics | Subroutine | |
| write_clm_statistics | mod_clm_statistics | Subroutine |