SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/diag_surf_budgetc_sea.F90
Go to the documentation of this file.
00001 !     #########
00002        SUBROUTINE DIAG_SURF_BUDGETC_SEA (PTSTEP, PRN, PH, PLE, PLEI, PGFLUX, &
00003                                            PSWD, PSWU, PLWD, PLWU, PFMU, PFMV  )  
00004 !     ########################################################################
00005 !
00006 !!****  *DIAG_SURF_BUDGETC_SEA * - Computes cumulated diagnostics over sea
00007 !!
00008 !!    PURPOSE
00009 !!    -------
00010 !
00011 !!**  METHOD
00012 !!    ------
00013 !!
00014 !!    REFERENCE
00015 !!    ---------
00016 !!      
00017 !!
00018 !!    AUTHOR
00019 !!    ------
00020 !!     B. Decharme 
00021 !!
00022 !!    MODIFICATIONS
00023 !!    -------------
00024 !!      Original    08/2009
00025 !!------------------------------------------------------------------
00026 ! 
00027 USE MODD_DIAG_SEAFLUX_n, ONLY : XRNC, XHC, XLEC, XLEIC, XGFLUXC, XSWDC,  &
00028                                   XSWUC, XLWDC, XLWUC, XFMUC, XFMVC  
00029 !
00030 !
00031 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00032 USE PARKIND1  ,ONLY : JPRB
00033 !
00034 IMPLICIT NONE
00035 !
00036 !*      0.1    declarations of arguments
00037 !
00038 REAL,               INTENT(IN) :: PTSTEP    
00039 REAL, DIMENSION(:), INTENT(IN) :: PRN      ! net radiation                         (W/m2)
00040 REAL, DIMENSION(:), INTENT(IN) :: PH       ! sensible heat flux                    (W/m2)
00041 REAL, DIMENSION(:), INTENT(IN) :: PLE      ! total latent heat flux                (W/m2)
00042 REAL, DIMENSION(:), INTENT(IN) :: PLEI     ! sublimation latent heat flux          (W/m2)
00043 REAL, DIMENSION(:), INTENT(IN) :: PGFLUX   ! storage flux                          (W/m2)
00044 REAL, DIMENSION(:), INTENT(IN) :: PSWD     ! total incoming short wave radiation (W/m2)
00045 REAL, DIMENSION(:), INTENT(IN) :: PSWU     ! total upward short wave radiation (W/m2)
00046 REAL, DIMENSION(:), INTENT(IN) :: PLWD     ! Downward long wave radiation (W/m2)
00047 REAL, DIMENSION(:), INTENT(IN) :: PLWU     ! upward long wave radiation (W/m2)
00048 REAL, DIMENSION(:), INTENT(IN) :: PFMU     ! zonal wind stress
00049 REAL, DIMENSION(:), INTENT(IN) :: PFMV     ! meridian wind stress
00050 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00051 !
00052 !*      0.2    declarations of local variables
00053 !
00054 !-------------------------------------------------------------------------------------
00055 !
00056 !* total incoming and outgoing SW
00057 !
00058 IF (LHOOK) CALL DR_HOOK('DIAG_SURF_BUDGETC_SEA',0,ZHOOK_HANDLE)
00059 XSWDC(:) = XSWDC(:) + PSWD(:) * PTSTEP
00060 XSWUC(:) = XSWUC(:) + PSWU(:) * PTSTEP
00061 !
00062 !*incoming outgoing LW
00063 !
00064 XLWDC(:) = XLWDC(:) + PLWD(:) * PTSTEP
00065 XLWUC(:) = XLWUC(:) + PLWU(:) * PTSTEP
00066 !
00067 !* net radiation
00068 !
00069 XRNC(:) = XRNC(:) + PRN(:) * PTSTEP
00070 !
00071 !* sensible heat flux
00072 !
00073 XHC(:) = XHC(:) + PH(:) * PTSTEP 
00074 !
00075 !* latent heat flux
00076 !
00077 XLEC (:) = XLEC (:) + PLE (:) * PTSTEP 
00078 XLEIC(:) = XLEIC(:) + PLEI(:) * PTSTEP 
00079 !
00080 !* storage flux
00081 !
00082 XGFLUXC(:) = XGFLUXC(:) + PGFLUX(:) * PTSTEP 
00083 !
00084 !* wind stress
00085 !
00086 XFMUC(:) = XFMUC(:) + PFMU(:) * PTSTEP 
00087 !
00088 XFMVC(:) = XFMVC(:) + PFMV(:) * PTSTEP
00089 IF (LHOOK) CALL DR_HOOK('DIAG_SURF_BUDGETC_SEA',1,ZHOOK_HANDLE)
00090 !
00091 !-------------------------------------------------------------------------------------
00092 !
00093 END SUBROUTINE DIAG_SURF_BUDGETC_SEA