SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/modd_diag_surf_atmn.F90
Go to the documentation of this file.
00001 !     ######################
00002       MODULE MODD_DIAG_SURF_ATM_n
00003 !     ######################
00004 !
00005 !!****  *MODD_DIAG_SURF_ATM - declaration of diagnostics for the surface
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !
00010 !!
00011 !!**  IMPLICIT ARGUMENTS
00012 !!    ------------------
00013 !!      None 
00014 !!
00015 !!    REFERENCE
00016 !!    ---------
00017 !!
00018 !!    AUTHOR
00019 !!    ------
00020 !!      V. Masson   *Meteo France*
00021 !!
00022 !!    MODIFICATIONS
00023 !!    -------------
00024 !!      Original       01/2004
00025 !!      Modified    01/2006 : sea flux parameterization.
00026 !!      Modified    04/2009 : precip for/from restart file.
00027 !!      Modified    08/2009 : BUDGETC for all tiles
00028 !
00029 !*       0.   DECLARATIONS
00030 !             ------------
00031 !
00032 USE MODD_TYPE_DATE_SURF
00033 !
00034 !
00035 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00036 USE PARKIND1  ,ONLY : JPRB
00037 !
00038 IMPLICIT NONE
00039 
00040 TYPE DIAG_SURF_ATM_t
00041 !------------------------------------------------------------------------------
00042 !
00043   REAL    :: XDIAG_TSTEP  ! time step for diagnostics writing
00044 !
00045   INTEGER :: N2M          ! flag for 2 meters (and 10 meters) quantities
00046   LOGICAL :: L2M_MIN_ZS   ! flag for 2 meters quantities evaluated on
00047 !                         ! the minimum orographyy of the grid 
00048   LOGICAL :: LSURF_BUDGET ! flag for surface energy budget
00049   LOGICAL :: LRAD_BUDGET  ! flag for radiative energy budget      
00050   LOGICAL :: LCOEF        ! flag for transfer coefficients
00051   LOGICAL :: LSURF_VARS   ! flag for surface variables
00052   LOGICAL :: LFRAC        ! flag for writing fractions of each four tiles
00053   LOGICAL :: LDIAG_GRID   ! flag for mean grid diag
00054   LOGICAL :: LSURF_BUDGETC       ! flag for surface cumulated energy budget
00055   LOGICAL :: LRESET_BUDGETC      ! flag for surface cumulated energy budget
00056   LOGICAL :: LREAD_BUDGETC       ! flag for surface cumulated energy budget
00057   LOGICAL :: LPROVAR_TO_DIAG     ! switch to write (or not) prognostic variable
00058                                  ! and allows puting field in diagnostics 
00059   LOGICAL    :: LSELECT          ! switch to control which fields are written
00060                                  ! (only those whose naem appears in in text array)
00061 !  
00062   TYPE(DATE_TIME):: TIME_BUDGETC
00063 !
00064 !* variables for each tile
00065 !
00066   REAL, POINTER, DIMENSION(:,:) :: XRI_TILE     ! Bulk-Richardson number           (-)
00067   REAL, POINTER, DIMENSION(:,:) :: XCD_TILE     ! drag coefficient for wind        (W/s2)
00068   REAL, POINTER, DIMENSION(:,:) :: XCH_TILE     ! drag coefficient for heat        (W/s)
00069   REAL, POINTER, DIMENSION(:,:) :: XCE_TILE     ! drag coefficient for vapor       (W/s/K)
00070   REAL, POINTER, DIMENSION(:,:) :: XRN_TILE     ! net radiation at surface         (W/m2)
00071   REAL, POINTER, DIMENSION(:,:) :: XH_TILE      ! sensible heat flux               (W/m2)
00072   REAL, POINTER, DIMENSION(:,:) :: XLE_TILE     ! total latent heat flux           (W/m2) 
00073   REAL, POINTER, DIMENSION(:,:) :: XLEI_TILE    ! sublimation latent heat flux     (W/m2) 
00074   REAL, POINTER, DIMENSION(:,:) :: XGFLUX_TILE  ! net soil-vegetation flux         (W/m2)
00075   REAL, POINTER, DIMENSION(:,:) :: XTS_TILE     ! surface temperature              (K)
00076   REAL, POINTER, DIMENSION(:,:) :: XT2M_TILE    ! air temperature at 2 meters      (K)
00077   REAL, POINTER, DIMENSION(:,:) :: XT2M_MIN_TILE! Minimum air temperature at 2 meters (K)
00078   REAL, POINTER, DIMENSION(:,:) :: XT2M_MAX_TILE! Maximum air temperature at 2 meters (K)
00079   REAL, POINTER, DIMENSION(:,:) :: XQ2M_TILE    ! air humidity at 2 meters         (kg/kg)
00080   REAL, POINTER, DIMENSION(:,:) :: XHU2M_TILE   ! air relative humidity at 2 meters(-)
00081   REAL, POINTER, DIMENSION(:,:) :: XHU2M_MIN_TILE! Minimum air relative humidity at 2 meters(-)
00082   REAL, POINTER, DIMENSION(:,:) :: XHU2M_MAX_TILE! Maximum air relative humidity at 2 meters(-)
00083   REAL, POINTER, DIMENSION(:,:) :: XZON10M_TILE ! zonal wind at 10 meters          (m/s)
00084   REAL, POINTER, DIMENSION(:,:) :: XMER10M_TILE ! meridian wind at 10 meters       (m/s)
00085   REAL, POINTER, DIMENSION(:,:) :: XWIND10M_TILE! wind at 10 meters                (m/s)
00086   REAL, POINTER, DIMENSION(:,:) :: XWIND10M_MAX_TILE ! Maximumwind at 10 meters    (m/s)
00087   REAL, POINTER, DIMENSION(:,:) :: XQS_TILE
00088   REAL, POINTER, DIMENSION(:,:) :: XZ0_TILE     ! roughness length for momentum    (m)
00089   REAL, POINTER, DIMENSION(:,:) :: XZ0H_TILE    ! roughness length for heat        (m)
00090   REAL, POINTER, DIMENSION(:,:) :: XSWD_TILE    ! short wave downward radiation (W/m2)
00091   REAL, POINTER, DIMENSION(:,:) :: XSWU_TILE    ! short wave upward radiation (W/m2)
00092   REAL, POINTER, DIMENSION(:,:) :: XLWD_TILE    ! longt wave downward radiation (W/m2)
00093   REAL, POINTER, DIMENSION(:,:) :: XLWU_TILE    ! longt wave upward radiation (W/m2)
00094   REAL, POINTER, DIMENSION(:,:,:) :: XSWBD_TILE ! short wave downward radiation by spectral band(W/m2)
00095   REAL, POINTER, DIMENSION(:,:,:) :: XSWBU_TILE ! short wave upward radiation by spectral band(W/m2)
00096   REAL, POINTER, DIMENSION(:,:) :: XFMU_TILE    ! zonal friction
00097   REAL, POINTER, DIMENSION(:,:) :: XFMV_TILE    ! meridian friction
00098 !
00099 !* Cumulated variables for each tile
00100 !
00101   REAL, POINTER, DIMENSION(:,:) :: XRNC_TILE     ! net radiation at surface         (J/m2)
00102   REAL, POINTER, DIMENSION(:,:) :: XHC_TILE      ! sensible heat flux               (J/m2)
00103   REAL, POINTER, DIMENSION(:,:) :: XLEC_TILE     ! total latent heat flux           (J/m2) 
00104   REAL, POINTER, DIMENSION(:,:) :: XLEIC_TILE    ! sublimation latent heat flux     (J/m2) 
00105   REAL, POINTER, DIMENSION(:,:) :: XGFLUXC_TILE  ! net soil-vegetation flux         (J/m2)
00106   REAL, POINTER, DIMENSION(:,:) :: XSWDC_TILE    ! short wave downward radiation    (J/m2)
00107   REAL, POINTER, DIMENSION(:,:) :: XSWUC_TILE    ! short wave upward radiation      (J/m2)
00108   REAL, POINTER, DIMENSION(:,:) :: XLWDC_TILE    ! longt wave downward radiation    (J/m2)
00109   REAL, POINTER, DIMENSION(:,:) :: XLWUC_TILE    ! longt wave upward radiation      (J/m2)
00110   REAL, POINTER, DIMENSION(:,:) :: XFMUC_TILE    ! zonal friction
00111   REAL, POINTER, DIMENSION(:,:) :: XFMVC_TILE    ! meridian friction
00112 !
00113 !* averaged variables
00114 !
00115   REAL, POINTER, DIMENSION(:)   :: XAVG_RI      ! Bulk-Richardson number           (-)
00116   REAL, POINTER, DIMENSION(:)   :: XAVG_CD       ! drag coefficient for wind        (W/s2)
00117   REAL, POINTER, DIMENSION(:)   :: XAVG_CH       ! drag coefficient for heat        (W/s)
00118   REAL, POINTER, DIMENSION(:)   :: XAVG_CE       ! drag coefficient for vapor       (W/s/K)
00119   REAL, POINTER, DIMENSION(:)   :: XAVG_RN      ! net radiation at surface         (W/m2)
00120   REAL, POINTER, DIMENSION(:)   :: XAVG_H       ! sensible heat flux               (W/m2)
00121   REAL, POINTER, DIMENSION(:)   :: XAVG_LE      ! total latent heat flux           (W/m2) 
00122   REAL, POINTER, DIMENSION(:)   :: XAVG_LEI     ! sublimation latent heat flux     (W/m2) 
00123   REAL, POINTER, DIMENSION(:)   :: XAVG_GFLUX   ! net soil-vegetation flux         (W/m2)
00124   REAL, POINTER, DIMENSION(:)   :: XAVG_TS      ! surface temperature              (K)
00125   REAL, POINTER, DIMENSION(:)   :: XAVG_T2M     ! air temperature at 2 meters      (K)
00126   REAL, POINTER, DIMENSION(:)   :: XAVG_Q2M     ! air humidity at 2 meters         (kg/kg)
00127   REAL, POINTER, DIMENSION(:)   :: XAVG_HU2M    ! air relative humidity at 2 meters(-)
00128   REAL, POINTER, DIMENSION(:)   :: XAVG_ZON10M  ! zonal wind at 10 meters          (m/s)
00129   REAL, POINTER, DIMENSION(:)   :: XAVG_MER10M  ! meridian wind at 10 meters       (m/s)
00130   REAL, POINTER, DIMENSION(:)   :: XAVG_SFCO2   ! CO2 flux                         (kg/m2/s)  
00131   REAL, POINTER, DIMENSION(:)   :: XAVG_T2M_MIN_ZS ! air temperature at 2 meters   (K)
00132   REAL, POINTER, DIMENSION(:)   :: XAVG_Q2M_MIN_ZS ! air humidity at 2 meters      (kg/kg)
00133   REAL, POINTER, DIMENSION(:)   :: XAVG_HU2M_MIN_ZS! air relative humidity at 2 m  (-)
00134   REAL, POINTER, DIMENSION(:)   :: XPS          ! air pressure at the surface      (Pa)
00135   REAL, POINTER, DIMENSION(:)   :: XRHOA        ! air density  at the surface      (kg/m3)
00136   REAL, POINTER, DIMENSION(:)   :: XAVG_QS
00137   REAL, POINTER, DIMENSION(:)   :: XAVG_Z0      ! roughness length for momentum    (m)
00138   REAL, POINTER, DIMENSION(:)   :: XAVG_Z0H     ! roughness length for heat        (m)
00139   REAL, POINTER, DIMENSION(:)   :: XAVG_SWD     ! short wave downward radiation (W/m2)
00140   REAL, POINTER, DIMENSION(:)   :: XAVG_SWU     ! short wave upward radiation (W/m2)
00141   REAL, POINTER, DIMENSION(:)   :: XAVG_LWD     ! longt wave downward radiation (W/m2)
00142   REAL, POINTER, DIMENSION(:)   :: XAVG_LWU     ! longt wave upward radiation (W/m2)
00143   REAL, POINTER, DIMENSION(:,:) :: XAVG_SWBD    ! short wave downward radiation by spectral band(W/m2)
00144   REAL, POINTER, DIMENSION(:,:) :: XAVG_SWBU    ! short wave upward radiation by spectral band(W/m2)
00145   REAL, POINTER, DIMENSION(:)   :: XAVG_FMU     ! zonal friction
00146   REAL, POINTER, DIMENSION(:)   :: XAVG_FMV     ! meridian friction
00147   REAL, POINTER, DIMENSION(:)   :: XSSO_FMU     ! zonal friction    (with SSO)     (Pa)
00148   REAL, POINTER, DIMENSION(:)   :: XSSO_FMV     ! meridian friction (with SSO)     (Pa)
00149 !
00150   REAL, POINTER, DIMENSION(:)   :: XDIAG_UREF   ! reference height for momentum    (m)
00151   REAL, POINTER, DIMENSION(:)   :: XDIAG_ZREF   ! reference height for heat        (m)
00152   REAL, POINTER, DIMENSION(:)   :: XDIAG_TRAD   ! radiative temperature at t       (K)
00153   REAL, POINTER, DIMENSION(:)   :: XDIAG_EMIS   ! surface emissivity at t          (-)
00154 !
00155   REAL, POINTER, DIMENSION(:)   :: XAVG_T2M_MIN ! Minimun air temperature at 2 meters      (K)
00156   REAL, POINTER, DIMENSION(:)   :: XAVG_T2M_MAX ! Maximum air temperature at 2 meters      (K)
00157   REAL, POINTER, DIMENSION(:)   :: XAVG_HU2M_MIN! Minimun air relative humidity at 2 meters(-)
00158   REAL, POINTER, DIMENSION(:)   :: XAVG_HU2M_MAX! Maximum air relative humidity at 2 meters(-)
00159   REAL, POINTER, DIMENSION(:)   :: XAVG_WIND10M ! wind at 10 meters                      (m/s)
00160   REAL, POINTER, DIMENSION(:)   :: XAVG_WIND10M_MAX ! Maximum wind at 10 meters          (m/s)
00161 !
00162 !* cumulated averaged variables
00163 !
00164   REAL, POINTER, DIMENSION(:)   :: XAVG_RNC      ! net radiation at surface         (J/m2)
00165   REAL, POINTER, DIMENSION(:)   :: XAVG_HC       ! sensible heat flux               (J/m2)
00166   REAL, POINTER, DIMENSION(:)   :: XAVG_LEC      ! total latent heat flux           (J/m2) 
00167   REAL, POINTER, DIMENSION(:)   :: XAVG_LEIC     ! sublimation latent heat flux     (J/m2) 
00168   REAL, POINTER, DIMENSION(:)   :: XAVG_GFLUXC   ! net soil-vegetation flux         (J/m2)
00169   REAL, POINTER, DIMENSION(:)   :: XAVG_SWDC     ! short wave downward radiation    (J/m2)
00170   REAL, POINTER, DIMENSION(:)   :: XAVG_SWUC     ! short wave upward radiation      (J/m2)
00171   REAL, POINTER, DIMENSION(:)   :: XAVG_LWDC     ! longt wave downward radiation    (J/m2)
00172   REAL, POINTER, DIMENSION(:)   :: XAVG_LWUC     ! longt wave upward radiation      (J/m2)
00173   REAL, POINTER, DIMENSION(:)   :: XAVG_FMUC     ! zonal friction
00174   REAL, POINTER, DIMENSION(:)   :: XAVG_FMVC     ! meridian friction
00175 !
00176 !* restart variables (for ARPEGE/ALADAIN)
00177 !
00178   REAL, POINTER, DIMENSION(:) :: XRW_RAIN       ! Init/End rainfall rate   (kg/m2/s)
00179   REAL, POINTER, DIMENSION(:) :: XRW_SNOW       ! Init/End snowfall rate   (kg/m2/s)
00180 !                                   
00181   CHARACTER(LEN=12), POINTER, DIMENSION(:) :: CSELECT  ! Name of ouput fields if LSELECT=true
00182 !
00183 !------------------------------------------------------------------------------
00184 !
00185 
00186 END TYPE DIAG_SURF_ATM_t
00187 
00188 TYPE(DIAG_SURF_ATM_t), ALLOCATABLE, TARGET, SAVE :: DIAG_SURF_ATM_MODEL(:)
00189 
00190 REAL, POINTER :: XDIAG_TSTEP=>NULL()
00191 !$OMP THREADPRIVATE(XDIAG_TSTEP)
00192 INTEGER, POINTER :: N2M=>NULL()
00193 !$OMP THREADPRIVATE(N2M)
00194 LOGICAL, POINTER :: L2M_MIN_ZS=>NULL()
00195 !$OMP THREADPRIVATE(L2M_MIN_ZS)
00196 LOGICAL, POINTER :: LSURF_BUDGET=>NULL()
00197 !$OMP THREADPRIVATE(LSURF_BUDGET)
00198 LOGICAL, POINTER :: LRAD_BUDGET=>NULL()
00199 !$OMP THREADPRIVATE(LRAD_BUDGET)
00200 LOGICAL, POINTER :: LCOEF=>NULL()
00201 !$OMP THREADPRIVATE(LCOEF)
00202 LOGICAL, POINTER :: LSURF_VARS=>NULL()
00203 !$OMP THREADPRIVATE(LSURF_VARS)
00204 LOGICAL, POINTER :: LFRAC=>NULL()
00205 !$OMP THREADPRIVATE(LFRAC)
00206 LOGICAL, POINTER :: LDIAG_GRID=>NULL()
00207 !$OMP THREADPRIVATE(LDIAG_GRID)
00208 LOGICAL, POINTER :: LSURF_BUDGETC=>NULL()
00209 !$OMP THREADPRIVATE(LSURF_BUDGETC)
00210 LOGICAL, POINTER :: LRESET_BUDGETC=>NULL()
00211 !$OMP THREADPRIVATE(LRESET_BUDGETC)
00212 LOGICAL, POINTER :: LREAD_BUDGETC=>NULL()
00213 !$OMP THREADPRIVATE(LREAD_BUDGETC)
00214 LOGICAL, POINTER :: LPROVAR_TO_DIAG=>NULL()
00215 !$OMP THREADPRIVATE(LPROVAR_TO_DIAG)
00216 LOGICAL, POINTER :: LSELECT=>NULL()
00217 !$OMP THREADPRIVATE(LSELECT)
00218  CHARACTER(LEN=12), DIMENSION(:), POINTER :: CSELECT=>NULL()
00219 !$OMP THREADPRIVATE(CSELECT)
00220 TYPE(DATE_TIME), POINTER :: TIME_BUDGETC=>NULL()
00221 !$OMP THREADPRIVATE(TIME_BUDGETC)
00222 REAL, POINTER, DIMENSION(:,:) :: XRI_TILE=>NULL()
00223 !$OMP THREADPRIVATE(XRI_TILE)
00224 REAL, POINTER, DIMENSION(:,:) :: XCD_TILE=>NULL()
00225 !$OMP THREADPRIVATE(XCD_TILE)
00226 REAL, POINTER, DIMENSION(:,:) :: XCH_TILE=>NULL()
00227 !$OMP THREADPRIVATE(XCH_TILE)
00228 REAL, POINTER, DIMENSION(:,:) :: XCE_TILE=>NULL()
00229 !$OMP THREADPRIVATE(XCE_TILE)
00230 REAL, POINTER, DIMENSION(:,:) :: XRN_TILE=>NULL()
00231 !$OMP THREADPRIVATE(XRN_TILE)
00232 REAL, POINTER, DIMENSION(:,:) :: XH_TILE=>NULL()
00233 !$OMP THREADPRIVATE(XH_TILE)
00234 REAL, POINTER, DIMENSION(:,:) :: XLE_TILE=>NULL()
00235 !$OMP THREADPRIVATE(XLE_TILE)
00236 REAL, POINTER, DIMENSION(:,:) :: XLEI_TILE=>NULL()
00237 !$OMP THREADPRIVATE(XLEI_TILE)
00238 REAL, POINTER, DIMENSION(:,:) :: XGFLUX_TILE=>NULL()
00239 !$OMP THREADPRIVATE(XGFLUX_TILE)
00240 REAL, POINTER, DIMENSION(:,:) :: XTS_TILE=>NULL()
00241 !$OMP THREADPRIVATE(XTS_TILE)
00242 REAL, POINTER, DIMENSION(:,:) :: XT2M_TILE=>NULL()
00243 !$OMP THREADPRIVATE(XT2M_TILE)
00244 REAL, POINTER, DIMENSION(:,:) :: XT2M_MAX_TILE=>NULL()
00245 !$OMP THREADPRIVATE(XT2M_MAX_TILE)
00246 REAL, POINTER, DIMENSION(:,:) :: XT2M_MIN_TILE=>NULL()
00247 !$OMP THREADPRIVATE(XT2M_MIN_TILE)
00248 REAL, POINTER, DIMENSION(:,:) :: XQ2M_TILE=>NULL()
00249 !$OMP THREADPRIVATE(XQ2M_TILE)
00250 REAL, POINTER, DIMENSION(:,:) :: XHU2M_TILE=>NULL()
00251 !$OMP THREADPRIVATE(XHU2M_TILE)
00252 REAL, POINTER, DIMENSION(:,:) :: XHU2M_MAX_TILE=>NULL()
00253 !$OMP THREADPRIVATE(XHU2M_MAX_TILE)
00254 REAL, POINTER, DIMENSION(:,:) :: XHU2M_MIN_TILE=>NULL()
00255 !$OMP THREADPRIVATE(XHU2M_MIN_TILE)
00256 REAL, POINTER, DIMENSION(:,:) :: XZON10M_TILE=>NULL()
00257 !$OMP THREADPRIVATE(XZON10M_TILE)
00258 REAL, POINTER, DIMENSION(:,:) :: XMER10M_TILE=>NULL()
00259 !$OMP THREADPRIVATE(XMER10M_TILE)
00260 REAL, POINTER, DIMENSION(:,:) :: XWIND10M_TILE=>NULL()
00261 !$OMP THREADPRIVATE(XWIND10M_TILE)
00262 REAL, POINTER, DIMENSION(:,:) :: XWIND10M_MAX_TILE=>NULL()
00263 !$OMP THREADPRIVATE(XWIND10M_MAX_TILE)
00264 REAL, POINTER, DIMENSION(:,:) :: XQS_TILE=>NULL()
00265 !$OMP THREADPRIVATE(XQS_TILE)
00266 REAL, POINTER, DIMENSION(:,:) :: XZ0_TILE=>NULL()
00267 !$OMP THREADPRIVATE(XZ0_TILE)
00268 REAL, POINTER, DIMENSION(:,:) :: XZ0H_TILE=>NULL()
00269 !$OMP THREADPRIVATE(XZ0H_TILE)
00270 REAL, POINTER, DIMENSION(:,:) :: XSWD_TILE=>NULL()
00271 !$OMP THREADPRIVATE(XSWD_TILE)
00272 REAL, POINTER, DIMENSION(:,:) :: XSWU_TILE=>NULL()
00273 !$OMP THREADPRIVATE(XSWU_TILE)
00274 REAL, POINTER, DIMENSION(:,:) :: XLWD_TILE=>NULL()
00275 !$OMP THREADPRIVATE(XLWD_TILE)
00276 REAL, POINTER, DIMENSION(:,:) :: XLWU_TILE=>NULL()
00277 !$OMP THREADPRIVATE(XLWU_TILE)
00278 REAL, POINTER, DIMENSION(:,:,:) :: XSWBD_TILE=>NULL()
00279 !$OMP THREADPRIVATE(XSWBD_TILE)
00280 REAL, POINTER, DIMENSION(:,:,:) :: XSWBU_TILE=>NULL()
00281 !$OMP THREADPRIVATE(XSWBU_TILE)
00282 REAL, POINTER, DIMENSION(:,:) :: XFMU_TILE=>NULL()
00283 !$OMP THREADPRIVATE(XFMU_TILE)
00284 REAL, POINTER, DIMENSION(:,:) :: XFMV_TILE=>NULL()
00285 !$OMP THREADPRIVATE(XFMV_TILE)
00286 REAL, POINTER, DIMENSION(:,:) :: XRNC_TILE=>NULL()
00287 !$OMP THREADPRIVATE(XRNC_TILE)
00288 REAL, POINTER, DIMENSION(:,:) :: XHC_TILE=>NULL()
00289 !$OMP THREADPRIVATE(XHC_TILE)
00290 REAL, POINTER, DIMENSION(:,:) :: XLEC_TILE=>NULL()
00291 !$OMP THREADPRIVATE(XLEC_TILE)
00292 REAL, POINTER, DIMENSION(:,:) :: XLEIC_TILE=>NULL()
00293 !$OMP THREADPRIVATE(XLEIC_TILE)
00294 REAL, POINTER, DIMENSION(:,:) :: XGFLUXC_TILE=>NULL()
00295 !$OMP THREADPRIVATE(XGFLUXC_TILE)
00296 REAL, POINTER, DIMENSION(:,:) :: XSWDC_TILE=>NULL()
00297 !$OMP THREADPRIVATE(XSWDC_TILE)
00298 REAL, POINTER, DIMENSION(:,:) :: XSWUC_TILE=>NULL()
00299 !$OMP THREADPRIVATE(XSWUC_TILE)
00300 REAL, POINTER, DIMENSION(:,:) :: XLWDC_TILE=>NULL()
00301 !$OMP THREADPRIVATE(XLWDC_TILE)
00302 REAL, POINTER, DIMENSION(:,:) :: XLWUC_TILE=>NULL()
00303 !$OMP THREADPRIVATE(XLWUC_TILE)
00304 REAL, POINTER, DIMENSION(:,:) :: XFMUC_TILE=>NULL()
00305 !$OMP THREADPRIVATE(XFMUC_TILE)
00306 REAL, POINTER, DIMENSION(:,:) :: XFMVC_TILE=>NULL()
00307 !$OMP THREADPRIVATE(XFMVC_TILE)
00308 REAL, POINTER, DIMENSION(:)   :: XAVG_RI=>NULL()
00309 !$OMP THREADPRIVATE(XAVG_RI)
00310 REAL, POINTER, DIMENSION(:)   :: XAVG_CD=>NULL()
00311 !$OMP THREADPRIVATE(XAVG_CD)
00312 REAL, POINTER, DIMENSION(:)   :: XAVG_CH=>NULL()
00313 !$OMP THREADPRIVATE(XAVG_CH)
00314 REAL, POINTER, DIMENSION(:)   :: XAVG_CE=>NULL()
00315 !$OMP THREADPRIVATE(XAVG_CE)
00316 REAL, POINTER, DIMENSION(:)   :: XAVG_RN=>NULL()
00317 !$OMP THREADPRIVATE(XAVG_RN)
00318 REAL, POINTER, DIMENSION(:)   :: XAVG_H=>NULL()
00319 !$OMP THREADPRIVATE(XAVG_H)
00320 REAL, POINTER, DIMENSION(:)   :: XAVG_LE=>NULL()
00321 !$OMP THREADPRIVATE(XAVG_LE)
00322 REAL, POINTER, DIMENSION(:)   :: XAVG_LEI=>NULL()
00323 !$OMP THREADPRIVATE(XAVG_LEI)
00324 REAL, POINTER, DIMENSION(:)   :: XAVG_GFLUX=>NULL()
00325 !$OMP THREADPRIVATE(XAVG_GFLUX)
00326 REAL, POINTER, DIMENSION(:)   :: XAVG_TS=>NULL()
00327 !$OMP THREADPRIVATE(XAVG_TS)
00328 REAL, POINTER, DIMENSION(:)   :: XAVG_T2M=>NULL()
00329 !$OMP THREADPRIVATE(XAVG_T2M)
00330 REAL, POINTER, DIMENSION(:)   :: XAVG_T2M_MIN=>NULL()
00331 !$OMP THREADPRIVATE(XAVG_T2M_MIN)
00332 REAL, POINTER, DIMENSION(:)   :: XAVG_T2M_MAX=>NULL()
00333 !$OMP THREADPRIVATE(XAVG_T2M_MAX)
00334 REAL, POINTER, DIMENSION(:)   :: XAVG_Q2M=>NULL()
00335 !$OMP THREADPRIVATE(XAVG_Q2M)
00336 REAL, POINTER, DIMENSION(:)   :: XAVG_HU2M=>NULL()
00337 !$OMP THREADPRIVATE(XAVG_HU2M)
00338 REAL, POINTER, DIMENSION(:)   :: XAVG_HU2M_MIN=>NULL()
00339 !$OMP THREADPRIVATE(XAVG_HU2M_MIN)
00340 REAL, POINTER, DIMENSION(:)   :: XAVG_HU2M_MAX=>NULL()
00341 !$OMP THREADPRIVATE(XAVG_HU2M_MAX)
00342 REAL, POINTER, DIMENSION(:)   :: XAVG_ZON10M=>NULL()
00343 !$OMP THREADPRIVATE(XAVG_ZON10M)
00344 REAL, POINTER, DIMENSION(:)   :: XAVG_MER10M=>NULL()
00345 !$OMP THREADPRIVATE(XAVG_MER10M)
00346 REAL, POINTER, DIMENSION(:)   :: XAVG_WIND10M=>NULL()
00347 !$OMP THREADPRIVATE(XAVG_WIND10M)
00348 REAL, POINTER, DIMENSION(:)   :: XAVG_WIND10M_MAX=>NULL()
00349 !$OMP THREADPRIVATE(XAVG_WIND10M_MAX)
00350 REAL, POINTER, DIMENSION(:)   :: XAVG_SFCO2=>NULL()
00351 !$OMP THREADPRIVATE(XAVG_SFCO2)
00352 REAL, POINTER, DIMENSION(:)   :: XAVG_T2M_MIN_ZS=>NULL()
00353 !$OMP THREADPRIVATE(XAVG_T2M_MIN_ZS)
00354 REAL, POINTER, DIMENSION(:)   :: XAVG_Q2M_MIN_ZS=>NULL()
00355 !$OMP THREADPRIVATE(XAVG_Q2M_MIN_ZS)
00356 REAL, POINTER, DIMENSION(:)   :: XAVG_HU2M_MIN_ZS=>NULL()
00357 !$OMP THREADPRIVATE(XAVG_HU2M_MIN_ZS)
00358 REAL, POINTER, DIMENSION(:)   :: XPS=>NULL()
00359 !$OMP THREADPRIVATE(XPS)
00360 REAL, POINTER, DIMENSION(:)   :: XRHOA=>NULL()
00361 !$OMP THREADPRIVATE(XRHOA)
00362 REAL, POINTER, DIMENSION(:)   :: XAVG_QS=>NULL()
00363 !$OMP THREADPRIVATE(XAVG_QS)
00364 REAL, POINTER, DIMENSION(:)   :: XAVG_Z0=>NULL()
00365 !$OMP THREADPRIVATE(XAVG_Z0)
00366 REAL, POINTER, DIMENSION(:)   :: XAVG_Z0H=>NULL()
00367 !$OMP THREADPRIVATE(XAVG_Z0H)
00368 REAL, POINTER, DIMENSION(:)   :: XAVG_SWD=>NULL()
00369 !$OMP THREADPRIVATE(XAVG_SWD)
00370 REAL, POINTER, DIMENSION(:)   :: XAVG_SWU=>NULL()
00371 !$OMP THREADPRIVATE(XAVG_SWU)
00372 REAL, POINTER, DIMENSION(:)   :: XAVG_LWD=>NULL()
00373 !$OMP THREADPRIVATE(XAVG_LWD)
00374 REAL, POINTER, DIMENSION(:)   :: XAVG_LWU=>NULL()
00375 !$OMP THREADPRIVATE(XAVG_LWU)
00376 REAL, POINTER, DIMENSION(:,:) :: XAVG_SWBD=>NULL()
00377 !$OMP THREADPRIVATE(XAVG_SWBD)
00378 REAL, POINTER, DIMENSION(:,:) :: XAVG_SWBU=>NULL()
00379 !$OMP THREADPRIVATE(XAVG_SWBU)
00380 REAL, POINTER, DIMENSION(:)   :: XAVG_FMU=>NULL()
00381 !$OMP THREADPRIVATE(XAVG_FMU)
00382 REAL, POINTER, DIMENSION(:)   :: XAVG_FMV=>NULL()
00383 !$OMP THREADPRIVATE(XAVG_FMV)
00384 REAL, POINTER, DIMENSION(:)   :: XSSO_FMU=>NULL()
00385 !$OMP THREADPRIVATE(XSSO_FMU)
00386 REAL, POINTER, DIMENSION(:)   :: XSSO_FMV=>NULL()
00387 !$OMP THREADPRIVATE(XSSO_FMV)
00388 REAL, POINTER, DIMENSION(:)   :: XDIAG_ZREF=>NULL()
00389 !$OMP THREADPRIVATE(XDIAG_ZREF)
00390 REAL, POINTER, DIMENSION(:)   :: XDIAG_UREF=>NULL()
00391 !$OMP THREADPRIVATE(XDIAG_UREF)
00392 REAL, POINTER, DIMENSION(:)   :: XDIAG_TRAD=>NULL()
00393 !$OMP THREADPRIVATE(XDIAG_TRAD)
00394 REAL, POINTER, DIMENSION(:)   :: XDIAG_EMIS=>NULL()
00395 !$OMP THREADPRIVATE(XDIAG_EMIS)
00396 REAL, POINTER, DIMENSION(:)   :: XAVG_RNC=>NULL()
00397 !$OMP THREADPRIVATE(XAVG_RNC)
00398 REAL, POINTER, DIMENSION(:)   :: XAVG_HC=>NULL()
00399 !$OMP THREADPRIVATE(XAVG_HC)
00400 REAL, POINTER, DIMENSION(:)   :: XAVG_LEC=>NULL()
00401 !$OMP THREADPRIVATE(XAVG_LEC)
00402 REAL, POINTER, DIMENSION(:)   :: XAVG_LEIC=>NULL()
00403 !$OMP THREADPRIVATE(XAVG_LEIC)
00404 REAL, POINTER, DIMENSION(:)   :: XAVG_GFLUXC=>NULL()
00405 !$OMP THREADPRIVATE(XAVG_GFLUXC)
00406 REAL, POINTER, DIMENSION(:)   :: XAVG_SWDC=>NULL()
00407 !$OMP THREADPRIVATE(XAVG_SWDC)
00408 REAL, POINTER, DIMENSION(:)   :: XAVG_SWUC=>NULL()
00409 !$OMP THREADPRIVATE(XAVG_SWUC)
00410 REAL, POINTER, DIMENSION(:)   :: XAVG_LWDC=>NULL()
00411 !$OMP THREADPRIVATE(XAVG_LWDC)
00412 REAL, POINTER, DIMENSION(:)   :: XAVG_LWUC=>NULL()
00413 !$OMP THREADPRIVATE(XAVG_LWUC)
00414 REAL, POINTER, DIMENSION(:)   :: XAVG_FMUC=>NULL()
00415 !$OMP THREADPRIVATE(XAVG_FMUC)
00416 REAL, POINTER, DIMENSION(:)   :: XAVG_FMVC=>NULL()
00417 !$OMP THREADPRIVATE(XAVG_FMVC)
00418 !
00419 REAL, POINTER, DIMENSION(:)   :: XRW_RAIN=>NULL()
00420 !$OMP THREADPRIVATE(XRW_RAIN)
00421 REAL, POINTER, DIMENSION(:)   :: XRW_SNOW=>NULL()
00422 !$OMP THREADPRIVATE(XRW_SNOW)
00423 
00424 CONTAINS
00425 
00426 SUBROUTINE DIAG_SURF_ATM_GOTO_MODEL(KFROM, KTO, LKFROM)
00427 LOGICAL, INTENT(IN) :: LKFROM
00428 INTEGER, INTENT(IN) :: KFROM, KTO
00429 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00430 !
00431 ! Save current state for allocated arrays
00432 IF (LKFROM) THEN
00433 DIAG_SURF_ATM_MODEL(KFROM)%CSELECT=>CSELECT
00434 DIAG_SURF_ATM_MODEL(KFROM)%XRI_TILE=>XRI_TILE
00435 DIAG_SURF_ATM_MODEL(KFROM)%XCD_TILE=>XCD_TILE
00436 DIAG_SURF_ATM_MODEL(KFROM)%XCH_TILE=>XCH_TILE
00437 DIAG_SURF_ATM_MODEL(KFROM)%XCE_TILE=>XCE_TILE
00438 DIAG_SURF_ATM_MODEL(KFROM)%XRN_TILE=>XRN_TILE
00439 DIAG_SURF_ATM_MODEL(KFROM)%XH_TILE=>XH_TILE
00440 DIAG_SURF_ATM_MODEL(KFROM)%XLE_TILE=>XLE_TILE
00441 DIAG_SURF_ATM_MODEL(KFROM)%XLEI_TILE=>XLEI_TILE
00442 DIAG_SURF_ATM_MODEL(KFROM)%XGFLUX_TILE=>XGFLUX_TILE
00443 DIAG_SURF_ATM_MODEL(KFROM)%XTS_TILE=>XTS_TILE
00444 DIAG_SURF_ATM_MODEL(KFROM)%XT2M_TILE=>XT2M_TILE
00445 DIAG_SURF_ATM_MODEL(KFROM)%XT2M_MIN_TILE=>XT2M_MIN_TILE
00446 DIAG_SURF_ATM_MODEL(KFROM)%XT2M_MAX_TILE=>XT2M_MAX_TILE
00447 DIAG_SURF_ATM_MODEL(KFROM)%XQ2M_TILE=>XQ2M_TILE
00448 DIAG_SURF_ATM_MODEL(KFROM)%XHU2M_TILE=>XHU2M_TILE
00449 DIAG_SURF_ATM_MODEL(KFROM)%XHU2M_MIN_TILE=>XHU2M_MIN_TILE
00450 DIAG_SURF_ATM_MODEL(KFROM)%XHU2M_MAX_TILE=>XHU2M_MAX_TILE
00451 DIAG_SURF_ATM_MODEL(KFROM)%XZON10M_TILE=>XZON10M_TILE
00452 DIAG_SURF_ATM_MODEL(KFROM)%XMER10M_TILE=>XMER10M_TILE
00453 DIAG_SURF_ATM_MODEL(KFROM)%XWIND10M_TILE=>XWIND10M_TILE
00454 DIAG_SURF_ATM_MODEL(KFROM)%XWIND10M_MAX_TILE=>XWIND10M_MAX_TILE
00455 DIAG_SURF_ATM_MODEL(KFROM)%XQS_TILE=>XQS_TILE
00456 DIAG_SURF_ATM_MODEL(KFROM)%XZ0_TILE=>XZ0_TILE
00457 DIAG_SURF_ATM_MODEL(KFROM)%XZ0H_TILE=>XZ0H_TILE
00458 DIAG_SURF_ATM_MODEL(KFROM)%XSWD_TILE=>XSWD_TILE
00459 DIAG_SURF_ATM_MODEL(KFROM)%XSWU_TILE=>XSWU_TILE
00460 DIAG_SURF_ATM_MODEL(KFROM)%XLWD_TILE=>XLWD_TILE
00461 DIAG_SURF_ATM_MODEL(KFROM)%XLWU_TILE=>XLWU_TILE
00462 DIAG_SURF_ATM_MODEL(KFROM)%XSWBD_TILE=>XSWBD_TILE
00463 DIAG_SURF_ATM_MODEL(KFROM)%XSWBU_TILE=>XSWBU_TILE
00464 DIAG_SURF_ATM_MODEL(KFROM)%XFMU_TILE=>XFMU_TILE
00465 DIAG_SURF_ATM_MODEL(KFROM)%XFMV_TILE=>XFMV_TILE
00466 DIAG_SURF_ATM_MODEL(KFROM)%XRNC_TILE=>XRNC_TILE
00467 DIAG_SURF_ATM_MODEL(KFROM)%XHC_TILE=>XHC_TILE
00468 DIAG_SURF_ATM_MODEL(KFROM)%XLEC_TILE=>XLEC_TILE
00469 DIAG_SURF_ATM_MODEL(KFROM)%XLEIC_TILE=>XLEIC_TILE
00470 DIAG_SURF_ATM_MODEL(KFROM)%XGFLUXC_TILE=>XGFLUXC_TILE
00471 DIAG_SURF_ATM_MODEL(KFROM)%XSWDC_TILE=>XSWDC_TILE
00472 DIAG_SURF_ATM_MODEL(KFROM)%XSWUC_TILE=>XSWUC_TILE
00473 DIAG_SURF_ATM_MODEL(KFROM)%XLWDC_TILE=>XLWDC_TILE
00474 DIAG_SURF_ATM_MODEL(KFROM)%XLWUC_TILE=>XLWUC_TILE
00475 DIAG_SURF_ATM_MODEL(KFROM)%XFMUC_TILE=>XFMUC_TILE
00476 DIAG_SURF_ATM_MODEL(KFROM)%XFMVC_TILE=>XFMVC_TILE
00477 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_RI=>XAVG_RI
00478 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_CD=>XAVG_CD
00479 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_CH=>XAVG_CH
00480 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_CE=>XAVG_CE
00481 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_RN=>XAVG_RN
00482 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_H=>XAVG_H
00483 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_LE=>XAVG_LE
00484 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_LEI=>XAVG_LEI
00485 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_GFLUX=>XAVG_GFLUX
00486 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_TS=>XAVG_TS
00487 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_T2M=>XAVG_T2M
00488 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_T2M_MIN=>XAVG_T2M_MIN
00489 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_T2M_MAX=>XAVG_T2M_MAX
00490 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_Q2M=>XAVG_Q2M
00491 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_HU2M=>XAVG_HU2M
00492 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_HU2M_MIN=>XAVG_HU2M_MIN
00493 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_HU2M_MAX=>XAVG_HU2M_MAX
00494 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_ZON10M=>XAVG_ZON10M
00495 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_MER10M=>XAVG_MER10M
00496 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_WIND10M=>XAVG_WIND10M
00497 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_WIND10M_MAX=>XAVG_WIND10M_MAX
00498 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_SFCO2=>XAVG_SFCO2
00499 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_T2M_MIN_ZS=>XAVG_T2M_MIN_ZS
00500 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_Q2M_MIN_ZS=>XAVG_Q2M_MIN_ZS
00501 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_HU2M_MIN_ZS=>XAVG_HU2M_MIN_ZS
00502 DIAG_SURF_ATM_MODEL(KFROM)%XPS=>XPS
00503 DIAG_SURF_ATM_MODEL(KFROM)%XRHOA=>XRHOA
00504 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_QS=>XAVG_QS
00505 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_Z0=>XAVG_Z0
00506 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_Z0H=>XAVG_Z0H
00507 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_SWD=>XAVG_SWD
00508 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_SWU=>XAVG_SWU
00509 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_LWD=>XAVG_LWD
00510 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_LWU=>XAVG_LWU
00511 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_SWBD=>XAVG_SWBD
00512 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_SWBU=>XAVG_SWBU
00513 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_FMU=>XAVG_FMU
00514 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_FMV=>XAVG_FMV
00515 DIAG_SURF_ATM_MODEL(KFROM)%XSSO_FMU=>XSSO_FMU
00516 DIAG_SURF_ATM_MODEL(KFROM)%XSSO_FMV=>XSSO_FMV
00517 DIAG_SURF_ATM_MODEL(KFROM)%XDIAG_UREF=>XDIAG_UREF
00518 DIAG_SURF_ATM_MODEL(KFROM)%XDIAG_ZREF=>XDIAG_ZREF
00519 DIAG_SURF_ATM_MODEL(KFROM)%XDIAG_TRAD=>XDIAG_TRAD
00520 DIAG_SURF_ATM_MODEL(KFROM)%XDIAG_EMIS=>XDIAG_EMIS
00521 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_RNC=>XAVG_RNC
00522 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_HC=>XAVG_HC
00523 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_LEC=>XAVG_LEC
00524 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_LEIC=>XAVG_LEIC
00525 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_GFLUXC=>XAVG_GFLUXC
00526 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_SWDC=>XAVG_SWDC
00527 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_SWUC=>XAVG_SWUC
00528 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_LWDC=>XAVG_LWDC
00529 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_LWUC=>XAVG_LWUC
00530 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_FMUC=>XAVG_FMUC
00531 DIAG_SURF_ATM_MODEL(KFROM)%XAVG_FMVC=>XAVG_FMVC
00532 !
00533 DIAG_SURF_ATM_MODEL(KFROM)%XRW_RAIN=>XRW_RAIN
00534 DIAG_SURF_ATM_MODEL(KFROM)%XRW_SNOW=>XRW_SNOW
00535 ENDIF
00536 !
00537 ! Current model is set to model KTO
00538 IF (LHOOK) CALL DR_HOOK('MODD_DIAG_SURF_ATM_N:DIAG_SURF_ATM_GOTO_MODEL',0,ZHOOK_HANDLE)
00539 XDIAG_TSTEP=>DIAG_SURF_ATM_MODEL(KTO)%XDIAG_TSTEP
00540 N2M=>DIAG_SURF_ATM_MODEL(KTO)%N2M
00541 L2M_MIN_ZS=>DIAG_SURF_ATM_MODEL(KTO)%L2M_MIN_ZS
00542 LSURF_BUDGET=>DIAG_SURF_ATM_MODEL(KTO)%LSURF_BUDGET
00543 LRAD_BUDGET=>DIAG_SURF_ATM_MODEL(KTO)%LRAD_BUDGET
00544 LCOEF=>DIAG_SURF_ATM_MODEL(KTO)%LCOEF
00545 LSURF_VARS=>DIAG_SURF_ATM_MODEL(KTO)%LSURF_VARS
00546 LFRAC=>DIAG_SURF_ATM_MODEL(KTO)%LFRAC
00547 LDIAG_GRID=>DIAG_SURF_ATM_MODEL(KTO)%LDIAG_GRID
00548 LSURF_BUDGETC=>DIAG_SURF_ATM_MODEL(KTO)%LSURF_BUDGETC
00549 LRESET_BUDGETC=>DIAG_SURF_ATM_MODEL(KTO)%LRESET_BUDGETC
00550 LREAD_BUDGETC=>DIAG_SURF_ATM_MODEL(KTO)%LREAD_BUDGETC
00551 LPROVAR_TO_DIAG=>DIAG_SURF_ATM_MODEL(KTO)%LPROVAR_TO_DIAG
00552 LSELECT=>DIAG_SURF_ATM_MODEL(KTO)%LSELECT
00553 CSELECT=>DIAG_SURF_ATM_MODEL(KTO)%CSELECT
00554 TIME_BUDGETC=>DIAG_SURF_ATM_MODEL(KTO)%TIME_BUDGETC
00555 XRI_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XRI_TILE
00556 XCD_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XCD_TILE
00557 XCH_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XCH_TILE
00558 XCE_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XCE_TILE
00559 XRN_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XRN_TILE
00560 XH_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XH_TILE
00561 XLE_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XLE_TILE
00562 XLEI_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XLEI_TILE
00563 XGFLUX_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XGFLUX_TILE
00564 XTS_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XTS_TILE
00565 XT2M_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XT2M_TILE
00566 XT2M_MIN_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XT2M_MIN_TILE
00567 XT2M_MAX_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XT2M_MAX_TILE
00568 XQ2M_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XQ2M_TILE
00569 XHU2M_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XHU2M_TILE
00570 XHU2M_MIN_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XHU2M_MIN_TILE
00571 XHU2M_MAX_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XHU2M_MAX_TILE
00572 XZON10M_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XZON10M_TILE
00573 XMER10M_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XMER10M_TILE
00574 XWIND10M_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XWIND10M_TILE
00575 XWIND10M_MAX_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XWIND10M_MAX_TILE
00576 XQS_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XQS_TILE
00577 XZ0_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XZ0_TILE
00578 XZ0H_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XZ0H_TILE
00579 XSWD_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XSWD_TILE
00580 XSWU_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XSWU_TILE
00581 XLWD_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XLWD_TILE
00582 XLWU_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XLWU_TILE
00583 XSWBD_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XSWBD_TILE
00584 XSWBU_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XSWBU_TILE
00585 XFMU_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XFMU_TILE
00586 XFMV_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XFMV_TILE
00587 XRNC_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XRNC_TILE
00588 XHC_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XHC_TILE
00589 XLEC_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XLEC_TILE
00590 XLEIC_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XLEIC_TILE
00591 XGFLUXC_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XGFLUXC_TILE
00592 XSWDC_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XSWDC_TILE
00593 XSWUC_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XSWUC_TILE
00594 XLWDC_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XLWDC_TILE
00595 XLWUC_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XLWUC_TILE
00596 XFMUC_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XFMUC_TILE
00597 XFMVC_TILE=>DIAG_SURF_ATM_MODEL(KTO)%XFMVC_TILE
00598 XAVG_RI=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_RI
00599 XAVG_CD=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_CD
00600 XAVG_CH=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_CH
00601 XAVG_CE=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_CE
00602 XAVG_RN=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_RN
00603 XAVG_H=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_H
00604 XAVG_LE=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_LE
00605 XAVG_LEI=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_LEI
00606 XAVG_GFLUX=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_GFLUX
00607 XAVG_TS=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_TS
00608 XAVG_T2M=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_T2M
00609 XAVG_T2M_MIN=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_T2M_MIN
00610 XAVG_T2M_MAX=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_T2M_MAX
00611 XAVG_Q2M=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_Q2M
00612 XAVG_HU2M=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_HU2M
00613 XAVG_HU2M_MIN=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_HU2M_MIN
00614 XAVG_HU2M_MAX=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_HU2M_MAX
00615 XAVG_ZON10M=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_ZON10M
00616 XAVG_MER10M=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_MER10M
00617 XAVG_WIND10M=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_WIND10M
00618 XAVG_WIND10M_MAX=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_WIND10M_MAX
00619 XAVG_SFCO2=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_SFCO2
00620 XAVG_T2M_MIN_ZS=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_T2M_MIN_ZS
00621 XAVG_Q2M_MIN_ZS=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_Q2M_MIN_ZS
00622 XAVG_HU2M_MIN_ZS=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_HU2M_MIN_ZS
00623 XPS=>DIAG_SURF_ATM_MODEL(KTO)%XPS
00624 XRHOA=>DIAG_SURF_ATM_MODEL(KTO)%XRHOA
00625 XAVG_QS=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_QS
00626 XAVG_Z0=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_Z0
00627 XAVG_Z0H=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_Z0H
00628 XAVG_SWD=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_SWD
00629 XAVG_SWU=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_SWU
00630 XAVG_LWD=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_LWD
00631 XAVG_LWU=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_LWU
00632 XAVG_SWBD=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_SWBD
00633 XAVG_SWBU=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_SWBU
00634 XAVG_FMU=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_FMU
00635 XAVG_FMV=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_FMV
00636 XSSO_FMU=>DIAG_SURF_ATM_MODEL(KTO)%XSSO_FMU
00637 XSSO_FMV=>DIAG_SURF_ATM_MODEL(KTO)%XSSO_FMV
00638 XDIAG_UREF=>DIAG_SURF_ATM_MODEL(KTO)%XDIAG_UREF
00639 XDIAG_ZREF=>DIAG_SURF_ATM_MODEL(KTO)%XDIAG_ZREF
00640 XDIAG_TRAD=>DIAG_SURF_ATM_MODEL(KTO)%XDIAG_TRAD
00641 XDIAG_EMIS=>DIAG_SURF_ATM_MODEL(KTO)%XDIAG_EMIS
00642 XAVG_RNC=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_RNC
00643 XAVG_HC=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_HC
00644 XAVG_LEC=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_LEC
00645 XAVG_LEIC=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_LEIC
00646 XAVG_GFLUXC=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_GFLUXC
00647 XAVG_SWDC=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_SWDC
00648 XAVG_SWUC=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_SWUC
00649 XAVG_LWDC=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_LWDC
00650 XAVG_LWUC=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_LWUC
00651 XAVG_FMUC=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_FMUC
00652 XAVG_FMVC=>DIAG_SURF_ATM_MODEL(KTO)%XAVG_FMVC
00653 !
00654 XRW_RAIN=>DIAG_SURF_ATM_MODEL(KTO)%XRW_RAIN
00655 XRW_SNOW=>DIAG_SURF_ATM_MODEL(KTO)%XRW_SNOW
00656 IF (LHOOK) CALL DR_HOOK('MODD_DIAG_SURF_ATM_N:DIAG_SURF_ATM_GOTO_MODEL',1,ZHOOK_HANDLE)
00657 !
00658 END SUBROUTINE DIAG_SURF_ATM_GOTO_MODEL
00659 
00660 SUBROUTINE DIAG_SURF_ATM_ALLOC(KMODEL)
00661 INTEGER, INTENT(IN) :: KMODEL
00662 INTEGER :: J
00663 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00664 IF (LHOOK) CALL DR_HOOK("MODD_DIAG_SURF_ATM_N:DIAG_SURF_ATM_ALLOC",0,ZHOOK_HANDLE)
00665 ALLOCATE(DIAG_SURF_ATM_MODEL(KMODEL))
00666 DO J=1,KMODEL
00667   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XRI_TILE)
00668   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XCD_TILE)
00669   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XCH_TILE)
00670   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XCE_TILE)
00671   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XRN_TILE)
00672   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XH_TILE)
00673   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XLE_TILE)
00674   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XLEI_TILE)
00675   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XGFLUX_TILE)
00676   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XTS_TILE)
00677   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XT2M_TILE)
00678   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XT2M_MIN_TILE)
00679   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XT2M_MAX_TILE)
00680   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XQ2M_TILE)
00681   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XHU2M_TILE)
00682   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XHU2M_MIN_TILE)
00683   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XHU2M_MAX_TILE)
00684   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XZON10M_TILE)
00685   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XMER10M_TILE)
00686   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XWIND10M_TILE)
00687   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XWIND10M_MAX_TILE)
00688   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XQS_TILE)
00689   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XZ0_TILE)
00690   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XZ0H_TILE)
00691   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XSWD_TILE)
00692   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XSWU_TILE)
00693   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XLWD_TILE)
00694   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XLWU_TILE)
00695   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XSWBD_TILE)
00696   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XSWBU_TILE)
00697   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XFMU_TILE)
00698   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XFMV_TILE)
00699   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XRNC_TILE)
00700   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XHC_TILE)
00701   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XLEC_TILE)
00702   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XLEIC_TILE)
00703   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XGFLUXC_TILE)
00704   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XSWDC_TILE)
00705   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XSWUC_TILE)
00706   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XLWDC_TILE)
00707   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XLWUC_TILE)
00708   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XFMUC_TILE)
00709   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XFMVC_TILE)
00710   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_RI)
00711   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_CD)
00712   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_CH)
00713   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_CE)
00714   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_RN)
00715   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_H)
00716   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_LE)
00717   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_LEI)
00718   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_GFLUX)
00719   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_TS)
00720   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_T2M)
00721   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_Q2M)
00722   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_HU2M)
00723   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_ZON10M)
00724   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_MER10M)
00725   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_SFCO2)
00726   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_T2M_MIN_ZS)
00727   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_Q2M_MIN_ZS)
00728   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_HU2M_MIN_ZS)
00729   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XPS)
00730   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XRHOA)
00731   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_QS)
00732   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_Z0)
00733   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_Z0H)
00734   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_SWD)
00735   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_SWU)
00736   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_LWD)
00737   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_LWU)
00738   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_SWBD)
00739   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_SWBU)
00740   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_FMU)
00741   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_FMV)
00742   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XSSO_FMU)
00743   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XSSO_FMV)
00744   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XDIAG_UREF)
00745   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XDIAG_ZREF)
00746   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XDIAG_TRAD)
00747   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XDIAG_EMIS)
00748   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_T2M_MIN)
00749   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_T2M_MAX)
00750   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_HU2M_MIN)
00751   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_HU2M_MAX)
00752   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_WIND10M)
00753   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_WIND10M_MAX)
00754   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_RNC)
00755   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_HC)
00756   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_LEC)
00757   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_LEIC)
00758   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_GFLUXC)
00759   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_SWDC)
00760   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_SWUC)
00761   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_LWDC)
00762   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_LWUC)
00763   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_FMUC)
00764   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XAVG_FMVC)
00765   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XRW_RAIN)
00766   NULLIFY(DIAG_SURF_ATM_MODEL(J)%XRW_SNOW)
00767   NULLIFY(DIAG_SURF_ATM_MODEL(J)%CSELECT)
00768 ENDDO
00769 DIAG_SURF_ATM_MODEL(:)%XDIAG_TSTEP=0.
00770 DIAG_SURF_ATM_MODEL(:)%N2M=0
00771 DIAG_SURF_ATM_MODEL(:)%L2M_MIN_ZS=.FALSE.
00772 DIAG_SURF_ATM_MODEL(:)%LSURF_BUDGET=.FALSE.
00773 DIAG_SURF_ATM_MODEL(:)%LRAD_BUDGET=.FALSE.
00774 DIAG_SURF_ATM_MODEL(:)%LCOEF=.FALSE.
00775 DIAG_SURF_ATM_MODEL(:)%LSURF_VARS=.FALSE.
00776 DIAG_SURF_ATM_MODEL(:)%LFRAC=.FALSE.
00777 DIAG_SURF_ATM_MODEL(:)%LDIAG_GRID=.FALSE.
00778 DIAG_SURF_ATM_MODEL(:)%LSURF_BUDGETC=.FALSE.
00779 DIAG_SURF_ATM_MODEL(:)%LRESET_BUDGETC=.FALSE.
00780 DIAG_SURF_ATM_MODEL(:)%LREAD_BUDGETC=.FALSE.
00781 DIAG_SURF_ATM_MODEL(:)%LPROVAR_TO_DIAG=.FALSE.
00782 DIAG_SURF_ATM_MODEL(:)%LSELECT=.FALSE.
00783 IF (LHOOK) CALL DR_HOOK("MODD_DIAG_SURF_ATM_N:DIAG_SURF_ATM_ALLOC",1,ZHOOK_HANDLE)
00784 END SUBROUTINE DIAG_SURF_ATM_ALLOC
00785 
00786 SUBROUTINE DIAG_SURF_ATM_DEALLO
00787 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00788 IF (LHOOK) CALL DR_HOOK("MODD_DIAG_SURF_ATM_N:DIAG_SURF_ATM_DEALLO",0,ZHOOK_HANDLE)
00789 IF (ALLOCATED(DIAG_SURF_ATM_MODEL)) DEALLOCATE(DIAG_SURF_ATM_MODEL)
00790 IF (LHOOK) CALL DR_HOOK("MODD_DIAG_SURF_ATM_N:DIAG_SURF_ATM_DEALLO",1,ZHOOK_HANDLE)
00791 END SUBROUTINE DIAG_SURF_ATM_DEALLO
00792 
00793 END MODULE MODD_DIAG_SURF_ATM_n