!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_INIDIV ! ######################## ! INTERFACE ! SUBROUTINE IBM_INIDIV(PPHI) ! REAL, DIMENSION(:,:,:,:) ,INTENT(IN) :: PPHI ! END SUBROUTINE IBM_INIDIV ! END INTERFACE ! END MODULE MODI_IBM_INIDIV ! ! ! ! ############################# SUBROUTINE IBM_INIDIV(PPHI) ! ############################# ! !!**** *IBM_INIDIV* - routine to initialize the pressure !! !! PURPOSE !! ------- ! The purpose of this routine is to initialize the pressure ! in regard of the immersed boundaries and the imposed velocity field ! !! METHOD !! ------ !! !! EXTERNAL !! -------- !! NONE !! !! IMPLICIT ARGUMENTS !! ------------------ !! !! REFERENCE !! --------- !! !! AUTHOR !! ------ !! Franck Auguste * CERFACS(AE) * !! !! MODIFICATIONS !! ------------- !! Original 01/01/2015 !! !------------------------------------------------------------------------------ ! !**** 0. DECLARATIONS ! --------------- ! ! module USE MODE_ll USE MODE_IO_ll USE MODD_ARGSLIST_ll, ONLY : LIST_ll ! ! declaration USE MODD_IBM_PARAM_n USE MODI_IBM_FORCING USE MODI_IBM_WRITE3 USE MODI_IBM_WRITE USE MODD_PARAMETERS, ONLY: JPVEXT,JPHEXT!!!!!!!!!!!!!!!!! USE MODD_GRID_n, ONLY: XXHAT,XYHAT,XZZ USE MODD_METRICS_n, ONLY: XDXX,XDYY,XDZZ,XDZX,XDZY USE MODD_VAR_ll, ONLY: IP USE MODD_LBC_n ! ! interface USE MODI_IBM_AFFECTV USE MODI_SECOND_MNH ! USE MODE_ELEC_ll ! USE MODE_FM ! USE MODD_TIME USE MODD_DYN USE MODD_DYNZD USE MODD_CONF USE MODD_NESTING USE MODD_FMOUT USE MODD_BUDGET USE MODD_PARAMETERS USE MODD_PARAM_ICE, ONLY : LWARM,LSEDIC,LCONVHG USE MODD_FRC USE MODD_AIRCRAFT_BALLOON USE MODD_STATION_n USE MODD_PROFILER_n USE MODD_PARAM_C2R2, ONLY : LSEDC, LRAIN, LACTIT USE MODD_PARAM_C1R3, ONLY : LSEDI, LHHONI USE MODD_LES USE MODD_LES_BUDGET USE MODD_LUNIT USE MODD_GRID, ONLY: XLONORI,XLATORI USE MODD_SERIES, ONLY: LSERIES USE MODD_TURB_CLOUD, ONLY: NMODEL_CLOUD,CTURBLEN_CLOUD,XCEI ! USE MODD_SUB_MODEL_n USE MODD_GET_n USE MODD_CONF_n USE MODD_CURVCOR_n USE MODD_DIM_n USE MODD_DYN_n USE MODD_DYNZD_n USE MODD_ADV_n USE MODD_FIELD_n USE MODD_PAST_FIELD_n USE MODD_MEAN_FIELD_n USE MODD_MEAN_FIELD USE MODD_LSFIELD_n USE MODD_GRID_n USE MODD_METRICS_n USE MODD_LBC_n USE MODD_PARAM_n USE MODD_REF_n USE MODD_FRC_n USE MODD_LUNIT_n USE MODD_OUT_n USE MODD_TIME_n USE MODD_TURB_n USE MODD_CLOUDPAR_n USE MODD_PRECIP_n USE MODD_BIKHARDT_n USE MODD_DEEP_CONVECTION_n USE MODD_NSV USE MODD_RADIATIONS_n, ONLY : XTSRAD,XSCAFLASWD,XDIRFLASWD,XDIRSRFSWD, XAER USE MODD_SERIES_n, ONLY: NFREQSERIES USE MODD_CH_AERO_n, ONLY: XSOLORG, XMI USE MODD_CH_MNHC_n, ONLY: LUSECHEM,LCH_CONV_LINOX,LUSECHAQ,LUSECHIC, & LCH_INIT_FIELD USE MODD_NUDGING_n USE MODD_PARAM_MFSHALL_n USE MODD_ELEC_DESCR ! USE MODD_CLOUD_MF_n USE MODI_INITIAL_GUESS USE MODI_MEAN_FIELD USE MODI_BOUNDARIES USE MODI_ADVECTION_METSV USE MODI_ADVECTION_UVW USE MODI_ADVECTION_UVW_CEN USE MODI_GRAVITY_IMPL USE MODI_DYN_SOURCES USE MODI_RELAXATION USE MODI_NUM_DIFF USE MODI_PHYS_PARAM_n USE MODI_RAD_BOUND USE MODI_PRESSUREZ USE MODI_ENDSTEP USE MODI_EXCHANGE USE MODI_RESOLVED_CLOUD USE MODI_RESOLVED_ELEC_n USE MODI_RELAX2FW_ION USE MODI_LS_COUPLING USE MODI_WRITE_DESFM_n USE MODI_WRITE_LFIFM_n USE MODI_MNHWRITE_ZS_DUMMY_n USE MODI_ENDSTEP_BUDGET USE MODI_BUDGET_FLAGS USE MODI_ADD_FORECAST_TO_DATE USE MODI_FORCING USE MODI_ADV_FORCING_n USE MODI_REL_FORCING_n USE MODI_NUDGING USE MODI_TEMPORAL_DIST USE MODI_WRITE_LFIFMN_FORDIACHRO_n USE MODI_MENU_DIACHRO USE MODI_MASK_COMPRESS USE MODI_CART_COMPRESS USE MODI_SHUMAN USE MODI_ONE_WAY_n USE MODI_TWO_WAY USE MODI_SPAWN_LS_n USE MODI_LES_INI_TIMESTEP_n USE MODI_WRITE_LES_n USE MODI_AIRCRAFT_BALLOON USE MODI_WRITE_AIRCRAFT_BALLOON USE MODI_UPDATE_NSV USE MODI_PROFILER_n USE MODI_STATION_n USE MODI_WRITE_SERIES_n USE MODI_WRITE_PROFILER_n USE MODI_WRITE_STATION_n USE MODI_MNHGET_SURF_PARAM_n USE MODI_INI_DIAG_IN_RUN USE MODI_END_DIAG_IN_RUN USE MODI_TURB_CLOUD_INDEX USE MODI_INI_LG USE MODI_INI_MEAN_FIELD ! USE MODE_MODELN_HANDLER ! USE MODD_2D_FRC USE MODD_TIMEZ USE MODE_MNH_TIMING ! USE MODI_SETLB_LG USE MODI_GOTO_SURFEX USE MODI_WRITE_SURF_ATM_N USE MODI_SET_MASK USE MODI_DIAG_SURF_ATM_N USE MODI_WRITE_DIAG_SURF_ATM_N USE MODI_SERIES_N USE MODI_LES_N ! #ifdef MNH_NCWRIT USE MODN_NCOUT USE MODE_UTIL #endif USE MODI_GET_HALO IMPLICIT NONE ! !------------------------------------------------------------------------------ ! ! 0.1 declarations of arguments REAL, DIMENSION(:,:,:,:) ,INTENT(IN) :: PPHI ! !------------------------------------------------------------------------------ ! ! 0.2 declaration of local variables REAL :: ZTIME0,ZTIME1,ZTIME2 TYPE(LIST_ll), POINTER :: TZFIELD_ll INTEGER :: IINFO_ll INTEGER :: KIBM_ITR INTEGER :: IIU,IJU,IKU,JM REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZDIV_M ! !------------------------------------------------------------------------------ ! ! 0.3 Allocation ! !------------------------------------------------------------------------------ ! !**** 1. PRELIMINARIES ! ---------------- IIU = SIZE(XUT,1) IJU = SIZE(XVT,2) IKU = SIZE(XWT,3) ! !------------------------------------------------------------------------------- ! !**** 2. EXECUTIONS ! ------------- ! ! Carateristic divergence ALLOCATE(ZDIV_M(IIU,IJU,IKU)) ZDIV_M = XIBM_VIT/(XRHODJ/XRHODREF)**(1./3.) / XTSTEP * XRHODJ XIBM_DIV = MAX_ll(ABS(ZDIV_M),IINFO_ll) DEALLOCATE(ZDIV_M) XIBM_CFL=XIBM_VIT/(XRHODJ(3,3,3)/XRHODREF(3,3,3))**(1./3.)*XTSTEP ! END SUBROUTINE IBM_INIDIV