interface subroutine atm_setup(inversion,error) use atm_version !--------------------------------------------------------------------- ! @ public ! Set the ATM version to be used. Supported versions are 1985, ! and 2009. 'OLD' (resp. 'NEW') is an alias for 1985 (resp. 2009). !--------------------------------------------------------------------- character(len=*), intent(in) :: inversion ! User input version logical, intent(inout) :: error ! Error flag end subroutine atm_setup ! subroutine atm_atmosp_get(ctype_out,humidity_out,wvsh_out,tlr_out,top_out, & p_step_out,p_step_factor_out,error) use atm_version !--------------------------------------------------------------------- ! @ public ! Public entry point to: ! 1) get the C++ global variables into the Fortran-SIC ones, ! 2) return these latter ones. ! Warning: these variables make sense only with ATM 2009. Return ATM ! 2009 values even if it is not currently used (not an error). !--------------------------------------------------------------------- character(len=*), intent(out) :: ctype_out ! Atmospheric type (as a string) real(4), intent(out) :: humidity_out ! [%] Ground Relative Humidity (indication) real(4), intent(out) :: wvsh_out ! [km] Water vapor scale height real(4), intent(out) :: tlr_out ! [K/km] Tropospheric lapse rate real(4), intent(out) :: top_out ! [km] Upper atm. boundary for calculations real(4), intent(out) :: p_step_out ! [mb] Primary pressure step real(4), intent(out) :: p_step_factor_out ! [] Pressure step ratio between two consecutive layers logical, intent(inout) :: error ! Logical error flag end subroutine atm_atmosp_get ! subroutine atm_atmosp_set(ctype_in,humidity_in,wvsh_in,tlr_in,top_in, & p_step_in,p_step_factor_in,error) use atm_version !--------------------------------------------------------------------- ! @ public ! Public entry point to: ! 1) set the Fortran-SIC global variables values, ! 2) set the C++ global variables from these values. ! Warning: these variables make sense only with ATM 2009. Nothing ! will be done if ATM 2009 is not the version in use (not an error). ! NB: 'ctype_in' is not case-sensitive, and can be shorten as long ! as it is not ambiguous. !--------------------------------------------------------------------- character(len=*), intent(in) :: ctype_in ! Atmospheric type (as a string) real(4), intent(in) :: humidity_in ! [%] Ground Relative Humidity (indication) real(4), intent(in) :: wvsh_in ! [km] Water vapor scale height real(4), intent(in) :: tlr_in ! [K/km] Tropospheric lapse rate real(4), intent(in) :: top_in ! [km] Upper atm. boundary for calculations real(4), intent(in) :: p_step_in ! [mb] Primary pressure step real(4), intent(in) :: p_step_factor_in ! [] Pressure step ratio between two consecutive layers logical, intent(inout) :: error ! Logical error flag end subroutine atm_atmosp_set ! subroutine atm_atmosp(t0,p0,h0) use atm_version !--------------------------------------------------------------------- ! @ public ! Setup the atmospheric structure !--------------------------------------------------------------------- real(4), intent(in) :: t0 ! Ground temperature [K] real(4), intent(in) :: p0 ! Ground pressure [hPa] real(4), intent(in) :: h0 ! Altitude of the site [km] end subroutine atm_atmosp ! subroutine atm_transm(water,airmass,freq,temi,tatm,tauox,tauw,taut,ier) use atm_version !--------------------------------------------------------------------- ! @ public ! Return the atmospheric temperatures and opacities given the amount ! of water and the frequency, for current atmosphere previously set ! with 'atm_atmosp()' !--------------------------------------------------------------------- real(4), intent(in) :: water ! Precipitable water vapor [mm] real(4), intent(in) :: airmass ! Number of air masses [] real(4), intent(in) :: freq ! Frequency [GHz] real(4), intent(out) :: temi ! Atmospheric emission [K] real(4), intent(out) :: tatm ! Mean temperature [K] real(4), intent(out) :: tauox ! Opacity (dry component) [neper] real(4), intent(out) :: tauw ! Opacity (wet component) [neper] real(4), intent(out) :: taut ! Total opacity [neper] integer(4), intent(out) :: ier ! Error status end subroutine atm_transm ! subroutine atm_path(water,airmass,freq,path,ier) use atm_version !--------------------------------------------------------------------- ! @ public ! Integrated optical length of current atmosphere !--------------------------------------------------------------------- real(4), intent(in) :: water ! Precipitable water vapor [mm] real(4), intent(in) :: airmass ! Number of air masses [] real(4), intent(in) :: freq ! Frequency [GHz] real(4), intent(out) :: path ! Optical length [cm] integer(4), intent(out) :: ier ! Error status end subroutine atm_path ! end interface