SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/zoom_pgd_surf_atm.F90
Go to the documentation of this file.
00001 !     ###########################################################
00002       SUBROUTINE ZOOM_PGD_SURF_ATM(HPROGRAM,HINIFILE,HINIFILETYPE,HFILE,HFILETYPE)
00003 !     ###########################################################
00004 
00005 !!
00006 !!    PURPOSE
00007 !!    -------
00008 !!   This program prepares the physiographic data fields.
00009 !!
00010 !!    METHOD
00011 !!    ------
00012 !!   
00013 !!    EXTERNAL
00014 !!    --------
00015 !!
00016 !!
00017 !!    IMPLICIT ARGUMENTS
00018 !!    ------------------
00019 !!
00020 !!
00021 !!    REFERENCE
00022 !!    ---------
00023 !!
00024 !!    AUTHOR
00025 !!    ------
00026 !!
00027 !!    V. Masson                   Meteo-France
00028 !!
00029 !!    MODIFICATION
00030 !!    ------------
00031 !!
00032 !!    Original     13/10/03
00033 !----------------------------------------------------------------------------
00034 !
00035 !*    0.     DECLARATION
00036 !            -----------
00037 !
00038 USE MODD_SURF_ATM_GRID_n, ONLY : CGRID, XGRID_PAR, NGRID_PAR
00039 USE MODD_SURF_ATM_n,      ONLY : CNATURE, CSEA, CWATER, CTOWN, &
00040                                    XSEA, XWATER,                 &
00041                                    NDIM_NATURE, NDIM_SEA,        &
00042                                    NDIM_TOWN,NDIM_WATER,         &
00043                                    XNATURE, NDIM_FULL, LGARDEN,  &
00044                                    LECOCLIMAP
00045 USE MODD_CH_SURF_n,       ONLY : LCH_EMIS, LRW_CH_EMIS
00046 USE MODD_DUMMY_SURF_FIELDS_n, ONLY : NDUMMY_NBR
00047 !
00048 USE MODI_INI_CSTS
00049 USE MODI_READ_NAM_WRITE_COVER_TEX
00050 USE MODI_PGD_GRID
00051 USE MODI_OPEN_AUX_IO_SURF
00052 USE MODI_CLOSE_AUX_IO_SURF
00053 USE MODI_READ_SURF
00054 USE MODI_ZOOM_PGD_COVER
00055 USE MODI_ZOOM_PGD_OROGRAPHY
00056 USE MODI_INIT_READ_DATA_COVER
00057 USE MODI_INI_DATA_COVER
00058 USE MODI_SURF_VERSION
00059 USE MODI_ZOOM_PGD_INLAND_WATER
00060 USE MODI_ZOOM_PGD_NATURE
00061 USE MODI_ZOOM_PGD_SEA
00062 USE MODI_ZOOM_PGD_TOWN
00063 USE MODI_READ_COVER_GARDEN
00064 !
00065 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00066 USE PARKIND1  ,ONLY : JPRB
00067 !
00068 IMPLICIT NONE
00069 !
00070 !*    0.1    Declaration of dummy arguments
00071 !            ------------------------------
00072 !
00073  CHARACTER(LEN=6),     INTENT(IN)  :: HPROGRAM    ! program calling
00074  CHARACTER(LEN=28),    INTENT(IN)  :: HINIFILE    ! input atmospheric file name
00075  CHARACTER(LEN=6),     INTENT(IN)  :: HINIFILETYPE! input atmospheric file type
00076  CHARACTER(LEN=28),    INTENT(IN)  :: HFILE       ! output atmospheric file name
00077  CHARACTER(LEN=6),     INTENT(IN)  :: HFILETYPE   ! output atmospheric file type
00078 !
00079 !
00080 !*    0.2    Declaration of local variables
00081 !            ------------------------------
00082 !
00083 INTEGER :: IRESP
00084 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00085 !------------------------------------------------------------------------------
00086 !
00087 !*    1.      Set default constant values 
00088 !             ---------------------------
00089 !
00090 IF (LHOOK) CALL DR_HOOK('ZOOM_PGD_SURF_ATM',0,ZHOOK_HANDLE)
00091  CALL SURF_VERSION
00092 !
00093  CALL INI_CSTS
00094 !
00095  CALL READ_NAM_WRITE_COVER_TEX(HPROGRAM)
00096 !
00097 !-------------------------------------------------------------------------------
00098 !
00099 !*    2.      Initialisation of output grid and schemes
00100 !             -----------------------------------------
00101 !
00102  CALL PGD_GRID(HPROGRAM,HFILE,HFILETYPE,.TRUE.,CGRID,NGRID_PAR,XGRID_PAR)
00103 !
00104  CALL OPEN_AUX_IO_SURF(HINIFILE,HINIFILETYPE,'FULL  ')
00105  CALL READ_SURF(HINIFILETYPE,'SEA',   CSEA,   IRESP)
00106  CALL READ_SURF(HINIFILETYPE,'NATURE',CNATURE,IRESP)
00107  CALL READ_SURF(HINIFILETYPE,'WATER', CWATER, IRESP)
00108  CALL READ_SURF(HINIFILETYPE,'TOWN',  CTOWN,  IRESP)
00109  CALL READ_COVER_GARDEN(HINIFILETYPE,LGARDEN)
00110  CALL INIT_READ_DATA_COVER(HPROGRAM)
00111  CALL INI_DATA_COVER
00112  CALL CLOSE_AUX_IO_SURF(HINIFILE,HINIFILETYPE)
00113 !
00114 !-------------------------------------------------------------------------------
00115 !
00116 !*    3.      surface cover
00117 !             -------------
00118 !
00119  CALL ZOOM_PGD_COVER(HPROGRAM,HINIFILE,HINIFILETYPE,LECOCLIMAP)
00120 !
00121 !-------------------------------------------------------------------------------
00122 !
00123 !*    4.      Orography
00124 !             ---------
00125 !
00126  CALL ZOOM_PGD_OROGRAPHY(HPROGRAM,XSEA,XWATER,HINIFILE,HINIFILETYPE)
00127 !
00128 !_______________________________________________________________________________
00129 !
00130 !*    5.      Additionnal fields for nature scheme
00131 !             ------------------------------------
00132 !
00133 IF (NDIM_NATURE>0)                                 &
00134   CALL ZOOM_PGD_NATURE(HPROGRAM,HINIFILE,HINIFILETYPE,HFILE,HFILETYPE,LECOCLIMAP)  
00135 !_______________________________________________________________________________
00136 !
00137 !*    6.      Additionnal fields for town scheme
00138 !             ----------------------------------
00139 !
00140 IF (NDIM_TOWN>0)                                 &
00141   CALL ZOOM_PGD_TOWN(HPROGRAM,HINIFILE,HINIFILETYPE,HFILE,HFILETYPE,LECOCLIMAP,LGARDEN)  
00142 !_______________________________________________________________________________
00143 !
00144 !*    7.      Additionnal fields for inland water scheme
00145 !             ------------------------------------------
00146 !
00147 IF (NDIM_WATER>0)                                 &
00148   CALL ZOOM_PGD_INLAND_WATER(HPROGRAM,HINIFILE,HINIFILETYPE,HFILE,HFILETYPE)  
00149 !_______________________________________________________________________________
00150 !
00151 !*    8.      Additionnal fields for sea scheme
00152 !             ---------------------------------
00153 !
00154 IF (NDIM_SEA>0)                                 &
00155   CALL ZOOM_PGD_SEA(HPROGRAM,HINIFILE,HINIFILETYPE,HFILE,HFILETYPE)  
00156 !
00157 !_______________________________________________________________________________
00158 !
00159 !*    9.      Dummy fields
00160 !             ------------
00161 !
00162 NDUMMY_NBR = 0
00163 !_______________________________________________________________________________
00164 !
00165 !*   10.      Chemical Emission fields
00166 !             ------------------------
00167 !
00168 LCH_EMIS = .FALSE.
00169 LRW_CH_EMIS = .FALSE.
00170 IF (LHOOK) CALL DR_HOOK('ZOOM_PGD_SURF_ATM',1,ZHOOK_HANDLE)
00171 !_______________________________________________________________________________
00172 !
00173 END SUBROUTINE ZOOM_PGD_SURF_ATM