SURFEX v8.1
General documentation of Surfex
writesurf_atm_confn.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 writesurf_atm_conf_n (CHU, DGO, USS, HPROGRAM)
7 ! #########################################
8 !
9 !!**** *MNHWRITE_SURF_ATM_CONF* - routine to write the configuration for the surface
10 !!
11 !! PURPOSE
12 !! -------
13 !!
14 !!** METHOD
15 !! ------
16 !!
17 !! EXTERNAL
18 !! --------
19 !!
20 !!
21 !! IMPLICIT ARGUMENTS
22 !! ------------------
23 !!
24 !! REFERENCE
25 !! ---------
26 !!
27 !!
28 !! AUTHOR
29 !! ------
30 !! V. Masson *Meteo France*
31 !!
32 !! MODIFICATIONS
33 !! -------------
34 !! Original 01/2003
35 !-------------------------------------------------------------------------------
36 !
37 !* 0. DECLARATIONS
38 ! ------------
39 !
40 USE modd_ch_surf_n, ONLY : ch_surf_t
41 USE modd_diag_n, ONLY : diag_options_t
42 USE modd_sso_n, ONLY : sso_t
43 !
44 USE modn_sso_n
46 !
48 USE modn_surf_atm
50 !
52 !
53 USE modi_get_default_nam_n
54 !
55 !
56 USE yomhook ,ONLY : lhook, dr_hook
57 USE parkind1 ,ONLY : jprb
58 !
59 IMPLICIT NONE
60 !
61 !* 0.1 Declarations of arguments
62 ! -------------------------
63 !
64 !
65 TYPE(ch_surf_t), INTENT(INOUT) :: CHU
66 TYPE(diag_options_t), INTENT(INOUT) :: DGO
67 TYPE(sso_t), INTENT(INOUT) :: USS
68 !
69  CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! program calling ISBA
70 !
71 !
72 !* 0.2 Declarations of local variables
73 ! -------------------------------
74 !
75 INTEGER :: ILUDES
76 REAL(KIND=JPRB) :: ZHOOK_HANDLE
77 !
78 !-------------------------------------------------------------------------------
79 !
80 IF (lhook) CALL dr_hook('WRITESURF_ATM_CONF_N',0,zhook_handle)
81  CALL get_default_nam_n(hprogram,'WRITE',iludes,lnam_atm_written)
82 !
83 IF (iludes==0 .AND. lhook) CALL dr_hook('WRITESURF_ATM_CONF_N',1,zhook_handle)
84 IF (iludes==0) RETURN
85 !
86 !-------------------------------------------------------------------------------
87 !
88  CALL init_nam_sson(uss)
89  CALL init_nam_ch_controln(chu)
90  CALL init_nam_ch_surfn(chu)
91  CALL init_nam_diag_surf_atmn(dgo)
92  CALL init_nam_diag_surfn(dgo)
94 !
95 WRITE(unit=iludes,nml=nam_sson)
96 WRITE(unit=iludes,nml=nam_ch_controln)
97 WRITE(unit=iludes,nml=nam_ch_surfn)
98 WRITE(unit=iludes,nml=nam_diag_surf_atmn)
99 WRITE(unit=iludes,nml=nam_diag_surfn)
100 WRITE(unit=iludes,nml=nam_write_diag_surfn)
101 WRITE(unit=iludes,nml=nam_chs_orilam)
102 WRITE(unit=iludes,nml=nam_surf_atm)
103 WRITE(unit=iludes,nml=nam_write_surf_atm)
104 IF (lhook) CALL dr_hook('WRITESURF_ATM_CONF_N',1,zhook_handle)
105 !
106 !
107 !-------------------------------------------------------------------------------
108 !
109 END SUBROUTINE writesurf_atm_conf_n
subroutine init_nam_sson(USS)
Definition: modn_sson.F90:52
subroutine init_nam_diag_surfn(DGO)
subroutine get_default_nam_n(HPROGRAM, HACTION, KLUDES, ONAM_WRITTEN)
subroutine writesurf_atm_conf_n(CHU, DGO, USS, HPROGRAM)
integer, parameter jprb
Definition: parkind1.F90:32
subroutine init_nam_write_diag_surfn(DGO)
subroutine init_nam_ch_controln(CHU)
subroutine init_nam_ch_surfn(CHU)
logical lhook
Definition: yomhook.F90:15
subroutine init_nam_diag_surf_atmn(DGO)