SURFEX v8.1
General documentation of Surfex
carbon_spinup.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 carbon_spinup(TPTIME, IO )
7 !
8 ! #######################################################################
9 !
10 !
11 !!**** *CARBON_SPINUP*
12 !!
13 !! PURPOSE
14 !! -------
15 ! Number of times the accelerated subroutine is called
16 ! for each time step
17 !!** METHOD
18 !! ------
19 !
20 !! EXTERNAL
21 !! --------
22 !!
23 !! IMPLICIT ARGUMENTS
24 !! ------------------
25 !!
26 !!
27 !! REFERENCE
28 !! ---------
29 !!
30 !! AUTHOR
31 !! ------
32 !! R. Alkama * Meteo-France *
33 !!
34 !! MODIFICATIONS
35 !! -------------
36 !! Original 03/26/2012
37 !!
38 !-------------------------------------------------------------------------------
39 !
40 !* 0. DECLARATIONS
41 ! ------------
42 !
44 !
46 !
47 USE modi_spinup_max
48 !
49 USE yomhook ,ONLY : lhook, dr_hook
50 USE parkind1 ,ONLY : jprb
51 !
52 IMPLICIT NONE
53 !
54 TYPE(date_time), INTENT(IN) :: TPTIME
55 TYPE(isba_options_t), INTENT(INOUT) :: IO
56 !
57 !* 0. declarations of local variables
58 !
59 REAL(KIND=JPRB) :: ZHOOK_HANDLE
60 !
61 !-------------------------------------------------------------------------------
62 !
63 IF (lhook) CALL dr_hook('CARBON_SPINUP',0,zhook_handle)
64 !
65 ! 1. Initializations
66 ! ---------------
67 !
68 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
69 ! number of times CARBON_SOIL subroutine is called for each time step
70 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
71 io%NSPINS =1
72 IF ( io%LSPINUPCARBS .AND. io%CPHOTO/='NON' .AND. io%CRESPSL=='CNT' ) THEN
73  CALL spinup_max(io%XSPINMAXS,io%NNBYEARSPINS,io%NNBYEARSOLD,io%NSPINS)
74 ENDIF
75 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
76 ! number of times WOOD carbon subroutine is called for each time step
77 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
78 io%NSPINW=1
79 IF ( io%LSPINUPCARBW .AND. io%CPHOTO=='NCB' ) THEN
80  CALL spinup_max(io%XSPINMAXW,io%NNBYEARSPINW,io%NNBYEARSOLD,io%NSPINW)
81 ENDIF
82 !
83 IF (tptime%TDATE%MONTH == 1 .AND. tptime%TDATE%DAY==1 .AND. tptime%TIME == 0.0 )THEN
84  io%NNBYEARSOLD = io%NNBYEARSOLD + 1
85 ENDIF
86 !
87 IF (lhook) CALL dr_hook('CARBON_SPINUP',1,zhook_handle)
88 !
89 !
90 !-------------------------------------------------------------------------------
91 !
92 END SUBROUTINE
subroutine carbon_spinup(TPTIME, IO)
integer, parameter jprb
Definition: parkind1.F90:32
logical lhook
Definition: yomhook.F90:15
subroutine spinup_max(PSPINMAX, KNBYEARSPIN, KNBYEARSOLD, KSPIN)
Definition: spinup_max.F90:7