SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
latlonmask.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 latlonmask(HGRID,KGRID_PAR,PGRID_PAR,OLATLONMASK)
7 ! #####################
8 !
9 !!**** *LATLONMASK* builds the latiude and longitude mask including the grid
10 !!
11 !! PURPOSE
12 !! -------
13 !!
14 !! AUTHOR
15 !! ------
16 !!
17 !! V. Masson Meteo-France
18 !!
19 !! MODIFICATION
20 !! ------------
21 !!
22 !! Original 03/2004
23 !! 10/2007 E. Martin IGN Grids
24 !! 12/2012 P. Samuelsson SMHI Rotated lonlat
25 !----------------------------------------------------------------------------
26 !
27 !* 0. DECLARATION
28 ! -----------
29 !
30 !
31 USE yomhook ,ONLY : lhook, dr_hook
32 USE parkind1 ,ONLY : jprb
33 !
34 USE modi_latlonmask_conf_proj
35 !
36 USE modi_latlonmask_ign
37 !
38 USE modi_latlonmask_lonlat_reg
39 !
40 USE modi_latlonmask_lonlatval
41 !
42 USE modi_latlonmask_lonlat_rot
43 IMPLICIT NONE
44 !
45 !* 0.1 Declaration of arguments
46 ! ------------------------
47 !
48  CHARACTER(LEN=10), INTENT(IN) :: hgrid ! type of grid
49 INTEGER :: kgrid_par ! size of PGRID_PAR
50 REAL, DIMENSION(:), POINTER :: pgrid_par ! parameters defining this grid
51 LOGICAL, DIMENSION(720,360), INTENT(OUT) :: olatlonmask ! mask where domain is
52 REAL(KIND=JPRB) :: zhook_handle
53 !
54 !----------------------------------------------------------------------------
55 IF (lhook) CALL dr_hook('LATLONMASK',0,zhook_handle)
56 SELECT CASE (hgrid)
57  CASE('CONF PROJ ')
58  CALL latlonmask_conf_proj(kgrid_par,pgrid_par,olatlonmask)
59 
60  CASE('LONLAT REG')
61  CALL latlonmask_lonlat_reg(kgrid_par,pgrid_par,olatlonmask)
62 
63  CASE('IGN ')
64  CALL latlonmask_ign(kgrid_par,pgrid_par,olatlonmask)
65 
66  CASE('LONLATVAL ')
67  CALL latlonmask_lonlatval(kgrid_par,pgrid_par,olatlonmask)
68 
69  CASE('LONLAT ROT')
70  CALL latlonmask_lonlat_rot(kgrid_par,pgrid_par,olatlonmask)
71 
72  CASE default
73  olatlonmask(:,:) = .true.
74 END SELECT
75 IF (lhook) CALL dr_hook('LATLONMASK',1,zhook_handle)
76 !----------------------------------------------------------------------------
77 END SUBROUTINE latlonmask
subroutine latlonmask_lonlat_reg(KGRID_PAR, PGRID_PAR, OLATLONMASK)
subroutine latlonmask_conf_proj(KGRID_PAR, PGRID_PAR, OLATLONMASK)
subroutine latlonmask(HGRID, KGRID_PAR, PGRID_PAR, OLATLONMASK)
Definition: latlonmask.F90:6
subroutine latlonmask_ign(KGRID_PAR, PGRID_PAR, OLATLONMASK)
subroutine latlonmask_lonlatval(KGRID_PAR, PGRID_PAR, OLATLONMASK)
subroutine latlonmask_lonlat_rot(KGRID_PAR, PGRID_PAR, OLATLONMASK)