SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
init_io_surf_maskn.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 init_io_surf_mask_n (DTCO, U, &
7  hmask,ksize,kluout,kfull,kmask)
8 ! ######################
9 !
10 !!**** *INIT_IO_SURF_MASK* Keep in memory the output files
11 !!
12 !! PURPOSE
13 !! -------
14 !
15 !!
16 !!** IMPLICIT ARGUMENTS
17 !! ------------------
18 !! None
19 !!
20 !! REFERENCE
21 !! ---------
22 !!
23 !! AUTHOR
24 !! ------
25 !! S. Faroux *Meteo France*
26 !!
27 !! MODIFICATIONS
28 !! -------------
29 !!
30 !* 0. DECLARATIONS
31 ! ------------
32 !
33 !
34 !
36 USE modd_surf_atm_n, ONLY : surf_atm_t
37 !
38 USE modd_mask, ONLY: nmask_full
39 !
40 USE yomhook ,ONLY : lhook, dr_hook
41 USE parkind1 ,ONLY : jprb
42 !
43 USE modi_get_surf_mask_n
44 !
45 IMPLICIT NONE
46 !
47 !
48 TYPE(data_cover_t), INTENT(INOUT) :: dtco
49 TYPE(surf_atm_t), INTENT(INOUT) :: u
50 !
51  CHARACTER(LEN=6), INTENT(IN) :: hmask
52 INTEGER, INTENT(IN) :: ksize
53 INTEGER, INTENT(IN) :: kluout
54 INTEGER, INTENT(INOUT) :: kfull
55 INTEGER, POINTER, DIMENSION(:):: kmask
56 !
57 INTEGER, DIMENSION(KSIZE) :: imask
58 REAL(KIND=JPRB) :: zhook_handle
59 !
60 IF (lhook) CALL dr_hook('INIT_IO_SURF_MASK_N',0,zhook_handle)
61 !
62  CALL get_surf_mask_n(dtco, u, &
63  hmask,ksize,imask,kfull,kluout)
64 !
65 IF (ALLOCATED(nmask_full)) THEN
66  IF (ksize>SIZE(nmask_full)) DEALLOCATE(nmask_full)
67 ENDIF
68 IF (.NOT.ALLOCATED(nmask_full)) ALLOCATE(nmask_full(kfull))
69 !
70 nmask_full(1:ksize)=imask(:)
71 !
72 kmask => nmask_full(1:ksize)
73 !
74 IF (lhook) CALL dr_hook('INIT_IO_SURF_MASK_N',1,zhook_handle)
75 !
76 END SUBROUTINE init_io_surf_mask_n
subroutine get_surf_mask_n(DTCO, U, HTYPE, KDIM, KMASK, KLU, KLUOUT)
subroutine init_io_surf_mask_n(DTCO, U, HMASK, KSIZE, KLUOUT, KFULL, KMASK)