SURFEX v7.3
General documentation of Surfex
|
00001 ! 00002 ! ########################## 00003 SUBROUTINE WRITE_BUDGET_COUPL_ROUT 00004 ! ########################## 00005 ! 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 ! 00010 ! 00011 !!** METHOD 00012 !! ------ 00013 ! 00014 !! EXTERNAL 00015 !! -------- 00016 !! 00017 !! none 00018 !! 00019 !! IMPLICIT ARGUMENTS 00020 !! ------------------ 00021 !! 00022 !! REFERENCE 00023 !! --------- 00024 !! 00025 !! AUTHOR 00026 !! ------ 00027 !! 00028 !! L. Bouilloud & B. Vincendon * Meteo-France * 00029 !! 00030 !! MODIFICATIONS 00031 !! ------------- 00032 !! 00033 !! Original 03/2008 00034 !------------------------------------------------------------------------------- 00035 ! 00036 !* 0. DECLARATIONS 00037 ! ------------ 00038 ! 00039 ! 00040 USE MODD_TOPODYN, ONLY : CCAT, NNCAT, NNB_TOPD_STEP 00041 USE MODD_BUDGET_COUPL_ROUT 00042 ! 00043 USE MODI_OPEN_FILE 00044 USE MODI_CLOSE_FILE 00045 ! 00046 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00047 USE PARKIND1 ,ONLY : JPRB 00048 ! 00049 IMPLICIT NONE 00050 ! 00051 !* 0.1 declarations of arguments 00052 ! none 00053 !* 0.2 declarations of local variables 00054 INTEGER :: JCAT,JSTP ! loop control 00055 INTEGER :: IUNIT ! file unit numbers 00056 CHARACTER(LEN=28) :: YFILE ! file name 00057 CHARACTER(LEN=40) :: YFORM ! Writing format 00058 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00059 !------------------------------------------------------------------------------- 00060 IF (LHOOK) CALL DR_HOOK('WRITE_BUDGET_COUPL_ROUT',0,ZHOOK_HANDLE) 00061 ! 00062 !* 1. WRITING BUDGET FILES 00063 ! ------------ 00064 ! 00065 DO JCAT=1,NNCAT 00066 ! 00067 YFORM='(i6,10f15.1)' 00068 YFILE=TRIM('bilan_bv_')//TRIM(CCAT(JCAT))//TRIM('.txt') 00069 ! 00070 CALL OPEN_FILE('ASCII ',IUNIT,HFILE=YFILE,HFORM='FORMATTED',HACTION='WRITE') 00071 ! 00072 WRITE(IUNIT,*) ' T',' ',YB_VAR(1),' ',YB_VAR(2),' ',& 00073 YB_VAR(3),' ',YB_VAR(4),' ',& 00074 YB_VAR(5),' ',YB_VAR(6),' ',& 00075 YB_VAR(7),' ',YB_VAR(8),' ',& 00076 YB_VAR(9),' ',YB_VAR(10) 00077 ! 00078 DO JSTP=1,NNB_TOPD_STEP 00079 WRITE(IUNIT,YFORM) JSTP,XB_VAR_BV(JSTP,JCAT,1:10) 00080 ENDDO 00081 ! 00082 CALL CLOSE_FILE('ASCII ',IUNIT) 00083 ! 00084 YFILE=TRIM('bilan_nobv_')//TRIM(CCAT(JCAT))//TRIM('.txt') 00085 ! 00086 CALL OPEN_FILE('ASCII ',IUNIT,HFILE=YFILE,HFORM='FORMATTED',HACTION='WRITE') 00087 ! 00088 WRITE(IUNIT,*) ' T',' ',YB_VAR(1),' ',YB_VAR(2),' ',& 00089 YB_VAR(3),' ',YB_VAR(4),' ',& 00090 YB_VAR(5),' ',YB_VAR(6),' ',& 00091 YB_VAR(7),' ',YB_VAR(8),' ',& 00092 YB_VAR(9),' ',YB_VAR(10) 00093 ! 00094 DO JSTP=1,NNB_TOPD_STEP 00095 WRITE(IUNIT,YFORM) JSTP,XB_VAR_NOBV(JSTP,JCAT,1:10) 00096 ENDDO 00097 ! 00098 CALL CLOSE_FILE('ASCII ',IUNIT) 00099 ! 00100 YFORM='(i6,5f15.1)' 00101 YFILE=TRIM('bilan_q.txt') 00102 ! 00103 CALL OPEN_FILE('ASCII ',IUNIT,HFILE=YFILE,HFORM='FORMATTED',HACTION='WRITE') 00104 ! 00105 WRITE(IUNIT,*) ' T',' ',YB_VARQ(1),' ',YB_VARQ(2),' ',& 00106 YB_VARQ(3),' ',YB_VARQ(4),' ',& 00107 YB_VARQ(5),' ' 00108 ! 00109 DO JSTP=1,NNB_TOPD_STEP 00110 WRITE(IUNIT,YFORM) JSTP,XB_VAR_Q(JSTP,JCAT,1:5) 00111 ENDDO 00112 ! 00113 CALL CLOSE_FILE('ASCII ',IUNIT) 00114 ! ENDIF 00115 ! 00116 ENDDO !JCAT 00117 00118 YFORM='(i6,10f15.1)' 00119 YFILE=TRIM('bilan_tot.txt') 00120 ! 00121 CALL OPEN_FILE('ASCII ',IUNIT,HFILE=YFILE,HFORM='FORMATTED',HACTION='WRITE') 00122 ! 00123 WRITE(IUNIT,*) ' T',' ',YB_VAR(1),' ',YB_VAR(2),' ',& 00124 YB_VAR(3),' ',YB_VAR(4),' ',& 00125 YB_VAR(5),' ',YB_VAR(6),' ',& 00126 YB_VAR(7),' ',YB_VAR(8),' ',& 00127 YB_VAR(9),' ',YB_VAR(10) 00128 ! 00129 DO JSTP=1,NNB_TOPD_STEP 00130 WRITE(IUNIT,YFORM) JSTP,XB_VAR_TOT(JSTP,1:10) 00131 ENDDO 00132 ! 00133 CALL CLOSE_FILE('ASCII ',IUNIT) 00134 ! 00135 IF (LHOOK) CALL DR_HOOK('WRITE_BUDGET_COUPL_ROUT',1,ZHOOK_HANDLE) 00136 ! 00137 END SUBROUTINE WRITE_BUDGET_COUPL_ROUT