SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/modd_pgdwork.F90
Go to the documentation of this file.
00001 !     ###################
00002       MODULE MODD_PGDWORK
00003 !     ###################
00004 !
00005 !!****  *MODD_PGDWORK* - declaration of work arrays and variables
00006 !!
00007 !!    PURPOSE
00008 !!    -------  
00009 !!
00010 !!
00011 !!**  IMPLICIT ARGUMENTS
00012 !!    ------------------
00013 !!      None 
00014 !!
00015 !!    REFERENCE
00016 !!    ---------
00017 !!          
00018 !!    AUTHOR
00019 !!    ------
00020 !!      V. Masson   *Meteo France*
00021 !!
00022 !!    MODIFICATIONS
00023 !!    -------------
00024 !!      Original    12/09/95   
00025 !!                  15/03/96 orographic filter parameter                   
00026 !!                  25/07/97 directional z0 computations
00027 !!                  15/03/99 add XSUMCOVER
00028 !!                  03/2004  externalization
00029 !!                  01/2012  add aggregation with the MAJORITY rule
00030 !-------------------------------------------------------------------------------
00031 !
00032 !*       0.   DECLARATIONS
00033 !             ------------
00034 !
00035 IMPLICIT NONE
00036 !
00037 !*        0.1    summation variables
00038 !                -------------------
00039 !
00040 REAL, DIMENSION(:), ALLOCATABLE   :: XSUMVAL  
00041                             ! Sum of data in each mesh
00042 REAL, DIMENSION(:), ALLOCATABLE   :: XSUMVAL2 
00043                             ! Sum of square data in each mesh
00044 REAL, DIMENSION(:), ALLOCATABLE   :: XSUMVAL3
00045                             ! Sum of cube data in each mesh                            
00046 REAL, DIMENSION(:,:), ALLOCATABLE :: XSUMCOVER
00047                             ! Sum of each cover type data in each mesh
00048 REAL, DIMENSION(:,:), ALLOCATABLE :: XTNG
00049                             ! for flake
00050 INTEGER, DIMENSION(:), ALLOCATABLE:: NSIZE
00051 !                          ! Number of points inside each mesh of the domain
00052 !
00053  CHARACTER(LEN=3)                  :: CATYPE = 'ARI'
00054 !                          ! Type of averaging:
00055 !                          ! 'ARI' : arithmetic
00056 !                          ! 'INV' : inverse
00057 !                          ! 'CDN' : neutral CD
00058 !
00059 !*        0.2    variables for SSO computations
00060 !                ------------------------------
00061 !
00062 REAL,    DIMENSION(:,:,:), ALLOCATABLE :: XSSQO ! mean of orography in a
00063 !                                               ! SSO subgrid square from
00064 !                                               ! ZMAXSSQ averaged values
00065 !                                               ! 1st dim: NSSO (x direc.)
00066 !                                               ! 2st dim: NSSO (y direc.)
00067 !                                               ! 3nd dim: number of grid meshes
00068 LOGICAL, DIMENSION(:,:,:), ALLOCATABLE :: LSSQO ! presence of data in a SSO
00069 !                                               ! subgrid square
00070 INTEGER :: NSSO                                 ! number of SSO subgrid squares
00071 !                                               ! in each direction in grid mesh
00072 !
00073 !*        0.3    variables for topographic index statistics computations
00074 !                -------------------------------------------------------
00075 !
00076 REAL, DIMENSION(:), ALLOCATABLE   :: XMIN_WORK
00077 REAL, DIMENSION(:), ALLOCATABLE   :: XMAX_WORK
00078 REAL, DIMENSION(:), ALLOCATABLE   :: XMEAN_WORK
00079 REAL, DIMENSION(:), ALLOCATABLE   :: XSTD_WORK
00080 REAL, DIMENSION(:), ALLOCATABLE   :: XSKEW_WORK
00081 !
00082 !
00083 !*        0.4    Variables for the Majority aggregation rule
00084 !                -------------------------------------------
00085 !
00086 INTEGER, PARAMETER :: JPVALMAX=20  ! Maximum number of different values 
00087 !                                  ! in each grid mesh
00088 INTEGER, DIMENSION(:),   ALLOCATABLE :: NVALNBR
00089 !                                  ! number of different values 
00090 !                                  ! in each grid mesh
00091 INTEGER, DIMENSION(:,:), ALLOCATABLE :: NVALCOUNT
00092 !                                  ! Number of times each value has been 
00093 !                                  ! counted in each grid mesh
00094 REAL,    DIMENSION(:,:), ALLOCATABLE :: XVALLIST
00095 !                                  ! List of Values encountered in each grid mesh
00096 !-------------------------------------------------------------------------------
00097 !
00098 END MODULE MODD_PGDWORK