Oasis3 4.0.2
mod_analysis.F90
Go to the documentation of this file.
00001 MODULE mod_analysis
00002 !
00003 ! -- analysis.h   18-08-95   Version 2.0beta   Author: Laurent Terray
00004 !    **********   01-02-96   Version 2.0 : addition of cdqdt,cgrdmap,nlumap
00005 !                                          and nmapfl
00006 !                 05-08-96   Version 2.1 : addition of nlusub, cgrdsub 
00007 !                                          ctypsub and nsubfl (subgrid)
00008 !                 29-08-96   Version 2.1 : new input for subgrid, mozaic
00009 !                                          and anais, maximum number of
00010 !                                          neighbors. New input for redglo
00011 !                 14-04-99   Version 2.3 : new input for extrap called by
00012 !                                          glored. Change periodicity 
00013 !                                          variables.
00014 !                 05-09-00   Version 2.5 : integral flags for check[in-out]
00015 !                 18-03-02   Version 2.5 : changed in module
00016 !                 27-06-02   Version 2.5 : scrip added
00017 !@
00018 !@  Contents : variables related to the set of analysis for each field
00019 !@  --------
00020 !@
00021 !@ Mask :
00022 !@
00023 !@ -- amskval : mask value for the imported field
00024 !@
00025 !@ MaskP :
00026 !@
00027 !@ -- amskvalnew : mask value for the exported field
00028 !@
00029 !@
00030 !@ Mozaic :
00031 !@
00032 !@ -- cgrdmap : file name for grid mapping used in mozaic (1D)
00033 !@
00034 !@ -- nlumap  : logical units associated to previous files (1D)
00035 !@
00036 !@ -- nmapfl  : mapping dataset identificator number (1D)
00037 !@
00038 !@ -- nmapvoi : maximum number of neighbors (1D)
00039 !@
00040 !@ Invert :
00041 !@
00042 !@ -- cxordbf : field ordering (longitude) before interpolation (1D)
00043 !@
00044 !@ -- cyordbf : field ordering (latitude) before interpolation (1D)
00045 !@
00046 !@ Reverse :
00047 !@
00048 !@ -- cxordaf : field ordering (longitude) after interpolation (1D)
00049 !@
00050 !@ -- cyordaf : field ordering (latitude) after interpolation (1D)
00051 !@
00052 !@ Extrap :
00053 !@
00054 !@ -- cextmet : extrapolation method (1D)
00055 !@
00056 !@ -- neighbor : number of neighbors used in extrapolation (1D)
00057 !@
00058 !@ -- neighborg : number of neighbors used in extrapolation when extrap
00059 !@                is called by GLORED (1D)
00060 !@
00061 !@ -- cgrdext : file names for data used in extrapolation WEIGHT (1D)
00062 !@
00063 !@ -- nluext  : logical units associated to previous files (1D)
00064 !@
00065 !@ -- nextfl  : extrapolation dataset identificator number (1D)
00066 !@
00067 !@ Interp :
00068 !@
00069 !@ -- cintmet : interpolation method (1D)
00070 !@
00071 !@ -- cgrdtyp : source grid type (1D)
00072 !@
00073 !@ -- csper   : source grid periodicity type (P=Periodic, R=Regional)
00074 !@
00075 !@ -- ctper   : target grid periodicity type (P=Periodic, R=Regional)
00076 !@
00077 !@ -- cfldtyp : field type (scalar or vector) (1D)
00078 !@
00079 !@ Scrip :
00080 !@
00081 !@ -- cmap_method : scrip remapping method ('CONSERV', 'BILINEAR', 'BICUBIC',
00082 !@                                          'GAUSWGT'or 'DISTWGT')
00083 !@ -- cfldtype    : field type ('SCALAR' or 'VECTOR_I' or 'VECTOR_J')
00084 !@
00085 !@ -- cnorm_opt   : normalization option ('FRACAREA', 'DESTAREA' or 'NONE')
00086 !@
00087 !@ -- crsttype    : restriction type for SCRIP search ('LATITUDE', 'LATLON',
00088 !@                                                     or 'REDUCED')
00089 !@
00090 !@ -- nbins       : number of search bins
00091 !@
00092 !@ -- corder      : remapping order ('FIRST' or 'SECOND')
00093 !@
00094 !@ --  nscripvoi  : number of neighbour for 'GAUSWGT'or 'DISTWGT'
00095 !@
00096 !@ -- ig_assoc_input_field : number id of the associated field for vector case
00097 !@
00098 !@ -- cg_assoc_input_field : name of the associated field for vector case
00099 !@
00100 !@ -- lrotate :  logical for the rotation to cartesian referential in vector case
00101 !@
00102 !@ Filling :
00103 !@
00104 !@ -- cfilfic : file name for climatological field to complete model field (1D)
00105 !@
00106 !@ -- nlufil  : logical units connected to previous files (1D)
00107 !@
00108 !@ -- cficmet : filling method (1D)
00109 !@
00110 !@ -- cfldcor : field name for flux correction term due to SST filling
00111 !@
00112 !@ -- nlucor  : logical unit used to write flux correction term
00113 !@
00114 !@ !onserv :
00115 !@
00116 !@ -- cconmet : conservation method (1D)
00117 !@
00118 !@ Glored, redglo :
00119 !@
00120 !@ -- ntronca : gaussian troncature for reduced <-> global gaussian grid (1D)
00121 !@
00122 !@ -- cmskrd : extrapolation flag to handle processing reduced grid values (1D)
00123 !@
00124 !@ Correct :
00125 !@
00126 !@ -- afldcoef : main field multiplicative coefficient (1D)
00127 !@
00128 !@ -- ncofld : number of additional fields in correction formula (1D)
00129 !@
00130 !@ -- ccofic : file names for additional data files (2D)
00131 !@
00132 !@ -- nludat : logical units associated to previous files (2D)
00133 !@
00134 !@ -- ccofld : symbolic names for additional fields (2D)
00135 !@
00136 !@ -- acocoef : multiplicative coefficients for additional fields (2D)
00137 !@
00138 !@ Blasold :
00139 !@
00140 !@ -- afldcobo : main field multiplicative coefficient (1D)
00141 !@
00142 !@ -- nbofld : number of additional fields in linear combination formula (1D)
00143 !@
00144 !@ -- cbofld : symbolic names for additional fields (2D)
00145 !@
00146 !@ -- abocoef : multiplicative coefficients for additional fields (2D)
00147 !@
00148 !@ Blasnew :
00149 !@
00150 !@ -- afldcobn : main field multiplicative coefficient (1D)
00151 !@
00152 !@ -- nbnfld : number of additional fields in linear combination formula (1D)
00153 !@
00154 !@ -- cbnfld : symbolic names for additional fields (2D)
00155 !@
00156 !@ -- abncoef : multiplicative coefficients for additional fields (2D)
00157 !@
00158 !@ Subgrid :
00159 !@
00160 !@ -- cgrdsub : file name for subgrid data used in subgrid (1D)
00161 !@
00162 !@ -- nlusub  : logical units associated to previous files (1D)
00163 !@
00164 !@ -- ctypsub : type of subgrid interpolation (solar or non solar) (1D)
00165 !@
00166 !@ -- nsubfl  : subgrid dataset identificator number (1D)
00167 !@
00168 !@ -- nsubvoi : maximum number of neighbors (1D)
00169 !@
00170 !@ -- cfldcoa : coarse grid field name (1D)
00171 !@
00172 !@ -- cfldfin : fine grid field name (1D)
00173 !@
00174 !@ -- cdqdt   : first order taylor coefficient (1D)
00175 !@
00176 !@ Checkin :
00177 !@
00178 !@ -- ntinpflx : input field integral flag
00179 !@
00180 !@ Checkout :
00181 !@
00182 !@ -- ntoutflx : output field integral flag
00183 !@
00184 !@ Checkin, Checkout, Conserv, Gaussian
00185 !@
00186 !@ -- lsurf: Logical indicating if grid surface information has to be given 
00187 !@            in auxiliary file areas or areas.nc for each field
00188 !@ -- lg_areas: Logical indicating if grid surface file has to exist.
00189 !@
00190 !@ SCRIPR
00191 !@
00192 !@ -- lg_vector: Logical indicating if vector fields are treated
00193 !@
00194 !     -------------------------------------------------------------------
00195 !
00196   USE mod_kinds_oasis
00197   INTEGER (kind=ip_intwp_p), DIMENSION(:), ALLOCATABLE :: neighbor, ntronca, ncofld
00198   INTEGER (kind=ip_intwp_p), DIMENSION(:), ALLOCATABLE :: neighborg, nbofld, nbnfld
00199   INTEGER (kind=ip_intwp_p), DIMENSION(:,:), ALLOCATABLE :: nludat
00200   INTEGER (kind=ip_intwp_p), DIMENSION(:), ALLOCATABLE :: nlufil, nlumap 
00201   INTEGER (kind=ip_intwp_p), DIMENSION(:), ALLOCATABLE :: nmapfl, nmapvoi, nlusub
00202   INTEGER (kind=ip_intwp_p), DIMENSION(:), ALLOCATABLE :: nsubfl, nsubvoi, nluext
00203   INTEGER (kind=ip_intwp_p), DIMENSION(:), ALLOCATABLE :: nextfl, nosper, notper
00204   INTEGER (kind=ip_intwp_p), DIMENSION(:), ALLOCATABLE ::  ntinpflx, ntoutflx, nbins
00205   INTEGER (kind=ip_intwp_p) :: nlucor
00206   INTEGER (kind=ip_intwp_p), DIMENSION(:), ALLOCATABLE ::  nscripvoi
00207   INTEGER (kind=ip_intwp_p), DIMENSION(:), ALLOCATABLE ::  ig_assoc_input_field
00208   !
00209   REAL (kind=ip_realwp_p), DIMENSION(:), ALLOCATABLE :: amskval, amskvalnew
00210   REAL (kind=ip_realwp_p), DIMENSION(:,:), ALLOCATABLE :: acocoef, abocoef, abncoef
00211   REAL (kind=ip_realwp_p), DIMENSION(:), ALLOCATABLE :: afldcoef, afldcobo, afldcobn
00212   !
00213   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: cxordbf, cyordbf
00214   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: cxordaf, cyordaf
00215   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: cextmet, cintmet
00216   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: cgrdtyp, cfldtyp
00217   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: cfilfic, cfilmet 
00218   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: cconmet, cfldcoa
00219   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: cfldfin
00220   CHARACTER(len=8), DIMENSION(:,:),ALLOCATABLE :: ccofld, cbofld
00221   CHARACTER(len=8), DIMENSION(:,:),ALLOCATABLE :: cbnfld, ccofic
00222   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: cdqdt, cgrdmap
00223   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: cmskrd, cgrdsub
00224   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: ctypsub, cgrdext
00225   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: csper,ctper
00226   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: cmap_method, corder
00227   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: cnorm_opt, cfldtype
00228   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: crsttype
00229   CHARACTER(len=8) :: cfldcor
00230   CHARACTER(len=8), DIMENSION(:),ALLOCATABLE :: cg_assoc_input_field
00231   !      
00232   LOGICAL, DIMENSION(:),ALLOCATABLE :: lsurf, lrotate
00233   LOGICAL :: lg_areas 
00234   LOGICAL :: lg_vector  
00235 
00236   !    -------------------------------------------------------------------
00237 
00238 END MODULE mod_analysis
00239 
00240 
00241 
00242 
 All Data Structures Namespaces Files Functions Variables Defines