SURFEX v7.3
General documentation of Surfex
|
00001 ! ########################## 00002 SUBROUTINE WRITE_COVER_TEX_WATER 00003 ! ########################## 00004 ! 00005 !!**** *WRITE_COVER_TEX* writes the water data arrays into a tex file 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 !! 00010 !! METHOD 00011 !! ------ 00012 !! 00013 !! 00014 !! EXTERNAL 00015 !! -------- 00016 !! 00017 !! IMPLICIT ARGUMENTS 00018 !! ------------------ 00019 !! 00020 !! REFERENCE 00021 !! --------- 00022 !! 00023 !! AUTHOR 00024 !! ------ 00025 !! 00026 !! V. Masson Meteo-France 00027 !! 00028 !! MODIFICATION 00029 !! ------------ 00030 !! 00031 !! Original 08/01/98 00032 !! 03/2011 E. Bazile (MK10) albedo from Marat Khairoutdinov 00033 !---------------------------------------------------------------------------- 00034 ! 00035 !* 0. DECLARATION 00036 ! ----------- 00037 ! 00038 ! 00039 ! 00040 USE MODE_WRITE_COVER_TEX 00041 ! 00042 USE MODI_ALBEDO_TA96 00043 ! 00044 USE MODD_CSTS, ONLY : XPI 00045 USE MODD_WRITE_COVER_TEX,ONLY : NTEX, CNAME, CLANG, NLINES 00046 USE MODD_SURF_PAR, ONLY : XUNDEF 00047 ! 00048 USE MODD_DATA_COVER, ONLY : XDATA_SEA, XDATA_WATER 00049 USE MODD_DATA_COVER_PAR, ONLY : JPCOVER 00050 USE MODD_WATER_PAR, ONLY : XALBWAT, XALBSCA_WAT, XEMISWAT 00051 USE MODD_SEAFLUX_n, ONLY : CSEA_ALB 00052 ! 00053 ! 00054 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00055 USE PARKIND1 ,ONLY : JPRB 00056 ! 00057 IMPLICIT NONE 00058 ! 00059 !* 0.1 Declaration of arguments 00060 ! ------------------------ 00061 ! 00062 ! 00063 !* 0.2 Declaration of local variables 00064 ! ------------------------------ 00065 ! 00066 ! 00067 ! 00068 INTEGER :: I,IP 00069 ! 00070 CHARACTER(LEN=6) :: YSTRING6 00071 ! 00072 CHARACTER(LEN=200):: YFMT ! fortran format 00073 ! 00074 LOGICAL :: GLINE ! flag to write an additional horizontal line 00075 ! 00076 CHARACTER(LEN=6), DIMENSION(6) :: YDATA_WATER ! water parameters 00077 REAL, DIMENSION(1) :: ZZENITH ! zenithal angle 00078 REAL, DIMENSION(1) :: ZALBEDO ! direct albedo 00079 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00080 !------------------------------------------------------------------------------- 00081 ! 00082 IF (LHOOK) CALL DR_HOOK('WRITE_COVER_TEX_WATER',0,ZHOOK_HANDLE) 00083 IF (NTEX==0 .AND. LHOOK) CALL DR_HOOK('WRITE_COVER_TEX_WATER',1,ZHOOK_HANDLE) 00084 IF (NTEX==0) RETURN 00085 ! 00086 I=0 00087 DO 00088 IF (I==JPCOVER) EXIT 00089 IF (CLANG=='EN') THEN 00090 WRITE(NTEX,*) '{\bf water parameters}\\' 00091 ELSE 00092 WRITE(NTEX,*) '{\bf param\`etres aquatiques}\\' 00093 END IF 00094 WRITE(NTEX,*) 00095 '\medskip\' WRITE(NTEX,*) '\begin{tabular}{||r|l||c|c|c|c||} 00096 ' WRITE(NTEX,*) '\hline 00097 ' WRITE(NTEX,*) '\hline 00098 ' WRITE(NTEX,*) '&&$\alpha$&$\alpha_{dir}$&$\alpha_{sca}$&$\epsilon$ 00099 ' WRITE(NTEX,*) '\hline 00100 ' WRITE(NTEX,*) '\hline 00101 00102 00103 00104 00105 00106 00107 ' IP=0 DO IF (I==JPCOVER) EXIT I=I+1 IF (XDATA_SEA(I) + XDATA_WATER(I)>0.) THEN IP=IP+1 WRITE(YSTRING6, FMT='(F3.2) 00108 00109 00110 00111 00112 ') XALBWAT YDATA_WATER(1) = YSTRING6 ZZENITH(:) = 0. ZALBEDO(:) = ALBEDO_TA96(ZZENITH) WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(ZALBEDO(1)),'.',DEC(ZALBEDO(1)),') 00113 00114 00115 00116 00117 00118 ' WRITE(YSTRING6, FMT=YFMT) ZALBEDO(1) YDATA_WATER(2) = YSTRING6 ZZENITH(:) = XPI/2. ZALBEDO(:) = ALBEDO_TA96(ZZENITH) WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(ZALBEDO(1)),'.',DEC(ZALBEDO(1)),') 00119 00120 00121 00122 ' WRITE(YSTRING6, FMT=YFMT) ZALBEDO(1) YDATA_WATER(3) = YSTRING6 WRITE(YSTRING6, FMT='(F3.2) 00123 00124 ') XALBSCA_WAT YDATA_WATER(4) = YSTRING6 WRITE(YSTRING6, FMT='(F4.2) 00125 00126 00127 00128 ') XEMISWAT YDATA_WATER(5) = YSTRING6 WRITE(NTEX,FMT=*) & I,' & ',CNAME(I),' & ',YDATA_WATER(1),' & 00129 ', & YDATA_WATER(2),'-',YDATA_WATER(3),' & 00130 ', & YDATA_WATER(4),' & 00131 ', & YDATA_WATER(5),' 00132 ' WRITE(NTEX,*) '\hline 00133 00134 00135 00136 00137 00138 ' GLINE=.TRUE. END IF CALL HLINE(NTEX,GLINE,I) IF (IP==NLINES) EXIT END DO WRITE(NTEX,*) '\end{tabular} 00139 00140 00141 '!-------------------------------------------------------------------------------! WRITE(NTEX,*) '\clearpage 00142 00143 00144 '!ENDDOIF (LHOOK) CALL DR_HOOK('WRITE_COVER_TEX_WATER 00145 00146 00147