SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/writesurf_precipn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE WRITESURF_PRECIP_n(HPROGRAM)
00003 !     #######################################
00004 !
00005 !!****  *WRITESURF_PRECIP_n* - routine to write precip fields into the restart file 
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!       The purpose of this routine is to store the 
00010 !!       precip field into the restart file . Indeed, 
00011 !!       when ARPEGE/ALADIN is used, the precip field 
00012 !!       is not initialize at the begin of a run.
00013 !!
00014 !!
00015 !!**  METHOD
00016 !!    ------
00017 !!
00018 !!    EXTERNAL
00019 !!    --------
00020 !!      
00021 !!
00022 !!
00023 !!    IMPLICIT ARGUMENTS
00024 !!    ------------------
00025 !!
00026 !!    REFERENCE
00027 !!    ---------
00028 !!
00029 !!
00030 !!    AUTHOR
00031 !!    ------
00032 !!      B. Decharme   *Meteo France*    
00033 !!
00034 !!    MODIFICATIONS
00035 !!    -------------
00036 !!      Original    04/2009
00037 !-------------------------------------------------------------------------------
00038 !
00039 !*       0.    DECLARATIONS
00040 !              ------------
00041 !
00042 USE MODD_SURF_ATM_n,         ONLY : NSIZE_FULL
00043 !
00044 USE MODD_SURF_ATM,           ONLY : LRW_PRECIP,LSAVE_PRECIP
00045 USE MODD_DIAG_SURF_ATM_n,    ONLY : XRW_RAIN, XRW_SNOW
00046 !
00047 USE MODI_WRITE_SURF
00048 !
00049 !
00050 !
00051 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00052 USE PARKIND1  ,ONLY : JPRB
00053 !
00054 IMPLICIT NONE
00055 !
00056 !*       0.1   Declarations of arguments
00057 !              -------------------------
00058 !
00059  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! calling program
00060 !
00061 !*       0.2   Declarations of local variables
00062 !              -------------------------------
00063 !
00064 
00065 !
00066 INTEGER           :: IRESP          ! Error code after redding
00067  CHARACTER(LEN=12) :: YRECFM         ! Name of the article to be read
00068  CHARACTER(LEN=100):: YCOMMENT       ! Comment string
00069 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00070 !
00071 !-------------------------------------------------------------------------------
00072 !
00073 IF (LHOOK) CALL DR_HOOK('WRITESURF_PRECIP_N',0,ZHOOK_HANDLE)
00074 YCOMMENT='flag to store precip fields in restart file'
00075  CALL WRITE_SURF(HPROGRAM,'RW_PRECIP',LRW_PRECIP,IRESP,HCOMMENT=YCOMMENT)
00076 !
00077 IF(LRW_PRECIP.AND.LSAVE_PRECIP)THEN
00078 !
00079    YRECFM='RW_RAIN'
00080    YCOMMENT='X_Y_RAINFALL (kg/m2/s)'
00081    CALL WRITE_SURF(HPROGRAM,YRECFM,XRW_RAIN(:),IRESP,HCOMMENT=YCOMMENT)
00082 !
00083    YRECFM='RW_SNOW'
00084    YCOMMENT='X_Y_SNOWFALL (kg/m2/s)'
00085    CALL WRITE_SURF(HPROGRAM,YRECFM,XRW_SNOW(:),IRESP,HCOMMENT=YCOMMENT)
00086 !
00087 ENDIF
00088 IF (LHOOK) CALL DR_HOOK('WRITESURF_PRECIP_N',1,ZHOOK_HANDLE)
00089 !
00090 !-------------------------------------------------------------------------------
00091 !
00092 END SUBROUTINE WRITESURF_PRECIP_n