SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/writesurf_snapn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE WRITESURF_SNAP_n(HPROGRAM)
00003 !     #######################################################################
00004 !
00005 !-----------------------------------------------------------------------------
00006 !
00007 !*       0.    DECLARATIONS
00008 !
00009 USE MODI_GET_LUOUT
00010 USE MODI_WRITE_SURF
00011 !
00012 USE MODD_CH_SNAP_n
00013 !
00014 !
00015 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00016 USE PARKIND1  ,ONLY : JPRB
00017 !
00018 USE MODI_ABOR1_SFX
00019 !
00020 IMPLICIT NONE
00021 !
00022  CHARACTER(LEN=6) :: HPROGRAM
00023 !
00024 !*       0.2   declarations of local variables
00025 !
00026 INTEGER             :: IRESP    ! I/O error code
00027  CHARACTER (LEN=16)  :: YRECFM   ! article name
00028  CHARACTER (LEN=100) :: YCOMMENT ! comment
00029 INTEGER             :: ILUOUT   ! Unit number for prints
00030 INTEGER             :: JSPEC    ! Loop index for emission species
00031 INTEGER             :: JSNAP    ! Loop index for SNAP categories
00032 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00033 !-------------------------------------------------------------------------------
00034 IF (LHOOK) CALL DR_HOOK('WRITESURF_SNAP_n',0,ZHOOK_HANDLE)
00035  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00036 !
00037 !-------------------------------------------------------------------------------
00038 !
00039 YRECFM='EMISPEC_NBR'
00040  CALL WRITE_SURF(HPROGRAM,YRECFM,NEMIS_NBR,IRESP,YCOMMENT)
00041 YRECFM='SNAP_NBR'
00042  CALL WRITE_SURF(HPROGRAM,YRECFM,NEMIS_SNAP,IRESP,YCOMMENT)
00043 YRECFM='SNAP_TIME'
00044  CALL WRITE_SURF(HPROGRAM,YRECFM,CSNAP_TIME_REF,IRESP,YCOMMENT)
00045 !
00046 IF (CSNAP_TIME_REF=='LEGAL') THEN
00047   YRECFM='LEGALTIME'
00048   CALL WRITE_SURF(HPROGRAM,YRECFM,XDELTA_LEGAL_TIME(:),IRESP,YCOMMENT)
00049 END IF
00050 !-------------------------------------------------------------------------------
00051 !
00052 DO JSPEC=1,NEMIS_NBR
00053 ! Writes the name of species
00054   WRITE(YRECFM,'("EMISNAME",I3.3)') JSPEC
00055   YCOMMENT = CEMIS_COMMENT(JSPEC)
00056   CALL WRITE_SURF(HPROGRAM,YRECFM,CEMIS_NAME(JSPEC),IRESP,YCOMMENT)
00057 !
00058 ! Writes the temporal profiles of all snaps
00059   YRECFM = "EMIS_"//TRIM(CEMIS_NAME(JSPEC))//"_M"
00060   CALL WRITE_SURF(HPROGRAM,YRECFM,XSNAP_MONTHLY(:,:,JSPEC),IRESP,YCOMMENT,HDIR='-')
00061   YRECFM = "EMIS_"//TRIM(CEMIS_NAME(JSPEC))//"_D"
00062   CALL WRITE_SURF(HPROGRAM,YRECFM,XSNAP_DAILY(:,:,JSPEC),IRESP,YCOMMENT,HDIR='-')
00063   YRECFM = "EMIS_"//TRIM(CEMIS_NAME(JSPEC))//"_H"
00064   CALL WRITE_SURF(HPROGRAM,YRECFM,XSNAP_HOURLY(:,:,JSPEC),IRESP,YCOMMENT,HDIR='-')
00065 ! Writes the potential emission of species for each snap
00066   DO JSNAP=1,NEMIS_SNAP
00067     WRITE(YRECFM,'("SNAP",I2.2,"_",A3)') JSNAP,CEMIS_NAME(JSPEC)
00068     CALL WRITE_SURF(HPROGRAM,YRECFM,XEMIS_FIELDS_SNAP(:,JSNAP,JSPEC),IRESP,YCOMMENT)
00069   END DO
00070 !
00071 END DO
00072 !
00073 !-------------------------------------------------------------------------------
00074 IF (LHOOK) CALL DR_HOOK('WRITESURF_SNAP_n',1,ZHOOK_HANDLE)
00075 !-------------------------------------------------------------------------------
00076 !
00077 END SUBROUTINE WRITESURF_SNAP_n