SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/write_diag_ch_snapn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE WRITE_DIAG_CH_SNAP_n(HPROGRAM)
00003 !     #################################
00004 !
00005 !!****  *WRITE_DIAG_CH_SNAP_n* - writes surface chemical emissions diagnostics
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!
00010 !!
00011 !!**  METHOD
00012 !!    ------
00013 !!
00014 !!
00015 !!    REFERENCE
00016 !!    ---------
00017 !!
00018 !!
00019 !!    AUTHOR
00020 !!    ------
00021 !!      V. Masson & S. Queguiner  *Meteo France*        
00022 !!
00023 !!    MODIFICATIONS
00024 !!    -------------
00025 !!      Original    01/2012
00026 !!-------------------------------------------------------------------------------
00027 !
00028 !*       0.    DECLARATIONS
00029 !              ------------
00030 !
00031 USE MODD_CSTS,        ONLY : XAVOGADRO
00032 USE MODD_CH_SNAP_n,   ONLY : NEMIS_NBR,XEMIS_FIELDS,CEMIS_NAME,LEMIS_FIELDS
00033 USE MODI_INIT_IO_SURF_n
00034 USE MODI_WRITE_SURF
00035 USE MODI_END_IO_SURF_n
00036 !
00037 !
00038 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00039 USE PARKIND1  ,ONLY : JPRB
00040 !
00041 IMPLICIT NONE
00042 !
00043 !*       0.1   Declarations of arguments
00044 !              -------------------------
00045 !
00046  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! program calling
00047 !
00048 !*       0.2   Declarations of local variables
00049 !              -------------------------------
00050 !
00051 
00052 INTEGER           :: IRESP          ! IRESP  : return-code if a problem appears
00053  CHARACTER(LEN=12) :: YRECFM         ! Name of the article to be read
00054  CHARACTER(LEN=100):: YCOMMENT       ! Comment string
00055 !
00056 INTEGER           :: JSPEC
00057 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00058 !
00059 !-------------------------------------------------------------------------------
00060 !
00061 !         Initialisation for IO
00062 !
00063 IF (LHOOK) CALL DR_HOOK('WRITE_DIAG_CH_SNAP_n',0,ZHOOK_HANDLE)
00064  CALL INIT_IO_SURF_n(HPROGRAM,'FULL  ','SURF  ','WRITE')
00065 !
00066 !-------------------------------------------------------------------------------
00067 !
00068 !         Writes Emissions of all species
00069 !
00070 IF (LEMIS_FIELDS) THEN
00071 !
00072 DO JSPEC=1,NEMIS_NBR
00073   YRECFM = "EMIS_"//TRIM(CEMIS_NAME(JSPEC))
00074   YCOMMENT = "Emission data at time t (ppm*m/s)"
00075   CALL WRITE_SURF(HPROGRAM,YRECFM,XEMIS_FIELDS(:,JSPEC),IRESP,HCOMMENT=YCOMMENT)
00076 END DO
00077 !
00078 END IF
00079 !-------------------------------------------------------------------------------
00080 !
00081 !         End of IO
00082 !
00083  CALL END_IO_SURF_n(HPROGRAM)
00084 IF (LHOOK) CALL DR_HOOK('WRITE_DIAG_CH_SNAP_n',1,ZHOOK_HANDLE)
00085 !
00086 !
00087 END SUBROUTINE WRITE_DIAG_CH_SNAP_n