|
SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE PACK_DIAG_PATCH_GET_SIZE_n 00003 !############################################## 00004 ! 00005 !!**** *PACK_DIAG_PATCH_GET_SIZE_n* - packs ISBA diagnostics 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 ! 00010 !!** METHOD 00011 !! ------ 00012 !! 00013 !! REFERENCE 00014 !! --------- 00015 !! 00016 !! 00017 !! AUTHOR 00018 !! ------ 00019 !! V. Masson 00020 !! 00021 !! MODIFICATIONS 00022 !! ------------- 00023 !! Original 01/2004 00024 !! Modified 10/2004 by P. Le Moigne: Halstead coefficient 00025 !! Modified 10/2005 by P. Le Moigne: Allocation (not EBA case) 00026 !! Modified 2008 by B. Decharme : Allocation for the floodplains 00027 !! Modified 04-09 by A.L. Gibelin : Add carbon diagnostics 00028 !! 00029 !!------------------------------------------------------------------ 00030 ! 00031 USE MODD_ISBA_n, ONLY : TSNOW, CPHOTO, LTR_ML, LGLACIER 00032 USE MODD_DIAG_ISBA_n, ONLY : N2M 00033 USE MODD_DIAG_MISC_ISBA_n, ONLY : LSURF_MISC_BUDGET 00034 USE MODD_DIAG_EVAP_ISBA_n, ONLY : LWATER_BUDGET 00035 ! 00036 USE MODD_PACK_DIAG_ISBA, ONLY : NSIZE_SIMPLE, NSIZE_GROUND, NSIZE_SNOW, NSIZE_KSW, & 00037 NSIZE_ABC, NSIZE_0, NSIZE_00 00038 ! 00039 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00040 USE PARKIND1 ,ONLY : JPRB 00041 ! 00042 IMPLICIT NONE 00043 ! 00044 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00045 ! 00046 !------------------------------------------------------------------------ 00047 IF (LHOOK) CALL DR_HOOK('PACK_DIAG_PATCH_GET_SIZE_N',0,ZHOOK_HANDLE) 00048 ! 00049 NSIZE_SIMPLE=57 00050 NSIZE_GROUND=0 00051 NSIZE_SNOW=0 00052 NSIZE_KSW=2 00053 NSIZE_ABC=0 00054 NSIZE_0=0 00055 NSIZE_00=0 00056 ! 00057 IF (TSNOW%SCHEME=='3-L' .OR. TSNOW%SCHEME=='CRO') THEN 00058 NSIZE_SIMPLE=NSIZE_SIMPLE+22 00059 NSIZE_SNOW=NSIZE_SNOW+2 00060 ELSE 00061 NSIZE_0=NSIZE_0+22 00062 NSIZE_00=NSIZE_00+2 00063 ENDIF 00064 ! 00065 IF(TSNOW%SCHEME/='EBA') THEN 00066 NSIZE_SNOW=NSIZE_SNOW+1 00067 ELSE 00068 NSIZE_00=NSIZE_00+1 00069 ENDIF 00070 ! 00071 IF(TSNOW%SCHEME=='EBA') THEN 00072 NSIZE_SIMPLE=NSIZE_SIMPLE+2 00073 ELSE 00074 NSIZE_0=NSIZE_0+2 00075 ENDIF 00076 ! 00077 IF (LTR_ML) THEN 00078 NSIZE_SIMPLE=NSIZE_SIMPLE+4 00079 ELSE 00080 NSIZE_0=NSIZE_0+4 00081 ENDIF 00082 ! 00083 IF (CPHOTO/='NON') THEN 00084 NSIZE_ABC=NSIZE_ABC+1 00085 ELSE 00086 NSIZE_00=NSIZE_00+1 00087 ENDIF 00088 ! 00089 IF (N2M>=1) THEN 00090 NSIZE_SIMPLE=NSIZE_SIMPLE+5 00091 ELSE 00092 NSIZE_0=NSIZE_0+5 00093 ENDIF 00094 ! 00095 IF (LSURF_MISC_BUDGET) THEN 00096 NSIZE_GROUND=NSIZE_GROUND+2 00097 NSIZE_SIMPLE=NSIZE_SIMPLE+2 00098 ELSE 00099 NSIZE_00=NSIZE_00+2 00100 NSIZE_0=NSIZE_0+2 00101 ENDIF 00102 ! 00103 IF(LGLACIER)THEN 00104 NSIZE_SIMPLE=NSIZE_SIMPLE+1 00105 ELSE 00106 NSIZE_0=NSIZE_0+1 00107 ENDIF 00108 ! 00109 IF(LWATER_BUDGET)THEN 00110 NSIZE_SIMPLE=NSIZE_SIMPLE+5 00111 ELSE 00112 NSIZE_0=NSIZE_0+5 00113 ENDIF 00114 ! 00115 IF (LHOOK) CALL DR_HOOK('PACK_DIAG_PATCH_GET_SIZE_N',1,ZHOOK_HANDLE) 00116 !------------------------------------------------------------------------ 00117 ! 00118 END SUBROUTINE PACK_DIAG_PATCH_GET_SIZE_n
1.8.0