SURFEX v8.1
General documentation of Surfex
modd_slope_effect.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! ######################
7 ! ######################
8 !
9 !!**** *MODD_SLOPE_EFFECT - declaration of parameters relative to
10 !! computations of slopes and aspect effects on direct shortwave
11 !radiations
12 !!
13 !! PURPOSE
14 !! -------
15 !
16 !!
17 !!** IMPLICIT ARGUMENTS
18 !! ------------------
19 !! None
20 !!
21 !! REFERENCE
22 !! ---------
23 !!
24 !! AUTHOR
25 !! ------
26 !! V. Vionnet *Meteo France*
27 !!
28 !! MODIFICATIONS
29 !! -------------
30 !! Original 15/04/11
31 !!! 03/14 : M Lafaysse, modifs for optimization and parallelization
32 !* 0. DECLARATIONS
33 ! ------------
34 !
35 !
36 IMPLICIT NONE
37 
38 
39 INTEGER :: nnx ! number of points in X direction for large domain (all processors) + 1 line left, right, up, down
40 INTEGER :: nny ! number of points in Y direction for large domain (all processors) + 1 line left, right, up, down
41 
42 INTEGER :: nix=0 ! number of points in X direction for complete domain (all processors)
43 INTEGER :: niy=0 ! number of points in Y direction for complete domain (all processors)
44 
45 INTEGER,SAVE :: nnxloc ! number of points in X direction for large domain (this processor) + 1 line left, right, up, down
46 INTEGER,SAVE :: nnyloc ! number of points in Y direction for large domain (this processor) + 1 line left, right, up, down
47 INTEGER,SAVE :: nixloc ! number of points in X direction for complete domain (this processor)
48 INTEGER,SAVE :: niyloc ! number of points in Y direction for complete domain (this processor)
49 
50 
52 
53 LOGICAL :: lrevertgrid
54 
55 REAL, DIMENSION(:,:),ALLOCATABLE :: xzsl ! orography in a 2D array
56 REAL, DIMENSION(:,:),ALLOCATABLE :: xzs_xy ! orography at southwest corner of the mesh
57 REAL, DIMENSION(:),ALLOCATABLE :: xxhat ! X coordinate
58 REAL, DIMENSION(:),ALLOCATABLE :: xyhat ! Y coordinate
59 
60 REAL, DIMENSION(:),ALLOCATABLE :: xxhat_thread ! X coordinate
61 REAL, DIMENSION(:),ALLOCATABLE :: xyhat_thread ! Y coordinate
62 
63 REAL, DIMENSION(:,:,:),ALLOCATABLE :: xslopazi ! azimuthal slope angle
64 REAL, DIMENSION(:,:,:),ALLOCATABLE :: xslopang ! vertical slope angle
65 REAL, DIMENSION(:,:,:),ALLOCATABLE :: xsurf_triangle ! surface of triangles
66 
67 !idem for local processor
68 REAL,DIMENSION(:,:),ALLOCATABLE::xzs_thread,xzs_xy_thread
69 REAL,DIMENSION(:,:,:),ALLOCATABLE::xslopang_thread,xslopazi_thread,xsurf_triangle_thread
70 
71 END MODULE modd_slope_effect
integer, save nindx1_y
real, dimension(:,:,:), allocatable xslopazi
real, dimension(:,:), allocatable xzs_thread
real, dimension(:,:,:), allocatable xsurf_triangle_thread
real, dimension(:), allocatable xyhat
real, dimension(:), allocatable xxhat_thread
real, dimension(:,:,:), allocatable xsurf_triangle
real, dimension(:), allocatable xxhat
integer, save nindx1_x
real, dimension(:), allocatable xyhat_thread
real, dimension(:,:), allocatable xzs_xy_thread
real, dimension(:,:), allocatable xzs_xy
real, dimension(:,:), allocatable xzsl
real, dimension(:,:,:), allocatable xslopang_thread
real, dimension(:,:,:), allocatable xslopazi_thread
integer, save nindx2_y
real, dimension(:,:,:), allocatable xslopang
integer, save nindx2_x