SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/writesurf_seafluxn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE WRITESURF_SEAFLUX_n(HPROGRAM)
00003 !     ########################################
00004 !
00005 !!****  *WRITE_SEAFLUX_n* - writes SEAFLUX fields
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!
00010 !!**  METHOD
00011 !!    ------
00012 !!
00013 !!    EXTERNAL
00014 !!    --------
00015 !!
00016 !!
00017 !!    IMPLICIT ARGUMENTS
00018 !!    ------------------
00019 !!
00020 !!    REFERENCE
00021 !!    ---------
00022 !!
00023 !!
00024 !!    AUTHOR
00025 !!    ------
00026 !!      V. Masson   *Meteo France*      
00027 !!
00028 !!    MODIFICATIONS
00029 !!    -------------
00030 !!      Original    01/2003 
00031 !-------------------------------------------------------------------------------
00032 !
00033 !*       0.    DECLARATIONS
00034 !              ------------
00035 !
00036 USE MODD_SEAFLUX_n,      ONLY : XSST, XZ0, TTIME,  &
00037                                   LINTERPOL_SST, XSST_MTH  
00038 !
00039 USE MODI_WRITE_SURF
00040 USE MODI_WRITESURF_OCEAN_n
00041 !
00042 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00043 USE PARKIND1  ,ONLY : JPRB
00044 !
00045 IMPLICIT NONE
00046 !
00047 !*       0.1   Declarations of arguments
00048 !              -------------------------
00049 !
00050  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! program calling
00051 
00052 !
00053 !*       0.2   Declarations of local variables
00054 !              -------------------------------
00055 !
00056 INTEGER           :: JMTH, INMTH
00057  CHARACTER(LEN=2 ) :: YMTH
00058 !
00059 INTEGER           :: IRESP          ! IRESP  : return-code if a problem appears
00060  CHARACTER(LEN=12) :: YRECFM         ! Name of the article to be read
00061  CHARACTER(LEN=100):: YCOMMENT       ! Comment string
00062 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00063 !
00064 !-------------------------------------------------------------------------------
00065 !
00066 !
00067 IF (LHOOK) CALL DR_HOOK('WRITESURF_SEAFLUX_N',0,ZHOOK_HANDLE)
00068  CALL WRITESURF_OCEAN_n(HPROGRAM)
00069 !
00070 !*       3.     Prognostic fields:
00071 !               -----------------
00072 !
00073 !* water temperature
00074 !
00075 IF(LINTERPOL_SST)THEN
00076 !
00077   INMTH=SIZE(XSST_MTH,2)
00078 !
00079   DO JMTH=1,INMTH
00080      WRITE(YMTH,'(I2)') (JMTH-1)
00081      YRECFM='SST_MTH'//ADJUSTL(YMTH(:LEN_TRIM(YMTH)))
00082      YCOMMENT='SST month t'//ADJUSTL(YMTH(:LEN_TRIM(YMTH)))
00083      CALL WRITE_SURF(HPROGRAM,YRECFM,XSST_MTH(:,JMTH),IRESP,HCOMMENT=YCOMMENT)
00084   ENDDO
00085 !
00086 ENDIF
00087 !
00088 YRECFM='SST'
00089 YCOMMENT='SST'
00090  CALL WRITE_SURF(HPROGRAM,YRECFM,XSST(:),IRESP,HCOMMENT=YCOMMENT)  
00091 !
00092 !-------------------------------------------------------------------------------
00093 !
00094 !*       4.     Semi-prognostic fields:
00095 !               ----------------------
00096 !
00097 !* roughness length
00098 !
00099 YRECFM='Z0SEA'
00100 YCOMMENT='Z0SEA (m)'
00101  CALL WRITE_SURF(HPROGRAM,YRECFM,XZ0(:),IRESP,HCOMMENT=YCOMMENT)
00102 !
00103 !-------------------------------------------------------------------------------
00104 !
00105 !*       5.  Time
00106 !            ----
00107 !
00108 YRECFM='DTCUR'
00109 YCOMMENT='s'
00110  CALL WRITE_SURF(HPROGRAM,YRECFM,TTIME,IRESP,HCOMMENT=YCOMMENT)
00111 IF (LHOOK) CALL DR_HOOK('WRITESURF_SEAFLUX_N',1,ZHOOK_HANDLE)
00112 !
00113 !
00114 !-------------------------------------------------------------------------------
00115 !
00116 END SUBROUTINE WRITESURF_SEAFLUX_n