|
SURFEX v7.3
General documentation of Surfex
|
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
1.8.0