Oasis3 4.0.2
|
00001 !----------------------------------------------------------------------- 00002 ! BOP 00003 ! 00004 ! !MODULE: mod_psmile_io_interfaces 00005 ! !REMARKS: Programed by Reiner Vogelsang, SGI (reiner@sgi.com) 00006 ! 00007 ! !USES: psmile_os.h 00008 ! !DESCRIPTION: 00009 ! Defines F90 interfaces of all PSMILe I/O routines 00010 ! 00011 ! !REVISION HISTORY: 00012 ! 2003.04.28 Reiner Vogelsang 00013 ! - Screening of 4 byte real interfaces. 00014 ! 00015 ! EOP 00016 !----------------------------------------------------------------------- 00017 ! $Id: mod_psmile_io_interfaces.F90 40 2003-08-06 12:11:55Z valcke $ 00018 !----------------------------------------------------------------------- 00019 ! 00020 !RV: Set here some OS specific preprocessor flags 00021 ! 00022 #include "psmile_os.h" 00023 ! 00024 module mod_psmile_io_interfaces 00025 interface psmile_io_init_comp 00026 subroutine psmile_io_init_comp(id_error) 00027 use mod_kinds_model 00028 integer(kind=ip_intwp_p),intent(out)::id_error 00029 end subroutine psmile_io_init_comp 00030 end interface 00031 00032 interface psmile_def_domains 00033 subroutine psmile_def_domains(id_error) 00034 use mod_kinds_model 00035 integer(kind=ip_intwp_p),intent(out)::id_error 00036 end subroutine psmile_def_domains 00037 end interface 00038 00039 interface psmile_def_files 00040 subroutine psmile_def_files(id_error) 00041 use mod_kinds_model 00042 integer(kind=ip_intwp_p),intent(out)::id_error 00043 end subroutine psmile_def_files 00044 end interface 00045 00046 interface psmile_def_metadata 00047 subroutine psmile_def_metadata(id_error) 00048 use mod_kinds_model 00049 integer(kind=ip_intwp_p),intent(out)::id_error 00050 end subroutine psmile_def_metadata 00051 end interface 00052 00053 interface psmile_close_files 00054 subroutine psmile_close_files(id_error) 00055 use mod_kinds_model 00056 integer(kind=ip_intwp_p),intent(out)::id_error 00057 end subroutine psmile_close_files 00058 end interface 00059 00060 interface psmile_io_cleanup 00061 subroutine psmile_io_cleanup(id_error) 00062 use mod_kinds_model 00063 integer(kind=ip_intwp_p),intent(out)::id_error 00064 end subroutine psmile_io_cleanup 00065 end interface 00066 00067 interface psmile_read 00068 00069 subroutine psmile_read_8(id_port_id,rd_field,id_newtime) 00070 use mod_kinds_model 00071 integer(kind=ip_intwp_p),intent(in)::id_newtime,id_port_id 00072 REAL(kind=ip_double_p), DIMENSION(:) :: rd_field 00073 end subroutine psmile_read_8 00074 00075 #ifndef __NO_4BYTE_REALS 00076 subroutine psmile_read_4(id_port_id,rd_field,id_newtime) 00077 use mod_kinds_model 00078 integer(kind=ip_intwp_p),intent(in)::id_newtime,id_port_id 00079 REAL(kind=ip_single_p), DIMENSION(:) :: rd_field 00080 end subroutine psmile_read_4 00081 #endif 00082 00083 end interface 00084 00085 interface psmile_write 00086 subroutine psmile_write_8(id_port_id,rd_field,id_newtime) 00087 use mod_kinds_model 00088 integer(kind=ip_intwp_p),intent(in)::id_newtime,id_port_id 00089 REAL(kind=ip_double_p), DIMENSION(:) :: rd_field 00090 end subroutine psmile_write_8 00091 00092 #ifndef __NO_4BYTE_REALS 00093 subroutine psmile_write_4(id_port_id,rd_field,id_newtime) 00094 use mod_kinds_model 00095 integer(kind=ip_intwp_p),intent(in)::id_newtime,id_port_id 00096 REAL(kind=ip_single_p), DIMENSION(:) :: rd_field 00097 end subroutine psmile_write_4 00098 #endif 00099 00100 end interface 00101 00102 interface indexi 00103 subroutine indexi(n,arr,indx) 00104 use mod_kinds_model 00105 integer(kind=ip_intwp_p),intent(in)::n 00106 integer(kind=ip_intwp_p),intent(in)::arr(n) 00107 integer(kind=ip_intwp_p),intent(out)::indx(n) 00108 end subroutine indexi 00109 end interface 00110 00111 interface combine_with_date 00112 subroutine combine_with_date(cd_in,cd_mode,id_initial_date,cd_on) 00113 use mod_kinds_model 00114 character(len=*),intent(in)::cd_in 00115 character(len=*),intent(in)::cd_mode 00116 integer(kind=ip_intwp_p),intent(in)::id_initial_date(:) 00117 character(len=*),intent(out)::cd_on 00118 end subroutine combine_with_date 00119 end interface 00120 00121 end module mod_psmile_io_interfaces