SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/init_sean.F90
Go to the documentation of this file.
00001 !     #############################################################
00002       SUBROUTINE INIT_SEA_n(HPROGRAM,HINIT,                            &
00003                               KI,KSV,KSW,                                &
00004                               HSV,PCO2,PRHOA,                            &
00005                               PZENITH,PAZIM,PSW_BANDS,PDIR_ALB,PSCA_ALB, &
00006                               PEMIS,PTSRAD,                              &
00007                               KYEAR, KMONTH,KDAY, PTIME,                 &
00008                               HATMFILE,HATMFILETYPE,                     &
00009                               HTEST                                      )  
00010 !     #############################################################
00011 !
00012 !!****  *INIT_SEA_n* - routine to initialize SEA
00013 !!
00014 !!    PURPOSE
00015 !!    -------
00016 !!
00017 !!**  METHOD
00018 !!    ------
00019 !!
00020 !!    EXTERNAL
00021 !!    --------
00022 !!
00023 !!
00024 !!    IMPLICIT ARGUMENTS
00025 !!    ------------------
00026 !!
00027 !!    REFERENCE
00028 !!    ---------
00029 !!
00030 !!
00031 !!    AUTHOR
00032 !!    ------
00033 !!      V. Masson   *Meteo France*      
00034 !!
00035 !!    MODIFICATIONS
00036 !!    -------------
00037 !!      Original    01/2003
00038 !-------------------------------------------------------------------------------
00039 !
00040 !*       0.    DECLARATIONS
00041 !              ------------
00042 !
00043 USE MODD_SURF_ATM_n, ONLY : CSEA
00044 USE MODD_CSTS,       ONLY : XTT
00045 !
00046 !
00047 !
00048 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00049 USE PARKIND1  ,ONLY : JPRB
00050 !
00051 USE MODI_INIT_IDEAL_FLUX
00052 !
00053 USE MODI_INIT_SEAFLUX_n
00054 !
00055 IMPLICIT NONE
00056 !
00057 !*       0.1   Declarations of arguments
00058 !              -------------------------
00059 !
00060  CHARACTER(LEN=6),                 INTENT(IN)  :: HPROGRAM  ! program calling surf. schemes
00061  CHARACTER(LEN=3),                 INTENT(IN)  :: HINIT     ! choice of fields to initialize
00062 INTEGER,                          INTENT(IN)  :: KI        ! number of points
00063 INTEGER,                          INTENT(IN)  :: KSV       ! number of scalars
00064 INTEGER,                          INTENT(IN)  :: KSW       ! number of short-wave spectral bands
00065  CHARACTER(LEN=6), DIMENSION(KSV), INTENT(IN)  :: HSV       ! name of all scalar variables
00066 REAL,             DIMENSION(KI),  INTENT(IN)  :: PCO2      ! CO2 concentration (kg/m3)
00067 REAL,             DIMENSION(KI),  INTENT(IN)  :: PRHOA     ! air density
00068 REAL,             DIMENSION(KI),  INTENT(IN)  :: PZENITH   ! solar zenithal angle
00069 REAL,             DIMENSION(KI),  INTENT(IN)  :: PAZIM     ! solar azimuthal angle (rad from N, clock)
00070 REAL,             DIMENSION(KSW), INTENT(IN)  :: PSW_BANDS ! middle wavelength of each band
00071 REAL,             DIMENSION(KI,KSW),INTENT(OUT) :: PDIR_ALB  ! direct albedo for each band
00072 REAL,             DIMENSION(KI,KSW),INTENT(OUT) :: PSCA_ALB  ! diffuse albedo for each band
00073 REAL,             DIMENSION(KI),  INTENT(OUT) :: PEMIS     ! emissivity
00074 REAL,             DIMENSION(KI),  INTENT(OUT) :: PTSRAD    ! radiative temperature
00075 INTEGER,                          INTENT(IN)  :: KYEAR     ! current year (UTC)
00076 INTEGER,                          INTENT(IN)  :: KMONTH    ! current month (UTC)
00077 INTEGER,                          INTENT(IN)  :: KDAY      ! current day (UTC)
00078 REAL,                             INTENT(IN)  :: PTIME     ! current time since
00079                                                           !  midnight (UTC, s)
00080 !
00081  CHARACTER(LEN=28),                INTENT(IN)  :: HATMFILE    ! atmospheric file name
00082  CHARACTER(LEN=6),                 INTENT(IN)  :: HATMFILETYPE! atmospheric file type
00083  CHARACTER(LEN=2),                 INTENT(IN)  :: HTEST       ! must be equal to 'OK'
00084 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00085 !
00086 !
00087 !*       0.2   Declarations of local variables
00088 !              -------------------------------
00089 !
00090 !-------------------------------------------------------------------------------
00091 !
00092 !*       2.     Selection of surface scheme
00093 !               ---------------------------
00094 !
00095 IF (LHOOK) CALL DR_HOOK('INIT_SEA_N',0,ZHOOK_HANDLE)
00096 IF (CSEA=='NONE  ') THEN
00097   PDIR_ALB=0.
00098   PSCA_ALB=0.
00099   PEMIS   =1.
00100   PTSRAD  =XTT
00101 ELSE IF (CSEA=='FLUX  ') THEN
00102   CALL INIT_IDEAL_FLUX(HPROGRAM,HINIT,KI,KSV,KSW,HSV,PCO2,PRHOA,     &
00103                            PZENITH,PAZIM,PSW_BANDS,PDIR_ALB,PSCA_ALB,  &
00104                            PEMIS,PTSRAD,'OK'                           )  
00105 ELSE IF (CSEA=='SEAFLX') THEN
00106   CALL INIT_SEAFLUX_n(HPROGRAM,HINIT,KI,KSV,KSW,HSV,PCO2,PRHOA,     &
00107                         PZENITH,PAZIM,PSW_BANDS,PDIR_ALB,PSCA_ALB,    &
00108                         PEMIS,PTSRAD,                                 &
00109                         KYEAR,KMONTH,KDAY,PTIME,HATMFILE,HATMFILETYPE,&
00110                         'OK'                                          )  
00111 END IF
00112 IF (LHOOK) CALL DR_HOOK('INIT_SEA_N',1,ZHOOK_HANDLE)
00113 !
00114 !
00115 !-------------------------------------------------------------------------------
00116 !
00117 END SUBROUTINE INIT_SEA_n