Oasis3 4.0.2
|
00001 MODULE mod_string 00002 ! 00003 ! -- string.h 26-07-95 Version 2.0 Author: Laurent Terray 00004 ! ******* 25-09-96 Version 2.1 Addition of extra time step (nfend) 00005 ! and field integral flag (nintflx) 00006 ! 12-11-97 Version 2.2 Addition of nmxdel 00007 ! 05-09-00 Version 2.5 Remove integral flag nintflx 00008 ! 18-03-02 Version 2.5 changed in module 00009 !@ 00010 !@ Contents : set of self consistent strings for each field 00011 !@ -------- 00012 !@ 00013 !@ First line of SSCS : 00014 !@ ------------------ 00015 !@ 00016 !@ -- cnaminp : symbolic name of input indirect fields 00017 !@ 00018 !@ -- cnamout : symbolic name of output indirect fields 00019 !@ 00020 !@ -- cg_input_field : symbolic name of all input fields 00021 !@ 00022 !@ -- cg_output_field : symbolic name of all output fields 00023 !@ 00024 !@ -- numlab : label number of exchanged fields indirectly 00025 !@ 00026 !@ -- ig_numlab : label number of all exchanged fields 00027 !@ 00028 !@ -- nfexch : coupling frequency of exchanged indirect fields (in seconds) 00029 !@ 00030 !@ -- ig_freq : coupling frequency of all exchanged fields (in seconds) 00031 !@ 00032 !@ -- ig_ntrans : number of analysis performed for each field 00033 !@ 00034 !@ -- cficinp : restart file name of indirect input fields 00035 !@ 00036 !@ -- cg_restart_file : restart file name of all input fields 00037 !@ 00038 !@ -- ig_nbr_rstfile : number of different restart file 00039 !@ 00040 !@ -- ig_no_rstfile : restart file number 00041 !@ 00042 !@ -- cg_name_rstfile : name of restart file corresponding to ig_no_rstfile 00043 !@ 00044 !@ -- cficout : file name for output field in cases 'PIPE' or 'NONE' 00045 !@ 00046 !@ -- cg_input_file : file name for input file in cases 'IGNOUT' or 'EXPOUT' 00047 !@ 00048 !@ -- ig_lag : lag of exported field 00049 !@ 00050 !@ -- nluninp : logical unit for input field 00051 !@ 00052 !@ -- nlunout : logical unit for output field 00053 !@ 00054 !@ -- cstate : field I/O status of indirect fields 00055 !@ 00056 !@ -- ig_total_state : field I/O status of all the fields 00057 !@ 00058 !@ -- lg_state : LOGICAL indicating if the field goes through Oasis (.true.) 00059 !@ or not (.false.) 00060 !@ 00061 !@ -- ifrqmin : minimum exchange frequency of indirect fields 00062 !@ 00063 !@ -- ig_total_frqmin : minimum exchange frequency of all the fields 00064 !@ 00065 !@ -- ig_number_field : Rank of the field going through oasis in total number 00066 !@ of fields 00067 !@ 00068 !@ -- ig_local_trans : Local transformation of fields 00069 !@ 00070 !@ Second line of SSCS : 00071 !@ ------------------- 00072 !@ 00073 !@ -- nlonbf : number of longitudes for initial fields 00074 !@ 00075 !@ -- nlatbf : number of latitudes for initial fields 00076 !@ 00077 !@ -- nlonaf : number of longitudes for initial fields 00078 !@ 00079 !@ -- nlataf : number of latitudes for initial fields 00080 !@ 00081 !@ -- cficbf : root name of specific files for initial fields 00082 !@ 00083 !@ -- cficaf : root name of specific files for final fields 00084 !@ 00085 !@ -- ig_grid_nbrbf : grid number associated to a field before interpolation 00086 !@ 00087 !@ -- ig_grid_nbraf : grid number associated to a field after interpolation 00088 !@ 00089 !@ -- nseqn : sequential index of indirect fields 00090 !@ 00091 !@ -- nlagn : lag index of indirect fields 00092 !@ 00093 !@ -- ig_total_nseqn : sequential index of all the fields 00094 !@ 00095 !@ -- ig_invert: index=1 if INVERT is used for that field 00096 !@ 00097 !@ -- ig_reverse: index=1 if REVERSE is used for that field 00098 !@ 00099 !@ Third line of SSCS : 00100 !@ ------------------ 00101 !@ 00102 !@ -- canal : names of analysis performed for each field 00103 !@ 00104 !@ Relation between symbolic name of the field and port number of 00105 !@ CLIM library : 00106 !@ 00107 !@ -- ig_portin_id : port number of input fields 00108 !@ 00109 !@ -- ig_portout_id : port number of output fields 00110 !@ 00111 ! ------------------------------------------------------------------- 00112 ! 00113 USE mod_kinds_oasis 00114 INTEGER (kind=ip_intwp_p),DIMENSION(:),ALLOCATABLE :: numlab, ig_numlab, nfexch, ig_ntrans 00115 INTEGER (kind=ip_intwp_p),DIMENSION(:),ALLOCATABLE :: ig_total_ntrans 00116 INTEGER (kind=ip_intwp_p),DIMENSION(:),ALLOCATABLE :: nluinp, nluout, nlonbf 00117 INTEGER (kind=ip_intwp_p),DIMENSION(:),ALLOCATABLE :: nlatbf, nlonaf, nlataf 00118 INTEGER (kind=ip_intwp_p),DIMENSION(:),ALLOCATABLE :: nseqn, ig_total_nseqn 00119 INTEGER (kind=ip_intwp_p),DIMENSION(:),ALLOCATABLE :: ig_freq, ig_lag, nlagn 00120 INTEGER (kind=ip_intwp_p),DIMENSION(:),ALLOCATABLE :: ig_invert, ig_reverse 00121 INTEGER (kind=ip_intwp_p),DIMENSION(:),ALLOCATABLE :: ig_number_field, ig_no_rstfile 00122 INTEGER (kind=ip_intwp_p),DIMENSION(:),ALLOCATABLE :: ig_total_state, ig_local_trans 00123 INTEGER (kind=ip_intwp_p),DIMENSION(:),ALLOCATABLE :: ig_portin_id, ig_portout_id 00124 INTEGER (kind=ip_intwp_p),DIMENSION(:),ALLOCATABLE :: ig_grid_nbrbf, ig_grid_nbraf 00125 INTEGER (kind=ip_intwp_p) :: ifrqmin, ig_nbr_rstfile 00126 INTEGER (kind=ip_intwp_p) :: ig_total_frqmin 00127 00128 00129 LOGICAL,DIMENSION(:),ALLOCATABLE :: lg_state 00130 ! 00131 CHARACTER(len=8),DIMENSION(:),ALLOCATABLE :: cnaminp, cnamout 00132 CHARACTER(len=8),DIMENSION(:,:),ALLOCATABLE :: canal 00133 CHARACTER(len=8),DIMENSION(:),ALLOCATABLE :: cg_name_rstfile, cg_restart_file 00134 CHARACTER(len=8),DIMENSION(:),ALLOCATABLE :: cficinp, cficout 00135 CHARACTER(len=32),DIMENSION(:),ALLOCATABLE :: cg_input_file 00136 CHARACTER(len=8),DIMENSION(:),ALLOCATABLE :: cg_input_field, cg_output_field 00137 CHARACTER(len=8),DIMENSION(:),ALLOCATABLE :: cficbf, cficaf, cstate 00138 CHARACTER(len=4),DIMENSION(:),ALLOCATABLE :: cga_locatorbf, cga_locatoraf 00139 00140 ! ------------------------------------------------------------------- 00141 END MODULE mod_string