!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- !--------------- special set of characters for RCS information !----------------------------------------------------------------- ! $Source: /srv/cvsroot/MNH-VX-Y-Z/src/MNH/ini_cturb.f90,v $ $Revision: 1.2.4.1.2.2.2.1.2.2 $ $Date: 2014/01/09 15:01:55 $ !----------------------------------------------------------------- !----------------------------------------------------------------- ! ####################### MODULE MODI_IBM_POSTVIT2 ! ####################### ! INTERFACE ! SUBROUTINE IBM_POSTVIT2(TIME,PPTAB0,PPTAB1,PPTAB2,PPTAB3,PPTAB4,PPTAB5,KTCOUNT) REAL, DIMENSION(:,:,:) ,INTENT(IN) :: PPTAB0,PPTAB1,PPTAB2,PPTAB3,PPTAB4,PPTAB5 INTEGER ,INTENT(IN) :: KTCOUNT REAL ,INTENT(IN) :: TIME END SUBROUTINE IBM_POSTVIT2 ! END INTERFACE ! END MODULE MODI_IBM_POSTVIT2 ! ! ! ! ########################################################### SUBROUTINE IBM_POSTVIT2(TIME,PPTAB0,PPTAB1,PPTAB2,PPTAB3,PPTAB4,PPTAB5,KTCOUNT) ! ########################################################### ! !!**** *IBM_POSTVIT2* - routine to write in ASCII file !! !! PURPOSE !! ------- ! The purpose of this routine is to write an ASCII file ! !! METHOD !! ------ !!! !! EXTERNAL !! -------- !! NONE !! !! IMPLICIT ARGUMENTS !! ------------------ !! !! REFERENCE !! --------- !! !! AUTHOR !! ------ !! Franck Auguste * CERFACS(AE) * !! !! MODIFICATIONS !! ------------- !! Original 01/01/2015 !! !------------------------------------------------------------------------------ ! !**** 0. DECLARATIONS ! --------------- ! ! module USE MODE_POS USE MODE_ll USE MODE_IO_ll ! ! declaration USE MODD_IBM_PARAM_n USE MODD_GRID_n, ONLY: XXHAT,XYHAT,XZZ USE MODD_DIM_n, ONLY: NIMAX,NJMAX,NKMAX USE MODD_PARAMETERS, ONLY: JPVEXT,JPHEXT USE MODD_VAR_ll, ONLY: IP USE MODD_CONF, ONLY: NHALO ! ! interface USE MODI_SHUMAN USE MODI_IBM_INTERPOS USE MODI_GATHER_ll USE MODD_CTURB ! IMPLICIT NONE ! !------------------------------------------------------------------------------ ! ! 0.1 declarations of arguments REAL, DIMENSION(:,:,:) ,INTENT(IN) :: PPTAB0,PPTAB1,PPTAB2,PPTAB3,PPTAB4,PPTAB5 INTEGER ,INTENT(IN) :: KTCOUNT REAL ,INTENT(IN) :: TIME ! !------------------------------------------------------------------------------ ! ! 0.2 declaration of local variables INTEGER :: JI,JJ,JK INTEGER :: ILUIBMWRIT1,IRESPIBMWRIT1 ! unit ASCII file REAL :: ZSUM_WRITE0,ZSUM_WRITE1,ZSUM_WRITE2,ZSUM_WRITE3,ZSUM_WRITE4 INTEGER :: NRESP,IINFO_ll ! !------------------------------------------------------------------------------ ! ! 0.3 Allocaion ! !**** 1. PRELIMINARIES ! ---------------- ! IF (KTCOUNT==0) RETURN ILUIBMWRIT1 = 106!FORT IF ((IP==1).AND.(KTCOUNT==1)) THEN OPEN(UNIT=ILUIBMWRIT1 , FILE='ibm_tked.dat', IOSTAT=IRESPIBMWRIT1 , FORM='FORMATTED' , & STATUS='NEW', POSITION='APPEND', ACCESS='SEQUENTIAL', ACTION='WRITE') ELSE OPEN(UNIT=ILUIBMWRIT1 , FILE='ibm_tked.dat', IOSTAT=IRESPIBMWRIT1 , FORM='FORMATTED' , & STATUS='OLD', POSITION='APPEND', ACCESS='SEQUENTIAL', ACTION='WRITE') ENDIF !------------------------------------------------------------------------------ ! !**** 2. EXECUTIONS ! ------------- ! ZSUM_WRITE0 = 0. ZSUM_WRITE1 = 0. ZSUM_WRITE2 = 0. ZSUM_WRITE3 = 0. ZSUM_WRITE4 = 0. ZSUM_WRITE0 = SUM3D_ll( (PPTAB0(:,:,:))*(PPTAB4(:,:,:))**(1./1.),IINFO_ll) ZSUM_WRITE1 = SUM3D_ll((PPTAB1(:,:,:)-000.)**(1./1.)*(PPTAB0(:,:,:))*(PPTAB4(:,:,:))**(1./1.),IINFO_ll) ZSUM_WRITE2 = SUM3D_ll((PPTAB2(:,:,:)-000.)**(1./1.)*(PPTAB0(:,:,:))*(PPTAB4(:,:,:))**(1./1.),IINFO_ll) ZSUM_WRITE3 = SUM3D_ll((PPTAB3(:,:,:)-000.)**(1./1.)*(PPTAB0(:,:,:))*(PPTAB4(:,:,:))**(1./1.),IINFO_ll) ZSUM_WRITE4 = SUM3D_ll((PPTAB5(:,:,:)-000.)**(1./1.)*(PPTAB0(:,:,:))*(PPTAB4(:,:,:))**(1./1.),IINFO_ll) IF (IP==1) THEN ! if mean value on the entire fluid domain ! ZSUM_WRITE1 = +ZSUM_WRITE1/ZSUM_WRITE0 ! ZSUM_WRITE2 = +ZSUM_WRITE2/ZSUM_WRITE0 ! ZSUM_WRITE3 = +ZSUM_WRITE3/ZSUM_WRITE0 ! ZSUM_WRITE4 = +ZSUM_WRITE4/ZSUM_WRITE0 WRITE(UNIT=ILUIBMWRIT1,FMT='(5(1X,E16.8E3))') TIME,ZSUM_WRITE1,ZSUM_WRITE2,ZSUM_WRITE3,ZSUM_WRITE4 ENDIF ! !------------------------------------------------------------------------------ ! !**** X. DEALLOCATIONS/CLOSES ! ----------------------- ! IF (IP==1) CLOSE(UNIT=ILUIBMWRIT1) ! RETURN ! END SUBROUTINE IBM_POSTVIT2