! $Id: ropp_apps.f90 4680 2015-12-22 17:00:09Z idculv $ !****t* Interface/Modules ! ! SYNOPSIS ! USE ropp_apps ! !**** MODULE ropp_apps !****m* Modules/ropp_apps * ! ! NAME ! ropp_apps - Interface module for the ROPP applications module ! ! SYNOPSIS ! USE ropp_apps ! ! DESCRIPTION ! This module provides interfaces for all routines in the ! ROPP applications library. ! ! NOTES ! ! SEE ALSO ! typesizes ! ! AUTHOR ! Met Office, Exeter, UK. ! Any comments on this software should be given via the ROM SAF ! Helpdesk at http://www.romsaf.org ! ! COPYRIGHT ! (c) EUMETSAT. All rights reserved. ! For further details please refer to the file COPYRIGHT ! which you should have received as part of this distribution. ! !**** !------------------------------------------------------------------------------- ! 1. Other modules !------------------------------------------------------------------------------- USE typesizes, ONLY: wp => EightByteReal !------------------------------------------------------------------------------- ! 2. Tropopause height !------------------------------------------------------------------------------- INTERFACE SUBROUTINE ropp_apps_tph_bangle(ro_data, diag) USE ropp_io_types, ONLY: ROprof TYPE(ROprof), INTENT(INOUT) :: ro_data LOGICAL, OPTIONAL, INTENT(IN) :: diag END SUBROUTINE ropp_apps_tph_bangle END INTERFACE INTERFACE SUBROUTINE ropp_apps_tph_refrac(ro_data, diag) USE ropp_io_types, ONLY: ROprof TYPE(ROprof), INTENT(INOUT) :: ro_data LOGICAL, OPTIONAL, INTENT(IN) :: diag END SUBROUTINE ropp_apps_tph_refrac END INTERFACE INTERFACE SUBROUTINE ropp_apps_tph_tdry(ro_data, diag) USE ropp_io_types, ONLY: ROprof TYPE(ROprof), INTENT(INOUT) :: ro_data LOGICAL, OPTIONAL, INTENT(IN) :: diag END SUBROUTINE ropp_apps_tph_tdry END INTERFACE INTERFACE SUBROUTINE ropp_apps_tph_temp(ro_data, diag) USE ropp_io_types, ONLY: ROprof TYPE(ROprof), INTENT(INOUT) :: ro_data LOGICAL, OPTIONAL, INTENT(IN) :: diag END SUBROUTINE ropp_apps_tph_temp END INTERFACE INTERFACE SUBROUTINE ropp_apps_cov_transform(y, x, a, cov) USE typesizes, ONLY: wp => EightByteReal REAL(wp), DIMENSION(:), INTENT(IN) :: y, x REAL(wp), INTENT(IN) :: a REAL(wp), DIMENSION(:), INTENT(INOUT) :: cov END SUBROUTINE ropp_apps_cov_transform END INTERFACE !------------------------------------------------------------------------------- ! 3. Planetary boundary layer height !------------------------------------------------------------------------------- INTERFACE SUBROUTINE ropp_apps_pblh_bangle(ro_data, diag) USE ropp_io_types, ONLY: ROprof TYPE(ROprof), INTENT(INOUT) :: ro_data LOGICAL, OPTIONAL, INTENT(IN) :: diag END SUBROUTINE ropp_apps_pblh_bangle END INTERFACE INTERFACE SUBROUTINE ropp_apps_pblh_refrac(ro_data, diag) USE ropp_io_types, ONLY: ROprof TYPE(ROprof), INTENT(INOUT) :: ro_data LOGICAL, OPTIONAL, INTENT(IN) :: diag END SUBROUTINE ropp_apps_pblh_refrac END INTERFACE INTERFACE SUBROUTINE ropp_apps_pblh_tdry(ro_data, diag) USE ropp_io_types, ONLY: ROprof TYPE(ROprof), INTENT(INOUT) :: ro_data LOGICAL, OPTIONAL, INTENT(IN) :: diag END SUBROUTINE ropp_apps_pblh_tdry END INTERFACE INTERFACE SUBROUTINE ropp_apps_pblh_temp(ro_data, diag) USE ropp_io_types, ONLY: ROprof TYPE(ROprof), INTENT(INOUT) :: ro_data LOGICAL, OPTIONAL, INTENT(IN) :: diag END SUBROUTINE ropp_apps_pblh_temp END INTERFACE INTERFACE SUBROUTINE ropp_apps_pblh_shum(ro_data, diag) USE ropp_io_types, ONLY: ROprof TYPE(ROprof), INTENT(INOUT) :: ro_data LOGICAL, OPTIONAL, INTENT(IN) :: diag END SUBROUTINE ropp_apps_pblh_shum END INTERFACE INTERFACE SUBROUTINE ropp_apps_pblh_rhum(ro_data, diag) USE ropp_io_types, ONLY: ROprof TYPE(ROprof), INTENT(INOUT) :: ro_data LOGICAL, OPTIONAL, INTENT(IN) :: diag END SUBROUTINE ropp_apps_pblh_rhum END INTERFACE INTERFACE SUBROUTINE ropp_apps_pblh_region(pblh_lon, pblh_lat, pblh_region) USE typesizes, ONLY: wp => EightByteReal REAL(wp), DIMENSION(90), INTENT(OUT) :: PBLH_lon REAL(wp), DIMENSION(46), INTENT(OUT) :: PBLH_lat INTEGER, DIMENSION(90, 46), INTENT(OUT) :: PBLH_region END SUBROUTINE ropp_apps_pblh_region END INTERFACE !------------------------------------------------------------------------------- ! 4. Version !------------------------------------------------------------------------------- INTERFACE ropp_apps_version FUNCTION ropp_apps_version() RESULT (version) CHARACTER (LEN=40) :: version END FUNCTION ropp_apps_version END INTERFACE ropp_apps_version END MODULE ropp_apps