From 7491dc1a7ca752c145ba9b7b30b6e81e030e0931 Mon Sep 17 00:00:00 2001 From: Gaelle TANGUY <gaelle.tanguy@meteo.fr> Date: Tue, 15 Nov 2016 10:46:56 +0100 Subject: [PATCH] C.Lac 15/11/2016 : Add max values --- src/MNH/ini_mean_field.f90 | 12 ++++++++++- src/MNH/mean_field.f90 | 41 ++++++++++++++++++++++++++++++++++-- src/MNH/modd_mean_fieldn.f90 | 31 ++++++++++++++++++++++++++- 3 files changed, 80 insertions(+), 4 deletions(-) diff --git a/src/MNH/ini_mean_field.f90 b/src/MNH/ini_mean_field.f90 index 732d2a8e9..a96189e7d 100644 --- a/src/MNH/ini_mean_field.f90 +++ b/src/MNH/ini_mean_field.f90 @@ -47,6 +47,7 @@ END MODULE MODI_INI_MEAN_FIELD !! MODIFICATIONS !! ------------- !! Original 11/12/09 +!! 10/2016 (C.Lac) Add max values !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -55,6 +56,7 @@ END MODULE MODI_INI_MEAN_FIELD ! USE MODD_MEAN_FIELD_n USE MODD_MEAN_FIELD +USE MODD_PARAM_n IMPLICIT NONE ! @@ -65,7 +67,7 @@ XVM_MEAN = 0.0 XWM_MEAN = 0.0 XTHM_MEAN = 0.0 XTEMPM_MEAN = 0.0 -XTKEM_MEAN = 0.0 +IF (CTURB /= 'NONE') XTKEM_MEAN = 0.0 XPABSM_MEAN = 0.0 XU2_MEAN = 0.0 @@ -75,4 +77,12 @@ XTH2_MEAN = 0.0 XTEMP2_MEAN = 0.0 XPABS2_MEAN = 0.0 +XUM_MAX = 0.0 +XVM_MAX = 0.0 +XWM_MAX = 0.0 +XTHM_MAX = 0.0 +XTEMPM_MAX = 0.0 +IF (CTURB /= 'NONE') XTKEM_MAX = 0.0 +XPABSM_MAX = 0.0 + END SUBROUTINE INI_MEAN_FIELD diff --git a/src/MNH/mean_field.f90 b/src/MNH/mean_field.f90 index 083eb8dda..b2fd6e083 100755 --- a/src/MNH/mean_field.f90 +++ b/src/MNH/mean_field.f90 @@ -45,13 +45,16 @@ END MODULE MODI_MEAN_FIELD !! MODIFICATIONS !! ------------- !! Original 07/2009 +!! (C.Lac) 09/2016 Max values !!--------------------------------------------------------------- ! ! !* 0. DECLARATIONS ! ------------ ! +USE MODE_ll USE MODD_MEAN_FIELD_n +USE MODD_PARAM_n USE MODD_MEAN_FIELD USE MODD_CST @@ -67,8 +70,22 @@ REAL, DIMENSION(:,:,:), INTENT(IN) :: PPABST ! variables ! !* 0.2 Declarations of local variables : REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZTEMPT +INTEGER :: IIU,IJU,IKU,IIB,IJB,IKB,IIE,IJE,IKE ! Arrays bounds +INTEGER :: JI,JJ,JK ! Loop indexes !----------------------------------------------------------------------- -!1. MEAN +! +!* 0. ARRAYS BOUNDS INITIALIZATION +! +IIU=SIZE(PTHT,1) +IJU=SIZE(PTHT,2) +IKU=SIZE(PTHT,3) +CALL GET_INDICE_ll (IIB,IJB,IIE,IJE) +IKB=1+JPVEXT +IKE=IKU-JPVEXT +! +!----------------------------------------------------------------------- +! +!* 1. MEAN ! ZTEMPT = PTHT*(((PPABST)/XP00)**(XRD/XCPD)) ! @@ -77,7 +94,7 @@ REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZTEMPT XWM_MEAN = PWT + XWM_MEAN XTHM_MEAN = PTHT + XTHM_MEAN XTEMPM_MEAN = ZTEMPT + XTEMPM_MEAN - XTKEM_MEAN = PTKET + XTKEM_MEAN + IF (CTURB/='NONE') XTKEM_MEAN = PTKET + XTKEM_MEAN XPABSM_MEAN = PPABST + XPABSM_MEAN ! XU2_MEAN = PUT**2 + XU2_MEAN @@ -89,4 +106,24 @@ REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZTEMPT ! MEAN_COUNT = MEAN_COUNT + 1 ! +! +!----------------------------------------------------------------------- +! +!* 2. MAX +! + DO JK=IKB,IKE + DO JJ=IJB,IJE + DO JI=IIB,IIE + XUM_MAX(JI,JJ,JK) = MAX(XUM_MAX(JI,JJ,JK),PUT(JI,JJ,JK)) + XVM_MAX(JI,JJ,JK) = MAX(XVM_MAX(JI,JJ,JK),PVT(JI,JJ,JK)) + XWM_MAX(JI,JJ,JK) = MAX(XWM_MAX(JI,JJ,JK),PWT(JI,JJ,JK)) + XTHM_MAX(JI,JJ,JK) = MAX(XTHM_MAX(JI,JJ,JK),PTHT(JI,JJ,JK)) + XTEMPM_MAX(JI,JJ,JK) = MAX(XTEMPM_MAX(JI,JJ,JK),ZTEMPT(JI,JJ,JK)) + IF (CTURB/='NONE') XTKEM_MAX(JI,JJ,JK) = & + MAX(XTKEM_MAX(JI,JJ,JK),PTKET(JI,JJ,JK)) + XPABSM_MAX(JI,JJ,JK) = MAX(XPABSM_MAX(JI,JJ,JK),PPABST(JI,JJ,JK)) + END DO + END DO + END DO +! END SUBROUTINE MEAN_FIELD diff --git a/src/MNH/modd_mean_fieldn.f90 b/src/MNH/modd_mean_fieldn.f90 index b31126416..0bf49a62d 100644 --- a/src/MNH/modd_mean_fieldn.f90 +++ b/src/MNH/modd_mean_fieldn.f90 @@ -5,7 +5,7 @@ !----------------------------------------------------------------- !--------------- special set of characters for RCS information !----------------------------------------------------------------- -! $Source$ $Revision$ +! $Source: /home/cvsroot/MNH-VX-Y-Z/src/MNH/Attic/modd_mean_fieldn.f90,v $ $Revision: 1.1.2.1.12.1 $ ! MASDEV4_7 modd 2006/06/27 14:17:24 !----------------------------------------------------------------- ! ################### @@ -35,6 +35,7 @@ !! MODIFICATIONS !! ------------- !! Original 01/07/11 +!! 10/2016 (C.Lac) Add max values !! !------------------------------------------------------------------------------- ! @@ -56,6 +57,12 @@ TYPE MEAN_FIELD_t REAL, DIMENSION(:,:,:), POINTER :: XTEMP2_MEAN=>NULL() REAL, DIMENSION(:,:,:), POINTER :: XPABS2_MEAN=>NULL() + REAL, DIMENSION(:,:,:), POINTER :: XUM_MAX=>NULL(),XVM_MAX=>NULL(),XWM_MAX=>NULL() + REAL, DIMENSION(:,:,:), POINTER :: XTHM_MAX=>NULL() + REAL, DIMENSION(:,:,:), POINTER :: XTEMPM_MAX=>NULL() + REAL, DIMENSION(:,:,:), POINTER :: XTKEM_MAX=>NULL() + REAL, DIMENSION(:,:,:), POINTER :: XPABSM_MAX=>NULL() + INTEGER :: MEAN_COUNT @@ -75,6 +82,12 @@ REAL, DIMENSION(:,:,:), POINTER :: XTH2_MEAN=>NULL() REAL, DIMENSION(:,:,:), POINTER :: XTEMP2_MEAN=>NULL() REAL, DIMENSION(:,:,:), POINTER :: XPABS2_MEAN=>NULL() +REAL, DIMENSION(:,:,:), POINTER :: XUM_MAX=>NULL(),XVM_MAX=>NULL(),XWM_MAX=>NULL() +REAL, DIMENSION(:,:,:), POINTER :: XTHM_MAX=>NULL() +REAL, DIMENSION(:,:,:), POINTER :: XTEMPM_MAX=>NULL() +REAL, DIMENSION(:,:,:), POINTER :: XTKEM_MAX=>NULL() +REAL, DIMENSION(:,:,:), POINTER :: XPABSM_MAX=>NULL() + INTEGER, POINTER :: MEAN_COUNT =>NULL() CONTAINS @@ -91,6 +104,14 @@ MEAN_FIELD_MODEL(KFROM)%XTEMPM_MEAN=>XTEMPM_MEAN MEAN_FIELD_MODEL(KFROM)%XTKEM_MEAN=>XTKEM_MEAN MEAN_FIELD_MODEL(KFROM)%XPABSM_MEAN=>XPABSM_MEAN +MEAN_FIELD_MODEL(KFROM)%XUM_MAX=>XUM_MAX +MEAN_FIELD_MODEL(KFROM)%XVM_MAX=>XVM_MAX +MEAN_FIELD_MODEL(KFROM)%XWM_MAX=>XWM_MAX +MEAN_FIELD_MODEL(KFROM)%XTHM_MAX=>XTHM_MAX +MEAN_FIELD_MODEL(KFROM)%XTEMPM_MAX=>XTEMPM_MAX +MEAN_FIELD_MODEL(KFROM)%XTKEM_MAX=>XTKEM_MAX +MEAN_FIELD_MODEL(KFROM)%XPABSM_MAX=>XPABSM_MAX + MEAN_FIELD_MODEL(KFROM)%XU2_MEAN=>XU2_MEAN MEAN_FIELD_MODEL(KFROM)%XV2_MEAN=>XV2_MEAN MEAN_FIELD_MODEL(KFROM)%XW2_MEAN=>XW2_MEAN @@ -108,6 +129,14 @@ XTEMPM_MEAN=>MEAN_FIELD_MODEL(KTO)%XTEMPM_MEAN XTKEM_MEAN=>MEAN_FIELD_MODEL(KTO)%XTKEM_MEAN XPABSM_MEAN=>MEAN_FIELD_MODEL(KTO)%XPABSM_MEAN +XUM_MAX=>MEAN_FIELD_MODEL(KTO)%XUM_MAX +XVM_MAX=>MEAN_FIELD_MODEL(KTO)%XVM_MAX +XWM_MAX=>MEAN_FIELD_MODEL(KTO)%XWM_MAX +XTHM_MAX=>MEAN_FIELD_MODEL(KTO)%XTHM_MAX +XTEMPM_MAX=>MEAN_FIELD_MODEL(KTO)%XTEMPM_MAX +XTKEM_MAX=>MEAN_FIELD_MODEL(KTO)%XTKEM_MAX +XPABSM_MAX=>MEAN_FIELD_MODEL(KTO)%XPABSM_MAX + XU2_MEAN=>MEAN_FIELD_MODEL(KTO)%XU2_MEAN XV2_MEAN=>MEAN_FIELD_MODEL(KTO)%XV2_MEAN XW2_MEAN=>MEAN_FIELD_MODEL(KTO)%XW2_MEAN -- GitLab