SURFEX v8.1
General documentation of Surfex
get_surf_grid_dimn.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 ! #######################################################
6  SUBROUTINE get_surf_grid_dim_n (UG,HGRID,ORECT,KDIM1,KDIM2,&
7  KGRID_PAR,PGRID_PAR)
8 ! #######################################################
9 !
10 !!**** *GET_SURF_GRID_DIM_n* get the grid mesh dimensions
11 !!
12 !! PURPOSE
13 !! -------
14 !!
15 !! METHOD
16 !! ------
17 !!
18 !! REFERENCE
19 !! ---------
20 !!
21 !! AUTHOR
22 !! ------
23 !!
24 !! V. Masson Meteo-France
25 !!
26 !! MODIFICATION
27 !! ------------
28 !!
29 !! Original 03/2004
30 !! M.Moge 02/2015 Passing KGRID_PAR,PGRID_PAR as input parameters, instead of using XGRID_PAR, NGRID_PAR from MODD_SURF_ATM_GRID_n
31 !----------------------------------------------------------------------------
32 !
33 !* 0. DECLARATION
34 ! -----------
35 !
36 !
37 !
38 !
40 !
41 USE yomhook ,ONLY : lhook, dr_hook
42 USE parkind1 ,ONLY : jprb
43 !
44 USE modi_get_grid_dim
45 IMPLICIT NONE
46 !
47 !* 0.1 Declaration of arguments
48 ! ------------------------
49 !
50 !
51 TYPE(surf_atm_grid_t), INTENT(INOUT) :: UG
52 !
53  CHARACTER(LEN=10), INTENT(OUT) :: HGRID ! grid type
54 LOGICAL, INTENT(OUT) :: ORECT ! T if rectangular grid
55 INTEGER, INTENT(OUT) :: KDIM1 ! 1st dimension
56 INTEGER, INTENT(OUT) :: KDIM2 ! 2nd dimension
57 !
58 INTEGER, OPTIONAL, INTENT(IN) :: KGRID_PAR ! size of PGRID_PAR
59 REAL, DIMENSION(:), OPTIONAL, INTENT(IN) :: PGRID_PAR ! grid parameters
60 !
61 !* 0.2 Declaration of other local variables
62 ! ------------------------------------
63 !
64 REAL(KIND=JPRB) :: ZHOOK_HANDLE
65 !----------------------------------------------------------------------------
66 !
67 IF (lhook) CALL dr_hook('GET_SURF_GRID_DIM_N',0,zhook_handle)
68 hgrid = ug%G%CGRID
69 !
70 IF (PRESENT(kgrid_par).AND.PRESENT(pgrid_par)) THEN
71  CALL get_grid_dim(ug%G%CGRID,kgrid_par,pgrid_par,orect,kdim1,kdim2)
72 ELSE
73  CALL get_grid_dim(ug%G%CGRID,ug%NGRID_FULL_PAR,ug%XGRID_FULL_PAR,orect,kdim1,kdim2)
74 ENDIF
75 !
76 IF (lhook) CALL dr_hook('GET_SURF_GRID_DIM_N',1,zhook_handle)
77 !
78 !-------------------------------------------------------------------------------
79 !
80 END SUBROUTINE get_surf_grid_dim_n
subroutine get_grid_dim(HGRID, KGRID_PAR, PGRID_PAR, ORECT, KDIM1, KDIM
Definition: get_grid_dim.F90:7
integer, parameter jprb
Definition: parkind1.F90:32
logical lhook
Definition: yomhook.F90:15
subroutine get_surf_grid_dim_n(UG, HGRID, ORECT, KDIM1, KDIM2, KGRID_PAR, PGRID_PAR)