1 SUBROUTINE SUSURF(
KSW,KCSS,KSIL,KTILES,KTSW,&
2 & LD_LLCCNL,LD_LLCCNO,LD_LEOCWA,LD_LEOCCO,LD_LEOCSA,LD_LLE4ALB,&
3 & LD_LSCMEC,LD_LROUGH,PEXTZ0M,PEXTZ0H,&
4 & PTHRFRTI,PTSTAND,PXP,PRCCNSEA,PRCCNLND,&
7 !** *SUSURF* IS THE SET-UP ROUTINE FOR surface modules containing constants
11 ! THIS ROUTINE INITIALIZES THE CONSTANTS IN COMMON BLOCK
16 ! CALL *SUSURF* FROM *
SUPHEC*
27 ! Original A.C.M. BELJAARS E.C.M.W.F. 89/11/02
30 ! J.-J. MORCRETTE E.C.M.W.F. 91/07/14
31 ! P. VITERBO E.C.M.W.F. 8/10/93
32 ! P. Viterbo 99-03-26 Tiling of the land surface
33 ! C. Fischer 00-12-20 Meteo-France recode initialization of rdat to avoid
34 ! memory overflow on SUN workstation
35 ! J.F. Estrade *ECMWF* 03-10-01 move in surf vob
36 ! M.Hamrud 01-Oct-2003 CY28 Cleaning
37 ! P. Viterbo ECMWF 03-12-2004 Include user-defined RTHRFRTI
38 ! P. Viterbo ECMWF May 2005 Externalise surf
39 ! JJMorcrette 20060511 MODIS
albedo
45 !
KSW : NUMBER OF SHORTWAVE SPECTRAL INTERVALS
46 ! KCSS : Number of
soil levels
47 ! KSIL : NUMBER OF (infrared) SPECTRAL INTERVALS
48 ! KTILES : Number of surface tiles
49 ! KTSW : Maximum possible number of
sw spectral intervals
53 ! LD_LLCCNL : .T.
IF CCN CONCENTRATION OVER LAND IS DIAGNOSED
54 ! LD_LLCCNO : .T.
IF CCN CONCENTRATION OVER OCEAN IS DIAGNOSED
55 ! LD_LLE4ALB: .T.
IF MODIS ALBEDO IS USED
59 ! PTHRFRTI : ! MINIMUM THRESHOLD FOR TILE FRACTION
60 ! PTSTAND : ! REFERENCE TEMPERATURE FOR TEMPERATURE DEPENDENCE
61 ! PXP : ! POLYNOMIAL COEFFICIENTS OF PLANCK FUNCTION
62 ! PRCCNSEA : ! NUMBER CONCENTRATION (CM-3) OF CCNs OVER SEA
63 ! PRCCNLND : ! NUMBER CONCENTRATION (CM-3) OF CCNs OVER LAND
64 ! PRSUN : ! SOLAR FRACTION IN SPECTRAL INTERVALS
66 ! ------------------------------------------------------------------
72 ! Declaration of arguments
75 REAL(KIND=
JPRB) ,INTENT(IN) :: PTHRFRTI
80 LOGICAL ,INTENT(IN) :: LD_LLCCNL
81 LOGICAL ,INTENT(IN) :: LD_LLCCNO
82 LOGICAL ,INTENT(IN) :: LD_LEOCWA
83 LOGICAL ,INTENT(IN) :: LD_LEOCCO
84 LOGICAL ,INTENT(IN) :: LD_LEOCSA
85 LOGICAL ,INTENT(IN) :: LD_LLE4ALB
86 LOGICAL ,INTENT(IN) :: LD_LSCMEC
87 LOGICAL ,INTENT(IN) :: LD_LROUGH
88 REAL(KIND=
JPRB) ,INTENT(IN) :: PEXTZ0M
89 REAL(KIND=
JPRB) ,INTENT(IN) :: PEXTZ0H
90 REAL(KIND=
JPRB) ,INTENT(IN) :: PTSTAND
91 REAL(KIND=
JPRB) ,INTENT(IN) :: PXP(6,6)
92 REAL(KIND=
JPRB) ,INTENT(IN) :: PRCCNSEA
93 REAL(KIND=
JPRB) ,INTENT(IN) :: PRCCNLND
94 REAL(KIND=
JPRB) ,INTENT(IN) :: PRSUN(:)
96 ! ------------------------------------------------------------------
subroutine sw(KIDIA, KFDIA, KLON, KLEV, KAER, PSCT, PCARDI, PPSOL, PALBD, PALBP, PWV, PQS, PRMU0, PCG, PCLDSW, PDP, POMEGA, POZ, PPMB, PTAU, PTAVE, PAER, PFDOWN, PFUP, PCDOWN, PCUP, PFDNN, PFDNV, PFUPN, PFUPV, PCDNN, PCDNV, PCUPN, PCUPV, PSUDU, PUVDF, PPARF, PPARCF, PDIFFS, PDIRFS, LRDUST, PPIZA_DST, PCGA_DST, PTAUREL_DST)
INTERFACE SUBROUTINE SRTM_SPCVRT KSW
!$Id ok_orolf LOGICAL ok_limitvrai LOGICAL ok_all_xml INTEGER iflag_ener_conserv REAL solaire REAL(kind=8) RCO2
INTERFACE SUBROUTINE JPRB INTEGER(KIND=JPIM)
!$Id klon IF(pctsrf(i, is_ter).GT.0.) THEN paire_ter(i)
!$Id we still need to ONLY
INTERFACE SUBROUTINE SUPHEC(KULOUT) USE PARKIND1
subroutine soil(ptimestep, indice, knon, snow, ptsrf, ptsoil, pcapcal, pfluxgrd)