SURFEX v7.3
General documentation of Surfex
|
00001 ! ############################################################################### 00002 SUBROUTINE ASSIM_TOWN_n(HPROGRAM,KI,PT2M_O,HTEST) 00003 00004 ! ############################################################################### 00005 ! 00006 !!**** *ASSIM_TOWN_n * - Chooses the surface schemes for TOWN parts 00007 !! 00008 !! PURPOSE 00009 !! ------- 00010 !! 00011 !!** METHOD 00012 !! ------ 00013 !! 00014 !! REFERENCE 00015 !! --------- 00016 !! 00017 !! 00018 !! AUTHOR 00019 !! ------ 00020 !! T. Aspelien 00021 !! 00022 !! MODIFICATIONS 00023 !! ------------- 00024 !! Original 04/2012 00025 !!-------------------------------------------------------------------- 00026 ! 00027 USE MODD_CSTS, ONLY : XPI 00028 USE MODN_IO_OFFLINE, ONLY : CSURF_FILETYPE 00029 ! 00030 USE MODD_SURF_ATM_n, ONLY : CTOWN 00031 ! 00032 USE YOMHOOK, ONLY : LHOOK, DR_HOOK 00033 USE PARKIND1, ONLY : JPRB 00034 ! 00035 USE MODI_ABOR1_SFX 00036 USE MODI_ASSIM_TEB_n 00037 ! 00038 IMPLICIT NONE 00039 ! 00040 !* 0.1 declarations of arguments 00041 ! 00042 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! program calling surf. schemes 00043 INTEGER, INTENT(IN) :: KI 00044 REAL,DIMENSION(kI), INTENT(IN) :: PT2M_O 00045 CHARACTER(LEN=2), INTENT(IN) :: HTEST ! must be equal to 'OK' 00046 ! 00047 !* 0.2 declarations of local variables 00048 ! 00049 !------------------------------------------------------------------------------------- 00050 ! 00051 CHARACTER(LEN=6) :: YPROGRAM = 'LFI ' 00052 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00053 CHARACTER(LEN=10) :: YVAR ! Name of the prognostic variable (in LFI file) 00054 CHARACTER(LEN=100) :: YPREFIX ! Prefix of the prognostic variable (in LFI file) 00055 INTEGER :: IRESP 00056 00057 IF (LHOOK) CALL DR_HOOK('ASSIM_TOWN_N',0,ZHOOK_HANDLE) 00058 00059 IF (HTEST/='OK') THEN 00060 CALL ABOR1_SFX('ASSIM_TOWN_n: FATAL ERROR DURING ARGUMENT TRANSFER') 00061 END IF 00062 00063 IF (CTOWN=='TEB ') THEN 00064 CALL ASSIM_TEB_n(HPROGRAM,KI,PT2M_O,HTEST) 00065 ELSE 00066 WRITE(*,*) 'No assimilation done for scheme: ',TRIM(CTOWN) 00067 END IF 00068 00069 IF (LHOOK) CALL DR_HOOK('ASSIM_TOWN_N',1,ZHOOK_HANDLE) 00070 ! 00071 !------------------------------------------------------------------------------------- 00072 ! 00073 END SUBROUTINE ASSIM_TOWN_n