SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE WRITESURF_FLAKE_n(HPROGRAM) 00003 ! ######################################## 00004 ! 00005 !!**** *WRITESURF_FLAKE_n* - writes FLAKE fields 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 !! 00010 !!** METHOD 00011 !! ------ 00012 !! 00013 !! EXTERNAL 00014 !! -------- 00015 !! 00016 !! 00017 !! IMPLICIT ARGUMENTS 00018 !! ------------------ 00019 !! 00020 !! REFERENCE 00021 !! --------- 00022 !! 00023 !! 00024 !! AUTHOR 00025 !! ------ 00026 !! V. Masson *Meteo France* 00027 !! 00028 !! MODIFICATIONS 00029 !! ------------- 00030 !! Original 01/2003 00031 !------------------------------------------------------------------------------- 00032 ! 00033 !* 0. DECLARATIONS 00034 ! ------------ 00035 ! 00036 USE MODD_FLAKE_n, ONLY : XTS, TTIME , & 00037 XT_SNOW , & 00038 XT_ICE , & 00039 XT_MNW , & 00040 XT_WML , & 00041 XT_BOT , & 00042 XT_B1 , & 00043 XCT , & 00044 XH_SNOW , & 00045 XH_ICE , & 00046 XH_ML , & 00047 XH_B1 , & 00048 XZ0 , & 00049 XUSTAR 00050 ! 00051 USE MODI_WRITE_SURF 00052 ! 00053 ! 00054 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00055 USE PARKIND1 ,ONLY : JPRB 00056 ! 00057 IMPLICIT NONE 00058 ! 00059 !* 0.1 Declarations of arguments 00060 ! ------------------------- 00061 ! 00062 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! program calling 00063 00064 ! 00065 !* 0.2 Declarations of local variables 00066 ! ------------------------------- 00067 ! 00068 INTEGER :: IRESP ! IRESP : return-code if a problem appears 00069 CHARACTER(LEN=12) :: YRECFM ! Name of the article to be read 00070 CHARACTER(LEN=100):: YCOMMENT ! Comment string 00071 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00072 ! 00073 !------------------------------------------------------------------------------- 00074 ! 00075 ! 00076 !* 3. Prognostic fields: 00077 ! ----------------- 00078 ! 00079 !* water temperature 00080 ! 00081 IF (LHOOK) CALL DR_HOOK('WRITESURF_FLAKE_N',0,ZHOOK_HANDLE) 00082 YRECFM='TS_WATER' 00083 YCOMMENT='TS_WATER (K)' 00084 CALL WRITE_SURF(HPROGRAM,YRECFM,XTS(:),IRESP,HCOMMENT=YCOMMENT) 00085 00086 00087 YRECFM='T_SNOW' 00088 YCOMMENT='T_SNOW (K)' 00089 CALL WRITE_SURF(HPROGRAM,YRECFM,XT_SNOW(:),IRESP,HCOMMENT=YCOMMENT) 00090 YRECFM='T_ICE' 00091 YCOMMENT='T_ICE (K)' 00092 CALL WRITE_SURF(HPROGRAM,YRECFM,XT_ICE(:),IRESP,HCOMMENT=YCOMMENT) 00093 YRECFM='T_MNW' 00094 YCOMMENT='T_WATER_MEAN (K)' 00095 CALL WRITE_SURF(HPROGRAM,YRECFM,XT_MNW(:),IRESP,HCOMMENT=YCOMMENT) 00096 YRECFM='T_WML' 00097 YCOMMENT='T_WATER_ML (K)' 00098 CALL WRITE_SURF(HPROGRAM,YRECFM,XT_WML(:),IRESP,HCOMMENT=YCOMMENT) 00099 YRECFM='T_BOT' 00100 YCOMMENT='T_WATER_BOT (K)' 00101 CALL WRITE_SURF(HPROGRAM,YRECFM,XT_BOT(:),IRESP,HCOMMENT=YCOMMENT) 00102 YRECFM='T_B1' 00103 YCOMMENT='T_B1 (K)' 00104 CALL WRITE_SURF(HPROGRAM,YRECFM,XT_B1(:),IRESP,HCOMMENT=YCOMMENT) 00105 YRECFM='CT' 00106 YCOMMENT='C_SHAPE_FACTOR ()' 00107 CALL WRITE_SURF(HPROGRAM,YRECFM,XCT(:),IRESP,HCOMMENT=YCOMMENT) 00108 YRECFM='H_SNOW' 00109 YCOMMENT='H_SNOW (m)' 00110 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_SNOW(:),IRESP,HCOMMENT=YCOMMENT) 00111 YRECFM='H_ICE' 00112 YCOMMENT='H_ICE (m)' 00113 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_ICE(:),IRESP,HCOMMENT=YCOMMENT) 00114 YRECFM='H_ML' 00115 YCOMMENT='H_ML (m)' 00116 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_ML(:),IRESP,HCOMMENT=YCOMMENT) 00117 YRECFM='H_B1' 00118 YCOMMENT='H_B1 (m)' 00119 CALL WRITE_SURF(HPROGRAM,YRECFM,XH_B1(:),IRESP,HCOMMENT=YCOMMENT) 00120 00121 ! 00122 !------------------------------------------------------------------------------- 00123 ! 00124 !* 4. Semi-prognostic fields: 00125 ! ---------------------- 00126 ! 00127 !* roughness length 00128 ! 00129 YRECFM='Z0WATER' 00130 YCOMMENT='Z0WATER (m)' 00131 CALL WRITE_SURF(HPROGRAM,YRECFM,XZ0(:),IRESP,HCOMMENT=YCOMMENT) 00132 ! 00133 !* friction velocity 00134 ! 00135 YRECFM='USTAR_WATER' 00136 YCOMMENT='USTAR_WATER (m/s)' 00137 CALL WRITE_SURF(HPROGRAM,YRECFM,XUSTAR(:),IRESP,HCOMMENT=YCOMMENT) 00138 ! 00139 ! 00140 !------------------------------------------------------------------------------- 00141 ! 00142 !* 5. Time 00143 ! ---- 00144 ! 00145 YRECFM='DTCUR' 00146 YCOMMENT='s' 00147 CALL WRITE_SURF(HPROGRAM,YRECFM,TTIME,IRESP,HCOMMENT=YCOMMENT) 00148 IF (LHOOK) CALL DR_HOOK('WRITESURF_FLAKE_N',1,ZHOOK_HANDLE) 00149 ! 00150 00151 !------------------------------------------------------------------------------- 00152 ! 00153 END SUBROUTINE WRITESURF_FLAKE_n