SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/rw_precipn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE RW_PRECIP_n(HPROGRAM,PRAIN,PSNOW)
00003 !     ############################################
00004 !
00005 !!****  *RW_PRECIP_n* - Initialize/Save precip field for a ARPEGE/ALADIN run
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!
00010 !!**  METHOD
00011 !!
00012 !!    EXTERNAL
00013 !!    --------
00014 !!
00015 !!    IMPLICIT ARGUMENTS
00016 !!    ------------------
00017 !!
00018 !!    REFERENCE
00019 !!    ---------
00020 !!
00021 !!
00022 !!    AUTHOR
00023 !!    ------
00024 !!      B. Decharme   *Meteo France*    
00025 !!
00026 !!    MODIFICATIONS
00027 !!    -------------
00028 !!      Original    04/2009
00029 !-------------------------------------------------------------------------------
00030 !
00031 !*       0.    DECLARATIONS
00032 !              ------------
00033 !
00034 !
00035 USE MODD_SURF_ATM,       ONLY : LRW_PRECIP
00036 USE MODD_SURF_ATM_n,     ONLY : LINIT_PRECIP
00037 USE MODD_DIAG_SURF_ATM_n,ONLY : XRW_RAIN, XRW_SNOW
00038 !
00039 !
00040 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00041 USE PARKIND1  ,ONLY : JPRB
00042 !
00043 IMPLICIT NONE
00044 !
00045 !*       0.1   Declarations of arguments
00046 !              -------------------------
00047 !
00048  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! calling program
00049 !
00050 REAL, DIMENSION(:), INTENT(INOUT) :: PRAIN     ! liquid precipitation   (kg/m2/s)
00051 REAL, DIMENSION(:), INTENT(INOUT) :: PSNOW     ! snow precipitation     (kg/m2/s)
00052 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00053 !
00054 !*       0.2   Declarations of local variables
00055 !              -------------------------------
00056 !
00057 !-------------------------------------------------------------------------------
00058 !
00059 IF (LHOOK) CALL DR_HOOK('RW_PRECIP_N',0,ZHOOK_HANDLE)
00060 IF(LRW_PRECIP)THEN
00061    IF(LINIT_PRECIP)THEN
00062      PRAIN(:)=XRW_RAIN(:)
00063      PSNOW(:)=XRW_SNOW(:)
00064      LINIT_PRECIP=.FALSE.
00065    ELSE
00066      XRW_RAIN(:)=PRAIN(:)
00067      XRW_SNOW(:)=PSNOW(:)
00068    ENDIF
00069 ENDIF
00070 IF (LHOOK) CALL DR_HOOK('RW_PRECIP_N',1,ZHOOK_HANDLE)
00071 !
00072 !-------------------------------------------------------------------------------
00073 !
00074 END SUBROUTINE RW_PRECIP_n