|
SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE DEFAULT_DIAG_SURF_ATM(K2M,OSURF_BUDGET,O2M_MIN_ZS,ORAD_BUDGET, & 00003 OCOEF,OSURF_VARS,OSURF_BUDGETC, & 00004 ORESET_BUDGETC, OSELECT, OPROVAR_TO_DIAG,& 00005 ODIAG_GRID, OFRAC, PDIAG_TSTEP, CSELECT ) 00006 ! ######################################################################## 00007 ! 00008 !!**** *DEFAULT_DIAG_SURF_ATM* - routine to set default values for the choice of diagnostics 00009 !! 00010 !! PURPOSE 00011 !! ------- 00012 !! 00013 !!** METHOD 00014 !! ------ 00015 !! 00016 !! EXTERNAL 00017 !! -------- 00018 !! 00019 !! 00020 !! IMPLICIT ARGUMENTS 00021 !! ------------------ 00022 !! 00023 !! REFERENCE 00024 !! --------- 00025 !! 00026 !! 00027 !! AUTHOR 00028 !! ------ 00029 !! V. Masson *Meteo France* 00030 !! 00031 !! MODIFICATIONS 00032 !! ------------- 00033 !! Original 01/2004 00034 !! Modified 01/2006 : sea flux parameterization. 00035 !! B. Decharme 2008 flag for mean grid diag 00036 !! B. Decharme 2009 flag for cumulative budget and to write selected diags 00037 !------------------------------------------------------------------------------- 00038 ! 00039 !* 0. DECLARATIONS 00040 ! ------------ 00041 ! 00042 USE MODD_SURF_PAR, ONLY : XUNDEF 00043 ! 00044 ! 00045 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00046 USE PARKIND1 ,ONLY : JPRB 00047 ! 00048 IMPLICIT NONE 00049 ! 00050 !* 0.1 Declarations of arguments 00051 ! ------------------------- 00052 ! 00053 ! 00054 INTEGER, INTENT(OUT) :: K2M ! flag for operational 2m quantities 00055 LOGICAL, INTENT(OUT) :: OSURF_BUDGET ! flag for surface budget 00056 LOGICAL, INTENT(OUT) :: O2M_MIN_ZS ! flag for 2m quantities on min. orography 00057 LOGICAL, INTENT(OUT) :: ORAD_BUDGET ! flag for radiative budget 00058 LOGICAL, INTENT(OUT) :: OCOEF ! flag for transfer coefficients 00059 LOGICAL, INTENT(OUT) :: OSURF_VARS ! flag for surface variables 00060 LOGICAL, INTENT(OUT) :: OSURF_BUDGETC ! flag for cumulated surface budget 00061 LOGICAL, INTENT(OUT) :: ORESET_BUDGETC ! flag for cumulated surface budget 00062 LOGICAL, INTENT(OUT) :: OSELECT ! switch to control which fields are written 00063 LOGICAL, INTENT(OUT) :: OPROVAR_TO_DIAG ! switch to write (or not) prognostic variable 00064 LOGICAL, INTENT(OUT) :: ODIAG_GRID ! flag for mean grid diag 00065 LOGICAL, INTENT(OUT) :: OFRAC ! flag for fractions of tiles 00066 REAL, INTENT(OUT) :: PDIAG_TSTEP ! time-step for writing 00067 CHARACTER(LEN=12), DIMENSION(200), INTENT(OUT), OPTIONAL :: CSELECT 00068 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00069 ! 00070 !* 0.2 Declarations of local variables 00071 ! ------------------------------- 00072 ! 00073 !------------------------------------------------------------------------------- 00074 ! 00075 IF (LHOOK) CALL DR_HOOK('DEFAULT_DIAG_SURF_ATM',0,ZHOOK_HANDLE) 00076 ! 00077 K2M = 0 00078 OSURF_BUDGET = .FALSE. 00079 ! 00080 O2M_MIN_ZS = .FALSE. 00081 ! 00082 ORAD_BUDGET = .FALSE. 00083 ! 00084 OCOEF = .FALSE. 00085 OSURF_VARS = .FALSE. 00086 ! 00087 OSURF_BUDGETC = .FALSE. 00088 ORESET_BUDGETC = .FALSE. 00089 ! 00090 OSELECT = .FALSE. 00091 ! 00092 OPROVAR_TO_DIAG = .FALSE. 00093 ! 00094 ODIAG_GRID = .TRUE. 00095 ! 00096 OFRAC = .FALSE. 00097 ! 00098 PDIAG_TSTEP = XUNDEF 00099 ! 00100 IF (PRESENT(CSELECT)) CSELECT(:) = ' ' 00101 IF (LHOOK) CALL DR_HOOK('DEFAULT_DIAG_SURF_ATM',1,ZHOOK_HANDLE) 00102 ! 00103 !------------------------------------------------------------------------------- 00104 ! 00105 END SUBROUTINE DEFAULT_DIAG_SURF_ATM
1.8.0