diff --git a/src/MNH/advection_metsv.f90 b/src/MNH/advection_metsv.f90 index 76d9312c3db62c1080405d7a513a6486713b4986..a585c3f9944087e86942526a7a3cec09056a712e 100644 --- a/src/MNH/advection_metsv.f90 +++ b/src/MNH/advection_metsv.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -8,7 +8,7 @@ ! ########################### ! INTERFACE - SUBROUTINE ADVECTION_METSV (TPFILE, OCLOSE_OUT,HUVW_ADV_SCHEME, & + SUBROUTINE ADVECTION_METSV (TPFILE, HUVW_ADV_SCHEME, & HMET_ADV_SCHEME,HSV_ADV_SCHEME, HCLOUD, KSPLIT, & OSPLIT_CFL, PSPLIT_CFL, OCFL_WRIT, & HLBCX, HLBCY, KRR, KSV, TPDTCUR, PTSTEP, & @@ -20,8 +20,6 @@ INTERFACE USE MODD_IO, ONLY: TFILEDATA USE MODD_TYPE_DATE, ONLY: DATE_TIME ! -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file CHARACTER(LEN=6), INTENT(IN) :: HMET_ADV_SCHEME, & ! Control of the HSV_ADV_SCHEME, & ! scheme applied @@ -64,7 +62,7 @@ END INTERFACE ! END MODULE MODI_ADVECTION_METSV ! ########################################################################## - SUBROUTINE ADVECTION_METSV (TPFILE, OCLOSE_OUT,HUVW_ADV_SCHEME, & + SUBROUTINE ADVECTION_METSV (TPFILE, HUVW_ADV_SCHEME, & HMET_ADV_SCHEME,HSV_ADV_SCHEME, HCLOUD, KSPLIT, & OSPLIT_CFL, PSPLIT_CFL, OCFL_WRIT, & HLBCX, HLBCY, KRR, KSV, TPDTCUR, PTSTEP, & @@ -184,8 +182,6 @@ IMPLICIT NONE ! !* 0.1 Declarations of dummy arguments : ! -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for synchronous - ! file opening TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file CHARACTER(LEN=6), INTENT(IN) :: HMET_ADV_SCHEME, & ! Control of the HSV_ADV_SCHEME, & ! scheme applied @@ -355,7 +351,7 @@ END IF ! !* prints in the file the 3D Courant numbers (one should flag this) ! -IF (OCLOSE_OUT .AND. OCFL_WRIT .AND. (.NOT. L1D)) THEN +IF ( tpfile%lopened .AND. OCFL_WRIT .AND. (.NOT. L1D) ) THEN TZFIELD%CMNHNAME = 'CFLU' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'CFLU' diff --git a/src/MNH/c2r2_adjust.f90 b/src/MNH/c2r2_adjust.f90 index 974bdefb90b7d8d0a1438d8ef32475cda3277a52..b97914d1af619016ef85478e6aa2c275eb31421c 100644 --- a/src/MNH/c2r2_adjust.f90 +++ b/src/MNH/c2r2_adjust.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE C2R2_ADJUST(KRR, TPFILE, HRAD, & - HTURBDIM, OCLOSE_OUT, OSUBG_COND, PTSTEP, & + HTURBDIM, OSUBG_COND, PTSTEP, & PRHODJ, PSIGS, PPABST, & PTHS, PRVS, PRCS, PCNUCS, & PCCS, PSRCS, PCLDFR, PRRS ) @@ -21,7 +21,6 @@ INTEGER, INTENT(IN) :: KRR ! Number of moist TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! Dimensionality of the turbulence scheme CHARACTER(len=4), INTENT(IN) :: HRAD ! Radiation scheme name -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of the OUTPUT file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for Subgrid condensation REAL, INTENT(IN) :: PTSTEP ! Double Time step (single if cold start) ! @@ -46,7 +45,7 @@ END INTERFACE END MODULE MODI_C2R2_ADJUST ! ########################################################################## SUBROUTINE C2R2_ADJUST(KRR, TPFILE, HRAD, & - HTURBDIM, OCLOSE_OUT, OSUBG_COND, PTSTEP, & + HTURBDIM, OSUBG_COND, PTSTEP, & PRHODJ, PSIGS, PPABST, & PTHS, PRVS, PRCS, PCNUCS, & PCCS, PSRCS, PCLDFR, PRRS ) @@ -167,7 +166,6 @@ INTEGER, INTENT(IN) :: KRR ! Number of moist TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! Dimensionality of the turbulence scheme CHARACTER(len=4), INTENT(IN) :: HRAD ! Radiation scheme name -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of the OUTPUT file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for Subgrid condensation REAL, INTENT(IN) :: PTSTEP ! Double Time step (single if cold start) ! @@ -406,7 +404,7 @@ IF ( HRAD /= 'NONE' ) THEN PCLDFR(:,:,:) = ZW1(:,:,:) END IF ! -IF ( OCLOSE_OUT ) THEN +IF ( tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'NEB' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'NEB' diff --git a/src/MNH/diag.f90 b/src/MNH/diag.f90 index 78e1f4cce29f71dfa0385405030e893c4016d638..24d921c97a8ed136ccbfe6acd0e29110e9b8b4a0 100644 --- a/src/MNH/diag.f90 +++ b/src/MNH/diag.f90 @@ -193,7 +193,6 @@ REAL(kind=MNHTIME), DIMENSION(2) :: ZTIME0, ZTIME1, ZTIME2, ZRAD, ZDCONV, ZSHADO ZTRACER, ZDRAG, ZTURB, ZMAFL, ZCHEM, ZTIME_BU ! CPU times REAL(kind=MNHTIME), DIMENSION(2) :: ZSTART, ZINIT, ZWRIT, ZBALL, ZPHYS, ZSURF, ZWRITS, ZTRAJ ! storing variables INTEGER(KIND=LFIINT) :: INPRAR ! number of articles predicted in the LFIFM file -LOGICAL :: GCLOSE_OUT = .FALSE. ! conditional closure of the OUTPUT FM-file INTEGER :: ISTEPBAL ! loop indice for balloons and aircraft INTEGER :: ILUNAM ! Logical unit numbers for the namelist file ! and for output_listing file @@ -683,7 +682,6 @@ END IF ! !* call to physics monitor ! -GCLOSE_OUT=.TRUE. ZRAD = 0.0_MNHTIME ZSHADOWS = 0.0_MNHTIME ZDCONV = 0.0_MNHTIME @@ -696,9 +694,9 @@ ZCHEM = 0.0_MNHTIME XTIME_LES = 0.0_MNHTIME XTIME_LES_BU_PROCESS = 0.0_MNHTIME XTIME_BU_PROCESS = 0.0_MNHTIME -CALL PHYS_PARAM_n(1,TOUTDATAFILE,GCLOSE_OUT, & - ZRAD,ZSHADOWS,ZDCONV,ZGROUND,ZMAFL,ZDRAG, & - ZTURB,ZTRACER, ZTIME_BU,ZWETDEPAER,GMASKkids,GCLOUD_ONLY) +CALL PHYS_PARAM_n( 1, TOUTDATAFILE, & + ZRAD, ZSHADOWS, ZDCONV, ZGROUND, ZMAFL, ZDRAG, & + ZTURB, ZTRACER, ZTIME_BU, ZWETDEPAER, GMASKkids, GCLOUD_ONLY ) WRITE(ILUOUT0,*) 'DIAG AFTER PHYS_PARAM1' IF (LCHEMDIAG) THEN CALL CH_MONITOR_n(ZWETDEPAER,1,XTSTEP, ILUOUT0, NVERB) @@ -759,11 +757,8 @@ ZTIME1=ZTIME2 ! DEALLOCATE(GMASKkids) DEALLOCATE(ZWETDEPAER) -IF (GCLOSE_OUT) THEN - GCLOSE_OUT=.FALSE. - CALL IO_File_close(TOUTDATAFILE) -END IF ! +CALL IO_File_close(TOUTDATAFILE) CALL IO_File_close(TINIFILE) IF (LEN_TRIM(CINIFILEPGD)>0) CALL IO_File_close(TINIFILEPGD) CALL IO_File_close(TLUOUT) diff --git a/src/MNH/khko_notadjust.f90 b/src/MNH/khko_notadjust.f90 index 3f6f1c8d843915674ee95ae09a6a06f7041684d0..a6fc11057f16f464bb62f3938f289457f73969f1 100644 --- a/src/MNH/khko_notadjust.f90 +++ b/src/MNH/khko_notadjust.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2013-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2013-2021 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. @@ -9,11 +9,11 @@ ! INTERFACE ! - SUBROUTINE KHKO_NOTADJUST(KRR, KTCOUNT, TPFILE, HRAD, OCLOSE_OUT, & + SUBROUTINE KHKO_NOTADJUST(KRR, KTCOUNT, TPFILE, HRAD, & PTSTEP, PRHODJ, PPABSM, PPABST, PRHODREF, PZZ, & PTHT,PRVT,PRCT,PRRT, & PTHS, PRVS, PRCS, PRRS, PCCS, PCNUCS, PSAT, & - PCLDFR, PSRCS, PNPRO,PSSPRO ) + PCLDFR, PSRCS, PNPRO,PSSPRO ) ! USE MODD_IO, ONLY: TFILEDATA ! @@ -21,9 +21,6 @@ INTEGER, INTENT(IN) :: KRR ! Number of moist variables INTEGER, INTENT(IN) :: KTCOUNT ! Number of moist variables TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file CHARACTER(len=4), INTENT(IN) :: HRAD ! Radiation scheme name -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the OUTPUT FM-file - ! Condensation REAL, INTENT(IN) :: PTSTEP ! Double Time step ! (single if cold start) ! @@ -59,13 +56,13 @@ END INTERFACE ! END MODULE MODI_KHKO_NOTADJUST ! -! ################################################################################ - SUBROUTINE KHKO_NOTADJUST(KRR, KTCOUNT, TPFILE, HRAD, OCLOSE_OUT, & +! ############################################################################### + SUBROUTINE KHKO_NOTADJUST(KRR, KTCOUNT, TPFILE, HRAD, & PTSTEP, PRHODJ, PPABSM, PPABST, PRHODREF, PZZ, & PTHT,PRVT,PRCT,PRRT, & PTHS, PRVS, PRCS, PRRS, PCCS, PCNUCS, PSAT, & - PCLDFR, PSRCS, PNPRO,PSSPRO ) -! ################################################################################ + PCLDFR, PSRCS, PNPRO,PSSPRO ) +! ############################################################################### ! !!**** * - compute pseudo-prognostic of supersaturation according to Thouron ! et al. 2012 @@ -127,9 +124,6 @@ INTEGER, INTENT(IN) :: KRR ! Number of moist variables INTEGER, INTENT(IN) :: KTCOUNT ! Number of moist variables TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file CHARACTER(len=4), INTENT(IN) :: HRAD ! Radiation scheme name -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the OUTPUT FM-file - ! Condensation REAL, INTENT(IN) :: PTSTEP ! Double Time step ! (single if cold start) ! @@ -392,7 +386,7 @@ END IF PNPRO(:,:,:) = 0.0 PNPRO(:,:,:) = ZACT(:,:,:) ! -IF ( OCLOSE_OUT ) THEN +IF ( tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'SURSAT' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'SURSAT' diff --git a/src/MNH/lima.f90 b/src/MNH/lima.f90 index 450913968ef7105daff3b8cbe73e4cddcba5728b..3c95e00ab3a21e76dbe3aa82514164654b31b1a5 100644 --- a/src/MNH/lima.f90 +++ b/src/MNH/lima.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2013-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2013-2021 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. @@ -10,7 +10,7 @@ MODULE MODI_LIMA INTERFACE ! SUBROUTINE LIMA ( KKA, KKU, KKL, & - PTSTEP, TPFILE, OCLOSE_OUT, & + PTSTEP, TPFILE, & PRHODREF, PEXNREF, PDZZ, & PRHODJ, PPABSM, PPABST, & NCCN, NIFN, NIMM, & @@ -28,7 +28,6 @@ INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH -1=ARO ! REAL, INTENT(IN) :: PTSTEP ! Time step TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of output ! REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF ! Reference density REAL, DIMENSION(:,:,:), INTENT(IN) :: PEXNREF ! Reference Exner function @@ -68,7 +67,7 @@ END MODULE MODI_LIMA ! ! ######spl SUBROUTINE LIMA ( KKA, KKU, KKL, & - PTSTEP, TPFILE, OCLOSE_OUT, & + PTSTEP, TPFILE, & PRHODREF, PEXNREF, PDZZ, & PRHODJ, PPABSM, PPABST, & NCCN, NIFN, NIMM, & @@ -145,7 +144,6 @@ INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH -1=ARO ! REAL, INTENT(IN) :: PTSTEP ! Time step TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of output ! REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF ! Reference density REAL, DIMENSION(:,:,:), INTENT(IN) :: PEXNREF ! Reference Exner function @@ -738,7 +736,7 @@ IF ( LCOLD ) ZCIT(:,:,:) = ZCIS(:,:,:) * PTSTEP !* 2. Nucleation processes ! -------------------- ! -CALL LIMA_NUCLEATION_PROCS (PTSTEP, TPFILE, OCLOSE_OUT, PRHODJ, & +CALL LIMA_NUCLEATION_PROCS (PTSTEP, TPFILE, PRHODJ, & PRHODREF, ZEXN, PPABST, ZT, PDTHRAD, PW_NU, & ZTHT, ZRVT, ZRCT, ZRRT, ZRIT, ZRST, ZRGT, & ZCCT, ZCRT, ZCIT, & diff --git a/src/MNH/lima_adjust.f90 b/src/MNH/lima_adjust.f90 index 3dbd22694b4e552a82d05eb52b61afaa4415c723..0c0e8af9a77719cd4ad3323b312415efe783745e 100644 --- a/src/MNH/lima_adjust.f90 +++ b/src/MNH/lima_adjust.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2013-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2013-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE LIMA_ADJUST(KRR, KMI, TPFILE, HRAD, & - HTURBDIM, OCLOSE_OUT, OSUBG_COND, PTSTEP, & + HTURBDIM, OSUBG_COND, PTSTEP, & PRHODREF, PRHODJ, PEXNREF, PPABSM, PSIGS, PPABST, & PRT, PRS, PSVT, PSVS, & PTHS, PSRCS, PCLDFR ) @@ -24,8 +24,6 @@ TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! Dimensionality of the ! turbulence scheme CHARACTER(len=4), INTENT(IN) :: HRAD ! Radiation scheme name -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the OUTPUT FM-file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for Subgrid ! Condensation REAL, INTENT(IN) :: PTSTEP ! Time step @@ -61,7 +59,7 @@ END MODULE MODI_LIMA_ADJUST ! ! ########################################################################## SUBROUTINE LIMA_ADJUST(KRR, KMI, TPFILE, HRAD, & - HTURBDIM, OCLOSE_OUT, OSUBG_COND, PTSTEP, & + HTURBDIM, OSUBG_COND, PTSTEP, & PRHODREF, PRHODJ, PEXNREF, PPABSM, PSIGS, PPABST, & PRT, PRS, PSVT, PSVS, & PTHS, PSRCS, PCLDFR ) @@ -179,8 +177,6 @@ TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! Dimensionality of the ! turbulence scheme CHARACTER(len=4), INTENT(IN) :: HRAD ! Radiation scheme name -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the OUTPUT FM-file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for Subgrid ! Condensation REAL, INTENT(IN) :: PTSTEP ! Time step @@ -1149,7 +1145,7 @@ END IF ! PCLDFR(:,:,:) = ZW(:,:,:) ! -IF ( OCLOSE_OUT ) THEN +IF ( tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'NEB' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'NEB' @@ -1199,7 +1195,7 @@ END IF ! ! write SSI in LFI ! -IF ( OCLOSE_OUT ) THEN +IF ( tpfile%lopened ) THEN ZT(:,:,:) = ( PTHS(:,:,:) * ZDT ) * ZEXNS(:,:,:) ZW(:,:,:) = EXP( XALPI - XBETAI/ZT(:,:,:) - XGAMI*ALOG(ZT(:,:,:) ) ) ZW1(:,:,:)= 2.0*PPABST(:,:,:)-PPABSM(:,:,:) diff --git a/src/MNH/lima_ccn_activation.f90 b/src/MNH/lima_ccn_activation.f90 index 11c08da021a3b016ed3f1ddde9f2a116bf70d114..85a23d7770703d803e15fec6e967ae8df7f9b308 100644 --- a/src/MNH/lima_ccn_activation.f90 +++ b/src/MNH/lima_ccn_activation.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2013-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2013-2021 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. @@ -8,7 +8,7 @@ ! ############################### ! INTERFACE - SUBROUTINE LIMA_CCN_ACTIVATION (PTSTEP, TPFILE, OCLOSE_OUT, & + SUBROUTINE LIMA_CCN_ACTIVATION (PTSTEP, TPFILE, & PRHODREF, PEXNREF, PPABST, PT, PDTHRAD, PW_NU, & PTHT, PRVT, PRCT, PCCT, PRRT, PNFT, PNAT ) USE MODD_IO, ONLY: TFILEDATA @@ -16,8 +16,6 @@ USE MODD_IO, ONLY: TFILEDATA REAL, INTENT(IN) :: PTSTEP ! Double Time step ! (single if cold start) TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the output FM file ! REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF ! Reference density REAL, DIMENSION(:,:,:), INTENT(IN) :: PEXNREF ! Reference Exner function @@ -40,7 +38,7 @@ END SUBROUTINE LIMA_CCN_ACTIVATION END INTERFACE END MODULE MODI_LIMA_CCN_ACTIVATION ! ############################################################################# - SUBROUTINE LIMA_CCN_ACTIVATION (PTSTEP, TPFILE, OCLOSE_OUT, & + SUBROUTINE LIMA_CCN_ACTIVATION (PTSTEP, TPFILE, & PRHODREF, PEXNREF, PPABST, PT, PDTHRAD, PW_NU, & PTHT, PRVT, PRCT, PCCT, PRRT, PNFT, PNAT ) ! ############################################################################# @@ -118,8 +116,6 @@ IMPLICIT NONE REAL, INTENT(IN) :: PTSTEP ! Double Time step ! (single if cold start) TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the output FM file ! REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF ! Reference density REAL, DIMENSION(:,:,:), INTENT(IN) :: PEXNREF ! Reference Exner function @@ -461,7 +457,7 @@ IF( INUCT >= 1 ) THEN ! END IF ! INUCT ! -IF ( OCLOSE_OUT ) THEN +IF ( tpfile%lopened ) THEN TZFIELD%CMNHNAME ='SMAX' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME) diff --git a/src/MNH/lima_nucleation_procs.f90 b/src/MNH/lima_nucleation_procs.f90 index a7d11b0983ee48575c435190a6856c1e9610befb..c21a21f87666c2ee79147d7b07eafb725b7f84ea 100644 --- a/src/MNH/lima_nucleation_procs.f90 +++ b/src/MNH/lima_nucleation_procs.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2013-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2013-2021 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. @@ -8,7 +8,7 @@ ! ############################### ! INTERFACE - SUBROUTINE LIMA_NUCLEATION_PROCS (PTSTEP, TPFILE, OCLOSE_OUT, PRHODJ, & + SUBROUTINE LIMA_NUCLEATION_PROCS (PTSTEP, TPFILE, PRHODJ, & PRHODREF, PEXNREF, PPABST, PT, PDTHRAD, PW_NU, & PTHT, PRVT, PRCT, PRRT, PRIT, PRST, PRGT, & PCCT, PCRT, PCIT, & @@ -18,7 +18,6 @@ USE MODD_IO, ONLY: TFILEDATA ! REAL, INTENT(IN) :: PTSTEP ! Double Time step TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of ! REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODJ ! Reference density REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF ! Reference density @@ -51,7 +50,7 @@ END SUBROUTINE LIMA_NUCLEATION_PROCS END INTERFACE END MODULE MODI_LIMA_NUCLEATION_PROCS ! ############################################################################ -SUBROUTINE LIMA_NUCLEATION_PROCS (PTSTEP, TPFILE, OCLOSE_OUT, PRHODJ, & +SUBROUTINE LIMA_NUCLEATION_PROCS (PTSTEP, TPFILE, PRHODJ, & PRHODREF, PEXNREF, PPABST, PT, PDTHRAD, PW_NU, & PTHT, PRVT, PRCT, PRRT, PRIT, PRST, PRGT, & PCCT, PCRT, PCIT, & @@ -101,7 +100,6 @@ IMPLICIT NONE ! REAL, INTENT(IN) :: PTSTEP ! Double Time step TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of ! REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODJ ! Reference density REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF ! Reference density @@ -153,7 +151,7 @@ IF ( LWARM .AND. LACTI .AND. NMOD_CCN >=1 ) THEN end if end if - CALL LIMA_CCN_ACTIVATION (PTSTEP, TPFILE, OCLOSE_OUT, & + CALL LIMA_CCN_ACTIVATION (PTSTEP, TPFILE, & PRHODREF, PEXNREF, PPABST, PT, PDTHRAD, PW_NU, & PTHT, PRVT, PRCT, PCCT, PRRT, PNFT, PNAT ) diff --git a/src/MNH/lima_warm.f90 b/src/MNH/lima_warm.f90 index 12000d477600ab58f0daa0861cad95d3b4704e83..9337e92f7a985fe464b6f976260ead2602a5bd76 100644 --- a/src/MNH/lima_warm.f90 +++ b/src/MNH/lima_warm.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2013-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2013-2021 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. @@ -9,7 +9,7 @@ ! INTERFACE SUBROUTINE LIMA_WARM (OACTIT, OSEDC, ORAIN, KSPLITR, PTSTEP, KMI, & - TPFILE, OCLOSE_OUT, KRR, PZZ, PRHODJ,& + TPFILE, KRR, PZZ, PRHODJ, & PRHODREF, PEXNREF, PW_NU, PPABSM, PPABST, & PTHM, PRCM, & PTHT, PRT, PSVT, & @@ -32,8 +32,6 @@ REAL, INTENT(IN) :: PTSTEP ! Double Time step ! (single if cold start) INTEGER, INTENT(IN) :: KMI ! Model index TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the tput FM fileoutp INTEGER, INTENT(IN) :: KRR ! Number of moist variables ! REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ ! Height (z) @@ -71,7 +69,7 @@ END INTERFACE END MODULE MODI_LIMA_WARM ! ##################################################################### SUBROUTINE LIMA_WARM (OACTIT, OSEDC, ORAIN, KSPLITR, PTSTEP, KMI, & - TPFILE, OCLOSE_OUT, KRR, PZZ, PRHODJ, & + TPFILE, KRR, PZZ, PRHODJ, & PRHODREF, PEXNREF, PW_NU, PPABSM, PPABST, & PTHM, PRCM, & PTHT, PRT, PSVT, & @@ -173,8 +171,6 @@ REAL, INTENT(IN) :: PTSTEP ! Double Time step ! (single if cold start) INTEGER, INTENT(IN) :: KMI ! Model index TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the tput FM fileoutp INTEGER, INTENT(IN) :: KRR ! Number of moist variables ! REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ ! Height (z) @@ -376,7 +372,7 @@ IF ( LACTI .AND. NMOD_CCN > 0 ) THEN end do end if - CALL LIMA_WARM_NUCL( OACTIT, PTSTEP, KMI, TPFILE, OCLOSE_OUT, & + CALL LIMA_WARM_NUCL( OACTIT, PTSTEP, KMI, TPFILE, & PRHODREF, PEXNREF, PPABST, ZT, PTHM, PW_NU, & PRCM, PRVT, PRCT, PRRT, & PTHS, PRVS, PRCS, PCCS, ZNFS, ZNAS ) diff --git a/src/MNH/lima_warm_nucl.f90 b/src/MNH/lima_warm_nucl.f90 index 55fac0b764ba0269a66b103e052de5dc33425232..5bf129f55ec8b52aef3e244a85e84cc6227cff48 100644 --- a/src/MNH/lima_warm_nucl.f90 +++ b/src/MNH/lima_warm_nucl.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2013-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2013-2021 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. @@ -8,10 +8,10 @@ ! ########################## ! INTERFACE - SUBROUTINE LIMA_WARM_NUCL (OACTIT, PTSTEP, KMI, TPFILE, OCLOSE_OUT,& - PRHODREF, PEXNREF, PPABST, PT, PTM, PW_NU, & - PRCM, PRVT, PRCT, PRRT, & - PTHS, PRVS, PRCS, PCCS, PNFS, PNAS ) + SUBROUTINE LIMA_WARM_NUCL( OACTIT, PTSTEP, KMI, TPFILE, & + PRHODREF, PEXNREF, PPABST, PT, PTM, PW_NU, & + PRCM, PRVT, PRCT, PRRT, & + PTHS, PRVS, PRCS, PCCS, PNFS, PNAS ) ! USE MODD_IO, ONLY: TFILEDATA ! @@ -22,8 +22,6 @@ REAL, INTENT(IN) :: PTSTEP ! Double Time step ! (single if cold start) INTEGER, INTENT(IN) :: KMI ! Model index TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the output FM file ! REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF ! Reference density REAL, DIMENSION(:,:,:), INTENT(IN) :: PEXNREF ! Reference Exner function @@ -51,12 +49,12 @@ REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PNAS ! CCN C. activated source END SUBROUTINE LIMA_WARM_NUCL END INTERFACE END MODULE MODI_LIMA_WARM_NUCL -! ############################################################################# - SUBROUTINE LIMA_WARM_NUCL (OACTIT, PTSTEP, KMI, TPFILE, OCLOSE_OUT,& - PRHODREF, PEXNREF, PPABST, PT, PTM, PW_NU, & - PRCM, PRVT, PRCT, PRRT, & - PTHS, PRVS, PRCS, PCCS, PNFS, PNAS ) -! ############################################################################# +! ####################################################################### + SUBROUTINE LIMA_WARM_NUCL( OACTIT, PTSTEP, KMI, TPFILE, & + PRHODREF, PEXNREF, PPABST, PT, PTM, PW_NU, & + PRCM, PRVT, PRCT, PRRT, & + PTHS, PRVS, PRCS, PCCS, PNFS, PNAS ) +! ####################################################################### ! !! !! PURPOSE @@ -135,8 +133,6 @@ REAL, INTENT(IN) :: PTSTEP ! Double Time step ! (single if cold start) INTEGER, INTENT(IN) :: KMI ! Model index TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the output FM file ! REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF ! Reference density REAL, DIMENSION(:,:,:), INTENT(IN) :: PEXNREF ! Reference Exner function @@ -521,7 +517,7 @@ END IF ! INUCT !++cb++ DEALLOCATE(ZCTMIN) !--cb-- -IF ( OCLOSE_OUT ) THEN +IF ( tpfile%lopened ) THEN TZFIELD%CMNHNAME ='SMAX' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME) diff --git a/src/MNH/modd_sub_modeln.f90 b/src/MNH/modd_sub_modeln.f90 index c09ff09130140f34d41981449b83f2ef46283a83..7bf9f5301aafec7fca42c78aaf5fe7b30c22d564 100644 --- a/src/MNH/modd_sub_modeln.f90 +++ b/src/MNH/modd_sub_modeln.f90 @@ -55,8 +55,6 @@ TYPE SUB_MODEL_t REAL, DIMENSION(:,:,:), POINTER :: XWT_ACT_NUC=>NULL() ! Vertical motion used for ACTivation/NUCleation LOGICAL, DIMENSION(:,:), POINTER :: GMASKkids=>NULL() ! kids domains mask - - LOGICAL :: GCLOSE_OUT = .FALSE. ! conditional closure of the OUTPUT FM-file END TYPE SUB_MODEL_t TYPE(SUB_MODEL_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: SUB_MODEL_MODEL @@ -83,7 +81,6 @@ REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_TURB=>NULL(), XT_2WAY=>NULL(), X REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_FORCING=>NULL(), XT_NUDGING=>NULL(), XT_CHEM=>NULL() REAL, DIMENSION(:,:,:), POINTER :: XWT_ACT_NUC=>NULL() LOGICAL, DIMENSION(:,:), POINTER :: GMASKkids=>NULL() -LOGICAL, POINTER :: GCLOSE_OUT=>NULL() CONTAINS @@ -158,7 +155,6 @@ XT_NUDGING=>SUB_MODEL_MODEL(KTO)%XT_NUDGING XT_CHEM=>SUB_MODEL_MODEL(KTO)%XT_CHEM XWT_ACT_NUC=>SUB_MODEL_MODEL(KTO)%XWT_ACT_NUC GMASKkids=>SUB_MODEL_MODEL(KTO)%GMASKkids -GCLOSE_OUT=>SUB_MODEL_MODEL(KTO)%GCLOSE_OUT END SUBROUTINE SUB_MODEL_GOTO_MODEL diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90 index 892a3b913ec7046c4c867c03a5a9af334e354318..e80725a5970031a553f0cc6c22ea706d07e821b7 100644 --- a/src/MNH/modeln.f90 +++ b/src/MNH/modeln.f90 @@ -914,7 +914,6 @@ ZTIME1 = ZTIME2 IF ( nfile_backup_current < NBAK_NUMB ) THEN IF ( KTCOUNT == TBACKUPN(nfile_backup_current + 1)%NSTEP ) THEN nfile_backup_current = nfile_backup_current + 1 - GCLOSE_OUT=.TRUE. ! TZBAKFILE => TBACKUPN(nfile_backup_current)%TFILE IVERB = TZBAKFILE%NLFIVERB @@ -1323,10 +1322,10 @@ XT_RELAX = XT_RELAX + ZTIME2 - ZTIME1 & ! ZTIME1 = ZTIME2 ! -CALL PHYS_PARAM_n(KTCOUNT,TZBAKFILE, GCLOSE_OUT, & - XT_RAD,XT_SHADOWS,XT_DCONV,XT_GROUND,XT_MAFL, & - XT_DRAG,XT_TURB,XT_TRACER, & - ZTIME,ZWETDEPAER,GMASKkids,GCLOUD_ONLY) +CALL PHYS_PARAM_n( KTCOUNT, TZBAKFILE, & + XT_RAD, XT_SHADOWS, XT_DCONV, XT_GROUND, & + XT_MAFL, XT_DRAG, XT_TURB, XT_TRACER, & + ZTIME, ZWETDEPAER, GMASKkids, GCLOUD_ONLY ) ! IF (CDCONV/='NONE') THEN XPACCONV = XPACCONV + XPRCONV * XTSTEP @@ -1509,7 +1508,7 @@ XTIME_LES_BU_PROCESS = 0. ! CALL MPPDB_CHECK3DM("before ADVEC_METSV:XU/V/W/TH/TKE/T,XRHODJ",PRECISION,& & XUT, XVT, XWT, XTHT, XTKET,XRHODJ) - CALL ADVECTION_METSV ( TZBAKFILE, GCLOSE_OUT,CUVW_ADV_SCHEME, & + CALL ADVECTION_METSV ( TZBAKFILE, CUVW_ADV_SCHEME, & CMET_ADV_SCHEME, CSV_ADV_SCHEME, CCLOUD, NSPLIT, & LSPLIT_CFL, XSPLIT_CFL, LCFL_WRIT, & CLBCX, CLBCY, NRR, NSV, TDTCUR, XTSTEP, & @@ -1599,10 +1598,10 @@ XT_ADVUVW = XT_ADVUVW + ZTIME2 - ZTIME1 - XTIME_LES_BU_PROCESS - XTIME_BU_PROCES !------------------------------------------------------------------------------- ! IF (NMODEL_CLOUD==IMI .AND. CTURBLEN_CLOUD/='NONE') THEN - CALL TURB_CLOUD_INDEX(XTSTEP,TZBAKFILE, & - LTURB_DIAG,GCLOSE_OUT,NRRI, & - XRRS,XRT,XRHODJ,XDXX,XDYY,XDZZ,XDZX,XDZY, & - XCEI ) + CALL TURB_CLOUD_INDEX( XTSTEP, TZBAKFILE, & + LTURB_DIAG, NRRI, & + XRRS, XRT, XRHODJ, XDXX, XDYY, XDZZ, XDZX, XDZY, & + XCEI ) END IF ! !------------------------------------------------------------------------------- @@ -1779,7 +1778,7 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN CALL RESOLVED_CLOUD ( CCLOUD, CACTCCN, CSCONV, CMF_CLOUD, NRR, NSPLITR, & NSPLITG, IMI, KTCOUNT, & CLBCX,CLBCY,TZBAKFILE, CRAD, CTURBDIM, & - GCLOSE_OUT, LSUBG_COND,LSIGMAS,CSUBG_AUCV,XTSTEP, & + LSUBG_COND,LSIGMAS,CSUBG_AUCV,XTSTEP, & XZZ, XRHODJ, XRHODREF, XEXNREF, & ZPABST, XTHT,XRT,XSIGS,VSIGQSAT,XMFCONV,XTHM,XRCM, & XPABSM, XWT_ACT_NUC,XDTHRAD, XRTHS, XRRS, & @@ -1787,7 +1786,7 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN XSRCT, XCLDFR,XCIT, & LSEDIC,KACTIT, KSEDC, KSEDI, KRAIN, KWARM, KHHONI, & LCONVHG, XCF_MF,XRC_MF, XRI_MF, & - XINPRC,ZINPRC3D,XINPRR, XINPRR3D, XEVAP3D, & + XINPRC,ZINPRC3D,XINPRR, XINPRR3D, XEVAP3D, & XINPRS,ZINPRS3D, XINPRG,ZINPRG3D, XINPRH,ZINPRH3D, & XSOLORG, XMI,ZSPEEDC, ZSPEEDR, ZSPEEDS, ZSPEEDG, ZSPEEDH, & XINDEP, XSUPSAT, XNACT, XNPRO,XSSPRO, XRAINFR, & @@ -1797,7 +1796,7 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN CALL RESOLVED_CLOUD ( CCLOUD, CACTCCN, CSCONV, CMF_CLOUD, NRR, NSPLITR, & NSPLITG, IMI, KTCOUNT, & CLBCX,CLBCY,TZBAKFILE, CRAD, CTURBDIM, & - GCLOSE_OUT, LSUBG_COND,LSIGMAS,CSUBG_AUCV, & + LSUBG_COND,LSIGMAS,CSUBG_AUCV, & XTSTEP,XZZ, XRHODJ, XRHODREF, XEXNREF, & ZPABST, XTHT,XRT,XSIGS,VSIGQSAT,XMFCONV,XTHM,XRCM, & XPABSM, XWT_ACT_NUC,XDTHRAD, XRTHS, XRRS, & @@ -1805,7 +1804,7 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN XSRCT, XCLDFR,XCIT, & LSEDIC,KACTIT, KSEDC, KSEDI, KRAIN, KWARM, KHHONI, & LCONVHG, XCF_MF,XRC_MF, XRI_MF, & - XINPRC,ZINPRC3D,XINPRR, XINPRR3D, XEVAP3D, & + XINPRC,ZINPRC3D,XINPRR, XINPRR3D, XEVAP3D, & XINPRS,ZINPRS3D, XINPRG,ZINPRG3D, XINPRH,ZINPRH3D, & XSOLORG, XMI,ZSPEEDC, ZSPEEDR, ZSPEEDS, ZSPEEDG, ZSPEEDH, & XINDEP, XSUPSAT, XNACT, XNPRO,XSSPRO, XRAINFR ) @@ -2054,8 +2053,7 @@ XT_STEP_BUD = XT_STEP_BUD + ZTIME2 - ZTIME1 + XTIME_BU !* 26. FM FILE CLOSURE ! --------------- ! -IF (GCLOSE_OUT) THEN - GCLOSE_OUT=.FALSE. +IF ( tzbakfile%lopened ) THEN CALL IO_File_close(TZBAKFILE) END IF ! diff --git a/src/MNH/paspol.f90 b/src/MNH/paspol.f90 index 50988a348aaba05c0c3ec917f61b7bdbdc4cd138..b3043a864dd8f4d66b9f7bae9e3d5d3ded8f1a1a 100644 --- a/src/MNH/paspol.f90 +++ b/src/MNH/paspol.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2008-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2008-2021 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. @@ -9,7 +9,7 @@ ! INTERFACE ! - SUBROUTINE PASPOL (PTSTEP, PSFSV, KLUOUT, KVERB, OCLOSE_OUT, TPFILE) + SUBROUTINE PASPOL (PTSTEP, PSFSV, KLUOUT, KVERB, TPFILE) ! USE MODD_IO, ONLY: TFILEDATA ! @@ -20,7 +20,6 @@ REAL, INTENT(IN) :: PTSTEP ! Double timestep except REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSFSV ! surface flux of scalars INTEGER, INTENT(IN) :: KLUOUT ! unit for output listing count INTEGER, INTENT(IN) :: KVERB ! verbosity level -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! conditional closure of the OUTPUT FM-file TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file ! END SUBROUTINE PASPOL @@ -29,7 +28,7 @@ END INTERFACE ! END MODULE MODI_PASPOL ! ######spl - SUBROUTINE PASPOL (PTSTEP, PSFSV, KLUOUT, KVERB, OCLOSE_OUT, TPFILE) + SUBROUTINE PASPOL (PTSTEP, PSFSV, KLUOUT, KVERB, TPFILE) ! ############################################################ ! ! @@ -110,7 +109,6 @@ REAL, INTENT(IN) :: PTSTEP ! Double timestep except REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSFSV ! surface flux of scalars INTEGER, INTENT(IN) :: KLUOUT ! unit for output listing count INTEGER, INTENT(IN) :: KVERB ! verbosity level -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! conditional closure of the OUTPUT FM-file TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file ! !* 0.2 declarations of local variables @@ -580,7 +578,7 @@ END DO ! !* 3.4 Ecriture conditionnelle. ! -IF (OCLOSE_OUT) THEN +IF ( tpfile%lopened ) THEN ALLOCATE( ZTEMPO(IIU,IJU,IKU) ) ! TZFIELD%CSTDNAME = '' diff --git a/src/MNH/phys_paramn.f90 b/src/MNH/phys_paramn.f90 index 9b9213708b7990a757e69fb3097c1ec15d62fcf2..2395c174c3bfaa5274a99963c41754b34493b672 100644 --- a/src/MNH/phys_paramn.f90 +++ b/src/MNH/phys_paramn.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1995-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1995-2021 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. @@ -10,17 +10,15 @@ ! INTERFACE ! - SUBROUTINE PHYS_PARAM_n(KTCOUNT,TPFILE,OCLOSE_OUT, & - PRAD,PSHADOWS,PKAFR,PGROUND,PMAFL,PDRAG,PTURB,PTRACER, & - PTIME_BU, PWETDEPAER, OMASKkids,OCLOUD_ONLY ) + SUBROUTINE PHYS_PARAM_n( KTCOUNT, TPFILE, & + PRAD, PSHADOWS, PKAFR, PGROUND, PMAFL, PDRAG, PTURB, PTRACER, & + PTIME_BU, PWETDEPAER, OMASKkids, OCLOUD_ONLY ) ! USE MODD_IO, ONLY: TFILEDATA use modd_precision, only: MNHTIME ! INTEGER, INTENT(IN) :: KTCOUNT ! temporal iteration count TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Synchronous output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT! conditional closure of the - ! OUTPUT FM-file ! advection schemes REAL(kind=MNHTIME), DIMENSION(2), INTENT(INOUT) :: PRAD,PSHADOWS,PKAFR,PGROUND,PTURB,PMAFL,PDRAG,PTRACER ! to store CPU ! time for computing time @@ -36,11 +34,11 @@ END INTERFACE ! END MODULE MODI_PHYS_PARAM_n ! -! ###################################################################### - SUBROUTINE PHYS_PARAM_n(KTCOUNT,TPFILE,OCLOSE_OUT, & - PRAD,PSHADOWS,PKAFR,PGROUND,PMAFL,PDRAG,PTURB,PTRACER, & - PTIME_BU, PWETDEPAER, OMASKkids,OCLOUD_ONLY ) -! ###################################################################### +! ######################################################################################## + SUBROUTINE PHYS_PARAM_n( KTCOUNT, TPFILE, & + PRAD, PSHADOWS, PKAFR, PGROUND, PMAFL, PDRAG, PTURB, PTRACER, & + PTIME_BU, PWETDEPAER, OMASKkids, OCLOUD_ONLY ) +! ######################################################################################## ! !!**** *PHYS_PARAM_n * -monitor of the parameterizations used by model _n !! @@ -348,8 +346,6 @@ IMPLICIT NONE ! INTEGER, INTENT(IN) :: KTCOUNT ! temporal iteration count TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Synchronous output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT! conditional closure of the - ! OUTPUT FM-file ! advection schemes REAL(kind=MNHTIME), DIMENSION(2), INTENT(INOUT) :: PRAD,PSHADOWS,PKAFR,PGROUND,PTURB,PMAFL,PDRAG,PTRACER ! to store CPU ! time for computing time @@ -726,15 +722,15 @@ CALL SUNPOS_n ( XZENITH, ZCOSZEN, ZSINZEN, ZAZIMSOL ) XLWD(:,:,:)=0.0 XDTHRADSW(:,:,:)=0.0 XDTHRADLW(:,:,:)=0.0 - CALL RADIATIONS ( OCLOSE_OUT, TPFILE, & - LCLEAR_SKY,OCLOUD_ONLY, NCLEARCOL_TM1,CEFRADL, CEFRADI,COPWSW,COPISW,& - COPWLW,COPILW, XFUDG, & - NDLON, NFLEV, NRAD_DIAG, NFLUX, NRAD,NAER,NSWB_OLD,NSWB_MNH,NLWB_MNH, & - NSTATM, NRAD_COLNBR, ZCOSZEN, XSEA, XCORSOL, & - XDIR_ALB, XSCA_ALB, XEMIS, XCLDFR, XCCO2, XTSRAD, XSTATM, XTHT, XRT, & - XPABST,XOZON, XAER,XDST_WL, XAER_CLIM, XSVT, & - XDTHRAD, XFLALWD, XDIRFLASWD, XSCAFLASWD, XRHODREF, XZZ , & - XRADEFF, XSWU, XSWD, XLWU, XLWD, XDTHRADSW, XDTHRADLW ) + CALL RADIATIONS( TPFILE, & + LCLEAR_SKY, OCLOUD_ONLY, NCLEARCOL_TM1, CEFRADL, CEFRADI, COPWSW, COPISW, & + COPWLW, COPILW, XFUDG, & + NDLON, NFLEV, NRAD_DIAG, NFLUX, NRAD, NAER, NSWB_OLD, NSWB_MNH, NLWB_MNH, & + NSTATM, NRAD_COLNBR, ZCOSZEN, XSEA, XCORSOL, & + XDIR_ALB, XSCA_ALB, XEMIS, XCLDFR, XCCO2, XTSRAD, XSTATM, XTHT, XRT, & + XPABST, XOZON, XAER,XDST_WL, XAER_CLIM, XSVT, & + XDTHRAD, XFLALWD, XDIRFLASWD, XSCAFLASWD, XRHODREF, XZZ , & + XRADEFF, XSWU, XSWD, XLWU, XLWD, XDTHRADSW, XDTHRADLW ) ! WRITE(UNIT=ILUOUT,FMT='(" RADIATIONS called for KTCOUNT=",I6, & @@ -1237,7 +1233,7 @@ END IF ! ZTIME1 = ZTIME2 ! -IF (LPASPOL) CALL PASPOL(XTSTEP, ZSFSV, ILUOUT, NVERB, OCLOSE_OUT, TPFILE) +IF (LPASPOL) CALL PASPOL(XTSTEP, ZSFSV, ILUOUT, NVERB, TPFILE) ! ! !* 4b. PASSIVE POLLUTANTS FOR MASS-FLUX SCHEME DIAGNOSTICS @@ -1394,19 +1390,19 @@ ELSE ALLOCATE(XSVW_FLUX(SIZE(XSVT,1),SIZE(XSVT,2),SIZE(XSVT,3),SIZE(XSVT,4))) END IF ! - CALL TURB(1,IKU,1,IMI,NRR, NRRL, NRRI, CLBCX, CLBCY, 1,NMODEL_CLOUD, & - OCLOSE_OUT,LTURB_FLX,LTURB_DIAG,LSUBG_COND,LRMC01, & - CTURBDIM,CTURBLEN,CTOM,CTURBLEN_CLOUD,CCLOUD,XIMPL, & - XTSTEP,TPFILE, & - XDXX,XDYY,XDZZ,XDZX,XDZY,XZZ, & - XDIRCOSXW,XDIRCOSYW,XDIRCOSZW,XCOSSLOPE,XSINSLOPE, & - XRHODJ,XTHVREF, & - ZSFTH,ZSFRV,ZSFSV,ZSFU,ZSFV, & - XPABST,XUT,XVT,XWT,XTKET,XSVT,XSRCT,XBL_DEPTH,XSBL_DEPTH, & - XCEI,XCEI_MIN,XCEI_MAX,XCOEF_AMPL_SAT, & - XTHT,XRT, & - XRUS,XRVS,XRWS,XRTHS,XRRS,XRSVS,XRTKES,XRTKEMS, XSIGS, XWTHVMF, & - XTHW_FLUX, XRCW_FLUX, XSVW_FLUX,XDYP, XTHP, XTR, XDISS, XLEM ) + CALL TURB( 1, IKU, 1, IMI, NRR, NRRL, NRRI, CLBCX, CLBCY, 1, NMODEL_CLOUD, & + LTURB_FLX, LTURB_DIAG, LSUBG_COND, LRMC01, & + CTURBDIM, CTURBLEN, CTOM, CTURBLEN_CLOUD, CCLOUD,XIMPL, & + XTSTEP, TPFILE, & + XDXX, XDYY, XDZZ, XDZX, XDZY, XZZ, & + XDIRCOSXW, XDIRCOSYW, XDIRCOSZW, XCOSSLOPE, XSINSLOPE, & + XRHODJ, XTHVREF, & + ZSFTH, ZSFRV, ZSFSV, ZSFU, ZSFV, & + XPABST, XUT, XVT, XWT, XTKET, XSVT, XSRCT, XBL_DEPTH, XSBL_DEPTH, & + XCEI, XCEI_MIN, XCEI_MAX, XCOEF_AMPL_SAT, & + XTHT, XRT, & + XRUS, XRVS, XRWS, XRTHS, XRRS, XRSVS, XRTKES, XRTKEMS, XSIGS, XWTHVMF, & + XTHW_FLUX, XRCW_FLUX, XSVW_FLUX,XDYP, XTHP, XTR, XDISS, XLEM ) ! IF (LRMC01) THEN CALL ADD2DFIELD_ll( TZFIELDS_ll, XSBL_DEPTH, 'PHYS_PARAM_n::XSBL_DEPTH' ) @@ -1447,7 +1443,7 @@ IF (CSCONV == 'EDKF') THEN CALL MPPDB_CHECK3D(ZEXN,"physparam.7::ZEXN",PRECISION) ! CALL SHALLOW_MF_PACK(NRR,NRRL,NRRI, CMF_UPDRAFT, CMF_CLOUD, LMIXUV, & - OCLOSE_OUT,LMF_FLX,TPFILE,ZTIME_LES_MF, & + LMF_FLX,TPFILE,ZTIME_LES_MF, & XIMPL_MF, XTSTEP, & XDZZ, XZZ, & XRHODJ, XRHODREF, XPABST, ZEXN, ZSFTH, ZSFRV, & diff --git a/src/MNH/prandtl.f90 b/src/MNH/prandtl.f90 index fea5db344bfedb51513f1270ce89dd2c9146971a..dc9e578612d8bac8a73a236086e6af7bc890c9a1 100644 --- a/src/MNH/prandtl.f90 +++ b/src/MNH/prandtl.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -9,7 +9,7 @@ ! INTERFACE ! - SUBROUTINE PRANDTL(KKA,KKU,KKL,KRR,KRRI,OCLOSE_OUT,OTURB_DIAG,& + SUBROUTINE PRANDTL(KKA,KKU,KKL,KRR,KRRI,OTURB_DIAG, & HTURBDIM, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -30,8 +30,6 @@ INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH - INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRI ! number of ice var. ! -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_DIAG ! switch to write some ! diagnostic fields in the syncronous FM-file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! Kind of turbulence param. @@ -78,7 +76,7 @@ END MODULE MODI_PRANDTL ! ! ! ########################################################### - SUBROUTINE PRANDTL(KKA,KKU,KKL,KRR,KRRI,OCLOSE_OUT,OTURB_DIAG,& + SUBROUTINE PRANDTL(KKA,KKU,KKL,KRR,KRRI,OTURB_DIAG, & HTURBDIM, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -219,8 +217,6 @@ INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH - INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRI ! number of ice var. ! -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_DIAG ! switch to write some ! diagnostic fields in the syncronous FM-file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! Kind of turbulence param. @@ -512,7 +508,7 @@ END IF ! end of HTURBDIM if-block !* 6. SAVES THE REDELSPERGER NUMBERS ! ------------------------------ ! -IF ( OTURB_DIAG .AND. OCLOSE_OUT ) THEN +IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN ! ! stores the RED_TH1 TZFIELD%CMNHNAME = 'RED_TH1' diff --git a/src/MNH/radiations.f90 b/src/MNH/radiations.f90 index 11e377c90a82fc12c6277432c1d2bb8cbc563fef..cdb8b13cbd0b4c168fe7b9ba6f2ddd57cc38146a 100644 --- a/src/MNH/radiations.f90 +++ b/src/MNH/radiations.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1995-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1995-2021 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. @@ -10,9 +10,9 @@ CONTAINS ! ! ############################################################################ - SUBROUTINE RADIATIONS (OCLOSE_OUT,TPFILE,OCLEAR_SKY,OCLOUD_ONLY, & + SUBROUTINE RADIATIONS (TPFILE,OCLEAR_SKY,OCLOUD_ONLY, & KCLEARCOL_TM1,HEFRADL,HEFRADI,HOPWSW,HOPISW,HOPWLW,HOPILW, & - PFUDG, KDLON, KFLEV, KRAD_DIAG, KFLUX, KRAD, KAER, KSWB_OLD, & + PFUDG, KDLON, KFLEV, KRAD_DIAG, KFLUX, KRAD, KAER, KSWB_OLD, & KSWB_MNH,KLWB_MNH, KSTATM,KRAD_COLNBR,PCOSZEN,PSEA, PCORSOL, & PDIR_ALB, PSCA_ALB,PEMIS, PCLDFR, PCCO2, PTSRAD, PSTATM, & PTHT, PRT, PPABST, POZON, PAER, PDST_WL, PAER_CLIM, PSVT, & @@ -176,9 +176,6 @@ IMPLICIT NONE ! !* 0.1 DECLARATIONS OF DUMMY ARGUMENTS : ! -LOGICAL, INTENT(IN) :: OCLOSE_OUT! flag indicating that a FM - ! file is opened during this - ! time-step TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file LOGICAL, INTENT(IN) :: OCLOUD_ONLY! flag for the cloud column ! computations only @@ -2336,7 +2333,7 @@ ELSE ZFLUX_SW_DOWN( IBEG:IEND ,:) = ZFLUX_SW_DOWN_SPLIT(:,:) ZFLUX_SW_UP( IBEG:IEND ,:) = ZFLUX_SW_UP_SPLIT(:,:) ZRADLP( IBEG:IEND ,:) = ZRADLP_SPLIT(:,:) - IF( OCLOSE_OUT ) THEN + IF ( tpfile%lopened ) THEN IF( KRAD_DIAG >= 1) THEN ZNFLW(IBEG:IEND ,:)= ZNFLW_SPLIT(:,:) ZNFSW(IBEG:IEND ,:)= ZNFSW_SPLIT(:,:) @@ -2678,7 +2675,7 @@ END IF !* 7. STORE SOME ADDITIONNAL RADIATIVE FIELDS ! --------------------------------------- ! -IF( OCLOSE_OUT .AND. (KRAD_DIAG >= 1) ) THEN +IF( tpfile%lopened .AND. (KRAD_DIAG >= 1) ) THEN ZSTORE_3D(:,:,:) = 0.0 ZSTORE_3D2(:,:,:) = 0.0 ZSTORE_2D(:,:) = 0.0 diff --git a/src/MNH/rain_c2r2_khko.f90 b/src/MNH/rain_c2r2_khko.f90 index 05e67c35e39e487bfd6142d490a0a10ee8cbb701..5708c0d4c4742afee013137bff42bc0fc1d51c48 100644 --- a/src/MNH/rain_c2r2_khko.f90 +++ b/src/MNH/rain_c2r2_khko.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1996-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1996-2021 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. @@ -9,7 +9,7 @@ ! INTERFACE SUBROUTINE RAIN_C2R2_KHKO(HCLOUD,OACTIT, OSEDC, ORAIN, KSPLITR, PTSTEP, & - KMI,TPFILE, OCLOSE_OUT, & + KMI,TPFILE, & PZZ, PRHODJ, & PRHODREF, PEXNREF, & PPABST, PTHT, PRVT, PRCT, & @@ -36,8 +36,6 @@ INTEGER, INTENT(IN) :: KSPLITR ! Number of small time step REAL, INTENT(IN) :: PTSTEP ! Time step :XTSTEP in namelist INTEGER, INTENT(IN) :: KMI ! Model index TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the tput FM fileoutp REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ ! Height (z) REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODJ ! Dry density * Jacobian REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF! Reference density @@ -86,7 +84,7 @@ END INTERFACE END MODULE MODI_RAIN_C2R2_KHKO ! ###################################################################### SUBROUTINE RAIN_C2R2_KHKO (HCLOUD,OACTIT, OSEDC, ORAIN, KSPLITR, PTSTEP, & - KMI, TPFILE, OCLOSE_OUT, PZZ, PRHODJ, & + KMI, TPFILE, PZZ, PRHODJ, & PRHODREF, PEXNREF, & PPABST, PTHT, PRVT, PRCT, & PRRT, PTHM, PRCM, PPABSM, & @@ -264,8 +262,6 @@ INTEGER, INTENT(IN) :: KSPLITR ! Number of small time step REAL, INTENT(IN) :: PTSTEP ! Time step :XTSTEP in namelist INTEGER, INTENT(IN) :: KMI ! Model index TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the tput FM fileoutp REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ ! Height (z) REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODJ ! Dry density * Jacobian REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF! Reference density @@ -598,7 +594,7 @@ end if !ZCHEN(:,:,IKE) = ZCHEN(:,:,IKE-1) !! !! -! IF ( OCLOSE_OUT ) THEN +! IF ( tpfile%lopened ) THEN ! TZFIELD%CMNHNAME = 'ZCHEN' ! TZFIELD%CSTDNAME = '' ! TZFIELD%CLONGNAME = 'ZCHEN' @@ -881,7 +877,7 @@ INUCT = COUNTJV( GNUCT(:,:,:),I1(:),I2(:),I3(:)) !------------------------------------------------------------------------------- ! END IF ! -IF ( OCLOSE_OUT ) THEN +IF ( tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'SMAX' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'SMAX' @@ -1899,7 +1895,7 @@ DO JN = 1 , KSPLITR PCRS(:,:,:) = ( PCRS(:,:,:) + ZPCRT(:,:,:) ) / PTSTEP END IF ! - IF (OSEDC .AND. OCLOSE_OUT) THEN + IF ( OSEDC .AND. tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'SEDFLUXC' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'SEDFLUXC' diff --git a/src/MNH/resolved_cloud.f90 b/src/MNH/resolved_cloud.f90 index 75c96b96bcdd6b4e6da2f8666ac3a89a19a405e9..6d4e94f46bd238d4dec01735e6ed335680bad9e6 100644 --- a/src/MNH/resolved_cloud.f90 +++ b/src/MNH/resolved_cloud.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE SUBROUTINE RESOLVED_CLOUD ( HCLOUD, HACTCCN, HSCONV, HMF_CLOUD, & KRR, KSPLITR, KSPLITG, KMI, KTCOUNT, & HLBCX, HLBCY, TPFILE, HRAD, HTURBDIM, & - OCLOSE_OUT, OSUBG_COND, OSIGMAS, HSUBG_AUCV, & + OSUBG_COND, OSIGMAS, HSUBG_AUCV, & PTSTEP, PZZ, PRHODJ, PRHODREF, PEXNREF, & PPABST, PTHT, PRT, PSIGS, PSIGQSAT, PMFCONV, & PTHM, PRCM, PPABSM, & @@ -44,8 +44,6 @@ TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file CHARACTER(len=4), INTENT(IN) :: HRAD ! Radiation scheme name CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! Dimensionality of the ! turbulence scheme -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the OUTPUT FM-file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for Subgrid Cond. LOGICAL, INTENT(IN) :: OSIGMAS ! Switch for Sigma_s: ! use values computed in CONDENSATION @@ -145,7 +143,7 @@ END MODULE MODI_RESOLVED_CLOUD SUBROUTINE RESOLVED_CLOUD ( HCLOUD, HACTCCN, HSCONV, HMF_CLOUD, & KRR, KSPLITR, KSPLITG, KMI, KTCOUNT, & HLBCX, HLBCY, TPFILE, HRAD, HTURBDIM, & - OCLOSE_OUT, OSUBG_COND, OSIGMAS, HSUBG_AUCV, & + OSUBG_COND, OSIGMAS, HSUBG_AUCV, & PTSTEP, PZZ, PRHODJ, PRHODREF, PEXNREF, & PPABST, PTHT, PRT, PSIGS, PSIGQSAT, PMFCONV, & PTHM, PRCM, PPABSM, & @@ -338,8 +336,6 @@ TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file CHARACTER(len=4), INTENT(IN) :: HRAD ! Radiation scheme name CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! Dimensionality of the ! turbulence scheme -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! Conditional closure of - ! the OUTPUT FM-file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for Subgrid Cond. LOGICAL, INTENT(IN) :: OSIGMAS ! Switch for Sigma_s: ! use values computed in CONDENSATION @@ -680,7 +676,7 @@ SELECT CASE ( HCLOUD ) ! ! CALL RAIN_C2R2_KHKO ( HCLOUD, OACTIT, OSEDC, ORAIN, KSPLITR, PTSTEP, KMI, & - TPFILE, OCLOSE_OUT, PZZ, PRHODJ, PRHODREF, PEXNREF, & + TPFILE, PZZ, PRHODJ, PRHODREF, PEXNREF, & PPABST, PTHT, PRT(:,:,:,1), PRT(:,:,:,2), PRT(:,:,:,3), & PTHM, PRCM, PPABSM, & PW_ACT,PDTHRAD,PTHS, PRS(:,:,:,1),PRS(:,:,:,2),PRS(:,:,:,3), & @@ -695,7 +691,7 @@ SELECT CASE ( HCLOUD ) !* 7.2 Perform the saturation adjustment ! IF (LSUPSAT) THEN - CALL KHKO_NOTADJUST (KRR, KTCOUNT,TPFILE, HRAD, OCLOSE_OUT, & + CALL KHKO_NOTADJUST (KRR, KTCOUNT,TPFILE, HRAD, & PTSTEP, PRHODJ, PPABSM, PPABST, PRHODREF, PZZ, & PTHT,PRT(:,:,:,1),PRT(:,:,:,2),PRT(:,:,:,3), & PTHS,PRS(:,:,:,1),PRS(:,:,:,2),PRS(:,:,:,3), & @@ -704,7 +700,7 @@ SELECT CASE ( HCLOUD ) ! ELSE CALL C2R2_ADJUST ( KRR,TPFILE, HRAD, & - HTURBDIM, OCLOSE_OUT, OSUBG_COND, PTSTEP, & + HTURBDIM, OSUBG_COND, PTSTEP, & PRHODJ, PSIGS, PPABST, & PTHS=PTHS, PRVS=PRS(:,:,:,1), PRCS=PRS(:,:,:,2), & PCNUCS=PSVS(:,:,:,NSV_C2R2BEG), & @@ -901,7 +897,7 @@ SELECT CASE ( HCLOUD ) ZZZ = MZF( PZZ ) IF (LPTSPLIT) THEN CALL LIMA (1, IKU, 1, & - PTSTEP, TPFILE, OCLOSE_OUT, & + PTSTEP, TPFILE, & PRHODREF, PEXNREF, ZDZZ, & PRHODJ, PPABSM, PPABST, & NMOD_CCN, NMOD_IFN, NMOD_IMM, & @@ -913,7 +909,7 @@ SELECT CASE ( HCLOUD ) ELSE IF (OWARM) CALL LIMA_WARM(OACTIT, OSEDC, ORAIN, KSPLITR, PTSTEP, KMI, & - TPFILE, OCLOSE_OUT, KRR, PZZ, PRHODJ, & + TPFILE, KRR, PZZ, PRHODJ, & PRHODREF, PEXNREF, PW_ACT, PPABSM, PPABST, & PDTHRAD, PRCM, & PTHT, PRT, PSVT(:,:,:,NSV_LIMA_BEG:NSV_LIMA_END), & @@ -939,7 +935,7 @@ SELECT CASE ( HCLOUD ) !* 12.2 Perform the saturation adjustment ! CALL LIMA_ADJUST(KRR, KMI, TPFILE, HRAD, & - HTURBDIM, OCLOSE_OUT, OSUBG_COND, PTSTEP, & + HTURBDIM, OSUBG_COND, PTSTEP, & PRHODREF, PRHODJ, PEXNREF, PPABST, PSIGS, PPABST, & PRT, PRS, PSVT(:,:,:,NSV_LIMA_BEG:NSV_LIMA_END), & PSVS(:,:,:,NSV_LIMA_BEG:NSV_LIMA_END), & diff --git a/src/MNH/shallow_mf_pack.f90 b/src/MNH/shallow_mf_pack.f90 index 78937e508ba19776d3ce05b9a47691d3755d6056..d5c0bbdfe887248e48f5ba99f4480353bce46465 100644 --- a/src/MNH/shallow_mf_pack.f90 +++ b/src/MNH/shallow_mf_pack.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2010-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2010-2021 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. @@ -11,7 +11,7 @@ INTERFACE ! ################################################################# SUBROUTINE SHALLOW_MF_PACK(KRR,KRRL,KRRI, & HMF_UPDRAFT, HMF_CLOUD, OMIXUV, & - OCLOSE_OUT,OMF_FLX,TPFILE,PTIME_LES, & + OMF_FLX,TPFILE,PTIME_LES, & PIMPL_MF, PTSTEP, & PDZZ, PZZ, & PRHODJ, PRHODREF, & @@ -36,8 +36,6 @@ CHARACTER (LEN=4), INTENT(IN) :: HMF_UPDRAFT! Type of Mass Flux Scheme CHARACTER (LEN=4), INTENT(IN) :: HMF_CLOUD ! Type of statistical cloud ! scheme LOGICAL, INTENT(IN) :: OMIXUV ! True if mixing of momentum -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for synchronous - ! file opening LOGICAL, INTENT(IN) :: OMF_FLX ! switch to write the ! MF fluxes in the synchronous FM-file TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file @@ -77,7 +75,7 @@ END MODULE MODI_SHALLOW_MF_PACK ! ################################################################# SUBROUTINE SHALLOW_MF_PACK(KRR,KRRL,KRRI, & HMF_UPDRAFT, HMF_CLOUD, OMIXUV, & - OCLOSE_OUT,OMF_FLX,TPFILE,PTIME_LES, & + OMF_FLX,TPFILE,PTIME_LES, & PIMPL_MF, PTSTEP, & PDZZ, PZZ, & PRHODJ, PRHODREF, & @@ -159,8 +157,6 @@ CHARACTER (LEN=4), INTENT(IN) :: HMF_UPDRAFT! Type of Mass Flux Scheme CHARACTER (LEN=4), INTENT(IN) :: HMF_CLOUD ! Type of statistical cloud ! scheme LOGICAL, INTENT(IN) :: OMIXUV ! True if mixing of momentum -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for synchronous - ! file opening LOGICAL, INTENT(IN) :: OMF_FLX ! switch to write the ! MF fluxes in the synchronous FM-file TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file @@ -396,7 +392,7 @@ end if !!! 8. Prints the fluxes in output file ! -IF ( OMF_FLX .AND. OCLOSE_OUT ) THEN +IF ( OMF_FLX .AND. tpfile%lopened ) THEN ! stores the conservative potential temperature vertical flux ZWORK(:,:,:)=RESHAPE(ZFLXZTHMF (:,:),(/ IIU,IJU,IKU /) ) TZFIELD%CMNHNAME = 'MF_THW_FLX' diff --git a/src/MNH/tke_eps_sources.f90 b/src/MNH/tke_eps_sources.f90 index 3ea39b78f0484024904edf523e253210111c4b0f..f37dff102c23854c82011b9f852126a75b73f434 100644 --- a/src/MNH/tke_eps_sources.f90 +++ b/src/MNH/tke_eps_sources.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -12,7 +12,7 @@ INTERFACE PRHODJ,PDZZ,PDXX,PDYY,PDZX,PDZY,PZZ, & PTSTEP,PIMPL,PEXPL, & HTURBLEN,HTURBDIM, & - TPFILE,OCLOSE_OUT,OTURB_DIAG, & + TPFILE,OTURB_DIAG, & PTP,PRTKES,PRTKESM, PRTHLS,PCOEF_DISS,PTR,PDISS ) ! USE MODD_IO, ONLY: TFILEDATA @@ -34,8 +34,6 @@ CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! dimensionality of the ! turbulence scheme CHARACTER(len=4), INTENT(IN) :: HTURBLEN ! kind of mixing length TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_DIAG ! switch to write some ! diagnostic fields in the syncronous FM-file REAL, DIMENSION(:,:,:), INTENT(INOUT):: PDP ! Dyn. prod. of TKE @@ -62,7 +60,7 @@ END MODULE MODI_TKE_EPS_SOURCES PTRH,PRHODJ,PDZZ,PDXX,PDYY,PDZX,PDZY,PZZ, & PTSTEP,PIMPL,PEXPL, & HTURBLEN,HTURBDIM, & - TPFILE,OCLOSE_OUT,OTURB_DIAG, & + TPFILE,OTURB_DIAG, & PTP,PRTKES,PRTKESM, PRTHLS,PCOEF_DISS,PTR,PDISS ) ! ################################################################## ! @@ -221,8 +219,6 @@ CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! dimensionality of the ! turbulence scheme CHARACTER(len=4), INTENT(IN) :: HTURBLEN ! kind of mixing length TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_DIAG ! switch to write some ! diagnostic fields in the syncronous FM-file REAL, DIMENSION(:,:,:), INTENT(INOUT):: PDP ! Dyn. prod. of TKE @@ -345,7 +341,7 @@ ENDIF !END WHERE ! IF ( LLES_CALL .OR. & - (OTURB_DIAG .AND. OCLOSE_OUT) ) THEN + (OTURB_DIAG .AND. tpfile%lopened) ) THEN ! ! Compute the cartesian vertical flux of TKE in ZFLX ! @@ -406,7 +402,7 @@ if (lbudget_th) call Budget_store_end( tbudgets(NBUDGET_TH), 'DISSH', prthls(:, ! PDISS(:,:,:) = -XCED * (PTKEM(:,:,:)**1.5) / PLEPS(:,:,:) ! -IF ( OTURB_DIAG .AND. OCLOSE_OUT ) THEN +IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN ! ! stores the dynamic production ! diff --git a/src/MNH/turb.f90 b/src/MNH/turb.f90 index 19026af637a6f3ac210c67b8135a55cce0d4fc94..8969a939e0c888375df7f9eaa0773d7fa229f7cc 100644 --- a/src/MNH/turb.f90 +++ b/src/MNH/turb.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,8 +10,8 @@ INTERFACE ! SUBROUTINE TURB(KKA, KKU, KKL, KMI,KRR,KRRL,KRRI,HLBCX,HLBCY, & - KSPLIT,KMODEL_CL, & - OCLOSE_OUT,OTURB_FLX,OTURB_DIAG,OSUBG_COND,ORMC01, & + KSPLIT,KMODEL_CL, & + OTURB_FLX,OTURB_DIAG,OSUBG_COND,ORMC01, & HTURBDIM,HTURBLEN,HTOM,HTURBLEN_CL,HCLOUD,PIMPL, & PTSTEP,TPFILE,PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW,PCOSSLOPE,PSINSLOPE, & @@ -37,8 +37,6 @@ INTEGER, INTENT(IN) :: KRRI ! number of ice water var. CHARACTER(LEN=*),DIMENSION(:),INTENT(IN):: HLBCX, HLBCY ! X- and Y-direc LBC INTEGER, INTENT(IN) :: KSPLIT ! number of time-splitting INTEGER, INTENT(IN) :: KMODEL_CL ! model number for cloud mixing length -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file LOGICAL, INTENT(IN) :: OTURB_DIAG ! switch to write some @@ -135,15 +133,16 @@ END INTERFACE END MODULE MODI_TURB ! ! ################################################################# - SUBROUTINE TURB(KKA,KKU,KKL,KMI,KRR,KRRL,KRRI,HLBCX,HLBCY,KSPLIT,KMODEL_CL, & - OCLOSE_OUT,OTURB_FLX,OTURB_DIAG,OSUBG_COND,ORMC01, & + SUBROUTINE TURB(KKA, KKU, KKL, KMI,KRR,KRRL,KRRI,HLBCX,HLBCY, & + KSPLIT,KMODEL_CL, & + OTURB_FLX,OTURB_DIAG,OSUBG_COND,ORMC01, & HTURBDIM,HTURBLEN,HTOM,HTURBLEN_CL,HCLOUD,PIMPL, & PTSTEP,TPFILE,PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW,PCOSSLOPE,PSINSLOPE, & PRHODJ,PTHVREF, & PSFTH,PSFRV,PSFSV,PSFU,PSFV, & PPABST,PUT,PVT,PWT,PTKET,PSVT,PSRCT, & - PBL_DEPTH,PSBL_DEPTH, & + PBL_DEPTH, PSBL_DEPTH, & PCEI,PCEI_MIN,PCEI_MAX,PCOEF_AMPL_SAT, & PTHLT,PRT, & PRUS,PRVS,PRWS,PRTHLS,PRRS,PRSVS,PRTKES,PRTKEMS,PSIGS,& @@ -409,8 +408,6 @@ INTEGER, INTENT(IN) :: KRRI ! number of ice water var. CHARACTER(LEN=*),DIMENSION(:),INTENT(IN):: HLBCX, HLBCY ! X- and Y-direc LBC INTEGER, INTENT(IN) :: KSPLIT ! number of time-splitting INTEGER, INTENT(IN) :: KMODEL_CL ! model number for cloud mixing length -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file LOGICAL, INTENT(IN) :: OTURB_DIAG ! switch to write some @@ -686,7 +683,7 @@ IF (KRRL >=1) THEN END IF ! ! - IF (OCLOSE_OUT .AND. OTURB_DIAG) THEN + IF ( tpfile%lopened .AND. OTURB_DIAG ) THEN TZFIELD%CMNHNAME = 'ATHETA' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'ATHETA' @@ -950,7 +947,7 @@ if ( lbudget_sv ) then end if CALL TURB_VER(KKA,KKU,KKL,KRR, KRRL, KRRI, & - OCLOSE_OUT,OTURB_FLX, & + OTURB_FLX, & HTURBDIM,HTOM,PIMPL,ZEXPL, & PTSTEP,TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PDIRCOSZW,PZZ, & @@ -1036,7 +1033,7 @@ if ( hturbdim == '3DIM' ) then end if CALL TURB_HOR_SPLT(KSPLIT, KRR, KRRL, KRRI, PTSTEP, & - HLBCX,HLBCY,OCLOSE_OUT,OTURB_FLX,OSUBG_COND, & + HLBCX,HLBCY,OTURB_FLX,OSUBG_COND, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW, & @@ -1101,7 +1098,7 @@ CALL TKE_EPS_SOURCES(KKA,KKU,KKL,KMI,PTKET,PLEM,ZLEPS,PDYP,ZTRH, & PRHODJ,PDZZ,PDXX,PDYY,PDZX,PDZY,PZZ, & PTSTEP,PIMPL,ZEXPL, & HTURBLEN,HTURBDIM, & - TPFILE,OCLOSE_OUT,OTURB_DIAG, & + TPFILE,OTURB_DIAG, & PTHP,PRTKES,PRTKEMS,PRTHLS,ZCOEF_DISS,PTR,PDISS ) !---------------------------------------------------------------------------- @@ -1109,7 +1106,7 @@ CALL TKE_EPS_SOURCES(KKA,KKU,KKL,KMI,PTKET,PLEM,ZLEPS,PDYP,ZTRH, & !* 7. STORES SOME INFORMATIONS RELATED TO THE TURBULENCE SCHEME ! --------------------------------------------------------- ! -IF ( OTURB_DIAG .AND. OCLOSE_OUT ) THEN +IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN ! ! stores the mixing length ! @@ -1732,7 +1729,7 @@ ENDIF ! ----------------------------------------------- ! ! Impression before modification of the mixing length -IF ( OTURB_DIAG .AND. OCLOSE_OUT ) THEN +IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'LM_CLEAR_SKY' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'LM_CLEAR_SKY' @@ -1758,7 +1755,7 @@ WHERE (PCEI(:,:,:) == -1.) PLEM(:,:,:) = ZLM_CLOUD(:,:,:) !* 5. IMPRESSION ! ---------- ! -IF ( OTURB_DIAG .AND. OCLOSE_OUT ) THEN +IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'COEF_AMPL' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'COEF_AMPL' diff --git a/src/MNH/turb_cloud_index.f90 b/src/MNH/turb_cloud_index.f90 index 3ab076106ce700ded50c86681ada39a2c8a34e16..c194db61154a5c3fe6fcf2308dae47d01720856c 100644 --- a/src/MNH/turb_cloud_index.f90 +++ b/src/MNH/turb_cloud_index.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE TURB_CLOUD_INDEX(PTSTEP,TPFILE, & - OTURB_DIAG,OCLOSE_OUT,KRRI, & + OTURB_DIAG,KRRI, & PRRS,PRM,PRHODJ,PDXX,PDYY,PDZZ,PDZX,PDZY, & PCEI ) ! @@ -20,8 +20,6 @@ REAL, INTENT(IN) :: PTSTEP ! Double Time step TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file LOGICAL, INTENT(IN) :: OTURB_DIAG ! switch to write some ! diagnostic fields in the syncronous FM-file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening INTEGER, INTENT(IN) :: KRRI ! number of ice water var. REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRRS ! Sources term of RR REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRM ! Variable at t-dt @@ -41,7 +39,7 @@ END MODULE MODI_TURB_CLOUD_INDEX ! ! ####################### SUBROUTINE TURB_CLOUD_INDEX(PTSTEP,TPFILE, & - OTURB_DIAG,OCLOSE_OUT,KRRI, & + OTURB_DIAG,KRRI, & PRRS,PRM,PRHODJ,PDXX,PDYY,PDZZ,PDZX,PDZY, & PCEI ) ! ####################### @@ -105,8 +103,6 @@ REAL, INTENT(IN) :: PTSTEP ! Double Time step TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file LOGICAL, INTENT(IN) :: OTURB_DIAG ! switch to write some ! diagnostic fields in the syncronous FM-file -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening INTEGER, INTENT(IN) :: KRRI ! number of ice water var. REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRRS ! Sources term of RR REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRM ! Variable at t-dt @@ -247,7 +243,7 @@ ENDDO ! !* 2.5 Writing ! -IF ( OTURB_DIAG .AND. OCLOSE_OUT ) THEN +IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'RVCI' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'RVCI' diff --git a/src/MNH/turb_hor.f90 b/src/MNH/turb_hor.f90 index 522bb30b003feab886665e6d263510a524a4d7e8..8c872dcee439fe7faea9f96ce4f171a76ea4ff8a 100644 --- a/src/MNH/turb_hor.f90 +++ b/src/MNH/turb_hor.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE TURB_HOR(KSPLT, KRR, KRRL, KRRI, PTSTEP, & - OCLOSE_OUT,OTURB_FLX,OSUBG_COND, & + OTURB_FLX,OSUBG_COND, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW, & @@ -34,8 +34,6 @@ INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. REAL, INTENT(IN) :: PTSTEP ! -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for sub-grid @@ -111,7 +109,7 @@ END INTERFACE END MODULE MODI_TURB_HOR ! ################################################################ SUBROUTINE TURB_HOR(KSPLT, KRR, KRRL, KRRI, PTSTEP, & - OCLOSE_OUT,OTURB_FLX,OSUBG_COND, & + OTURB_FLX,OSUBG_COND, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW, & @@ -267,8 +265,6 @@ INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. REAL, INTENT(IN) :: PTSTEP ! -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for sub-grid @@ -356,7 +352,7 @@ REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSIGS !* 7. < V' TPV' > ! CALL TURB_HOR_THERMO_FLUX(KSPLT, KRR, KRRL, KRRI, & - OCLOSE_OUT,OTURB_FLX,OSUBG_COND, & + OTURB_FLX,OSUBG_COND, & TPFILE, & PK,PINV_PDXX,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -372,7 +368,7 @@ REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSIGS ! IF (KSPLT==1) & CALL TURB_HOR_THERMO_CORR(KRR, KRRL, KRRI, & - OCLOSE_OUT,OTURB_FLX,OSUBG_COND, & + OTURB_FLX,OSUBG_COND, & TPFILE, & PINV_PDXX,PINV_PDYY, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -388,7 +384,7 @@ REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSIGS !* 11. < W'W'> ! CALL TURB_HOR_DYN_CORR(KSPLT, PTSTEP, & - OCLOSE_OUT,OTURB_FLX,KRR, & + OTURB_FLX,KRR, & TPFILE, & PK,PINV_PDZZ, & PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & @@ -406,7 +402,7 @@ REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSIGS !* 12. < U'V'> ! CALL TURB_HOR_UV(KSPLT, & - OCLOSE_OUT,OTURB_FLX, & + OTURB_FLX, & TPFILE, & PK,PINV_PDXX,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -422,7 +418,7 @@ REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSIGS !* 13. < U'W'> ! CALL TURB_HOR_UW(KSPLT, & - OCLOSE_OUT,OTURB_FLX,KRR, & + OTURB_FLX,KRR, & TPFILE, & PK,PINV_PDXX,PINV_PDZZ,PMZM_PRHODJ, & PDXX,PDZZ,PDZX, & @@ -436,7 +432,7 @@ REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSIGS !* 14. < V'W'> ! CALL TURB_HOR_VW(KSPLT, & - OCLOSE_OUT,OTURB_FLX,KRR, & + OTURB_FLX,KRR, & TPFILE, & PK,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ, & PDYY,PDZZ,PDZY, & @@ -451,7 +447,7 @@ REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSIGS !* 15. HORIZONTAL FLUXES OF PASSIVE SCALARS ! CALL TURB_HOR_SV_FLUX(KSPLT, & - OCLOSE_OUT,OTURB_FLX, & + OTURB_FLX, & TPFILE, & PK,PINV_PDXX,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ, & PDXX,PDYY,PDZZ,PDZX,PDZY, & diff --git a/src/MNH/turb_hor_dyn_corr.f90 b/src/MNH/turb_hor_dyn_corr.f90 index 4787f4dd84696cf26dabf5bbd9aa4e2b18227c04..2a4a3e98d7fa391aa25e8b6c048680eca238bb63 100644 --- a/src/MNH/turb_hor_dyn_corr.f90 +++ b/src/MNH/turb_hor_dyn_corr.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -8,7 +8,7 @@ MODULE MODI_TURB_HOR_DYN_CORR INTERFACE ! SUBROUTINE TURB_HOR_DYN_CORR(KSPLT, PTSTEP, & - OCLOSE_OUT,OTURB_FLX,KRR, & + OTURB_FLX,KRR, & TPFILE, & PK,PINV_PDZZ, & PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & @@ -26,8 +26,6 @@ USE MODD_IO, ONLY: TFILEDATA ! INTEGER, INTENT(IN) :: KSPLT ! split process index REAL, INTENT(IN) :: PTSTEP ! timestep -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file INTEGER, INTENT(IN) :: KRR ! number of moist var. @@ -79,7 +77,7 @@ END INTERFACE END MODULE MODI_TURB_HOR_DYN_CORR ! ################################################################ SUBROUTINE TURB_HOR_DYN_CORR(KSPLT, PTSTEP, & - OCLOSE_OUT,OTURB_FLX,KRR, & + OTURB_FLX,KRR, & TPFILE, & PK,PINV_PDZZ, & PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & @@ -176,8 +174,6 @@ IMPLICIT NONE ! INTEGER, INTENT(IN) :: KSPLT ! split process index REAL, INTENT(IN) :: PTSTEP ! timestep -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file INTEGER, INTENT(IN) :: KRR ! number of moist var. @@ -373,7 +369,7 @@ ZFLX(:,:,IKB-1) = & ZFLX(:,:,IKB-1) = 2. * ZFLX(:,:,IKB-1) - ZFLX(:,:,IKB) ! CALL UPDATE_HALO_ll(TZFIELDS_ll, IINFO_ll) -IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN +IF ( tpfile%lopened .AND. OTURB_FLX ) THEN ! stores <U U> TZFIELD%CMNHNAME = 'U_VAR' TZFIELD%CSTDNAME = '' @@ -468,7 +464,7 @@ ZFLX(:,:,IKB-1) = 2. * ZFLX(:,:,IKB-1) - ZFLX(:,:,IKB) ! CALL UPDATE_HALO_ll(TZFIELDS_ll, IINFO_ll) ! -IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN +IF ( tpfile%lopened .AND. OTURB_FLX ) THEN ! stores <V V> TZFIELD%CMNHNAME = 'V_VAR' TZFIELD%CSTDNAME = '' @@ -555,7 +551,7 @@ ZFLX(:,:,IKB-1) = & ! ZFLX(:,:,IKB-1) = 2. * ZFLX(:,:,IKB-1) - ZFLX(:,:,IKB) ! -IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN +IF ( tpfile%lopened .AND. OTURB_FLX ) THEN ! stores <W W> TZFIELD%CMNHNAME = 'W_VAR' TZFIELD%CSTDNAME = '' diff --git a/src/MNH/turb_hor_splt.f90 b/src/MNH/turb_hor_splt.f90 index cb43941a8f96506c872550fc37fc5cf35bd703eb..2de0ca9a8cdea58c8f98279e1ddcbc7d2038070a 100644 --- a/src/MNH/turb_hor_splt.f90 +++ b/src/MNH/turb_hor_splt.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE TURB_HOR_SPLT(KSPLIT, KRR, KRRL, KRRI, PTSTEP, & - HLBCX,HLBCY,OCLOSE_OUT,OTURB_FLX,OSUBG_COND, & + HLBCX,HLBCY,OTURB_FLX,OSUBG_COND, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW, & @@ -34,8 +34,6 @@ INTEGER, INTENT(IN) :: KRRL ! number of liquid water v INTEGER, INTENT(IN) :: KRRI ! number of ice water var. REAL, INTENT(IN) :: PTSTEP ! timestep CHARACTER (LEN=*), DIMENSION(:), INTENT(IN) :: HLBCX,HLBCY -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for sub-grid @@ -106,7 +104,7 @@ END INTERFACE END MODULE MODI_TURB_HOR_SPLT ! ################################################################ SUBROUTINE TURB_HOR_SPLT(KSPLIT, KRR, KRRL, KRRI, PTSTEP, & - HLBCX,HLBCY,OCLOSE_OUT,OTURB_FLX,OSUBG_COND, & + HLBCX,HLBCY,OTURB_FLX,OSUBG_COND, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW, & @@ -280,8 +278,6 @@ INTEGER, INTENT(IN) :: KRRL ! number of liquid water v INTEGER, INTENT(IN) :: KRRI ! number of ice water var. REAL, INTENT(IN) :: PTSTEP ! timestep CHARACTER (LEN=*), DIMENSION(:), INTENT(IN) :: HLBCX,HLBCY -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for sub-grid @@ -458,7 +454,7 @@ IF (KSPLIT>1 .AND. CPROGRAM=='MESONH') THEN ! ! compute the turbulent tendencies for the small time step CALL TURB_HOR(JSPLT, KRR, KRRL, KRRI, PTSTEP, & - OCLOSE_OUT,OTURB_FLX,OSUBG_COND, & + OTURB_FLX,OSUBG_COND, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW, & @@ -599,7 +595,7 @@ IF (KSPLIT>1 .AND. CPROGRAM=='MESONH') THEN ELSE ! CALL TURB_HOR(1, KRR, KRRL, KRRI, PTSTEP, & - OCLOSE_OUT,OTURB_FLX,OSUBG_COND, & + OTURB_FLX,OSUBG_COND, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW, & diff --git a/src/MNH/turb_hor_sv_flux.f90 b/src/MNH/turb_hor_sv_flux.f90 index ea0b84e61b4a94d33130cbdf89f306fcb0758ee9..163ee3d0203f1e9cad04a62d18573d07707c4c20 100644 --- a/src/MNH/turb_hor_sv_flux.f90 +++ b/src/MNH/turb_hor_sv_flux.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE TURB_HOR_SV_FLUX(KSPLT, & - OCLOSE_OUT,OTURB_FLX, & + OTURB_FLX, & TPFILE, & PK,PINV_PDXX,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -23,8 +23,6 @@ INTERFACE USE MODD_IO, ONLY: TFILEDATA ! INTEGER, INTENT(IN) :: KSPLT ! split process index -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file @@ -59,7 +57,7 @@ END INTERFACE END MODULE MODI_TURB_HOR_SV_FLUX ! ################################################################ SUBROUTINE TURB_HOR_SV_FLUX(KSPLT, & - OCLOSE_OUT,OTURB_FLX, & + OTURB_FLX, & TPFILE, & PK,PINV_PDXX,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -142,8 +140,6 @@ IMPLICIT NONE ! ! INTEGER, INTENT(IN) :: KSPLT ! split process index -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file @@ -251,7 +247,7 @@ DO JSV=1,ISV ZFLXX(:,:,IKB-1:IKB-1) = 2. * MXM( ZWORK2D(:,:,1:1) ) - ZFLXX(:,:,IKB:IKB) ! ! stores <U SVth> - IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN + IF ( tpfile%lopened .AND. OTURB_FLX ) THEN WRITE(TZFIELD%CMNHNAME,'("USV_FLX_",I3.3)') JSV TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME) @@ -302,7 +298,7 @@ DO JSV=1,ISV ZFLXY(:,:,IKB-1:IKB-1) = 2. * MYM( ZWORK2D(:,:,1:1) ) - ZFLXY(:,:,IKB:IKB) ! ! stores <V SVth> - IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN + IF ( tpfile%lopened .AND. OTURB_FLX ) THEN WRITE(TZFIELD%CMNHNAME,'("VSV_FLX_",I3.3)') JSV TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = TRIM(TZFIELD%CMNHNAME) diff --git a/src/MNH/turb_hor_thermo_corr.f90 b/src/MNH/turb_hor_thermo_corr.f90 index cf9363d6363524a427c88f79d600b796d1db4b33..b619486765f9001c536c5b7860997c9c8894aaca 100644 --- a/src/MNH/turb_hor_thermo_corr.f90 +++ b/src/MNH/turb_hor_thermo_corr.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE TURB_HOR_THERMO_CORR(KRR, KRRL, KRRI, & - OCLOSE_OUT,OTURB_FLX,OSUBG_COND, & + OTURB_FLX,OSUBG_COND, & TPFILE, & PINV_PDXX,PINV_PDYY, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -25,8 +25,6 @@ USE MODD_IO, ONLY: TFILEDATA INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for sub-grid @@ -69,7 +67,7 @@ END INTERFACE END MODULE MODI_TURB_HOR_THERMO_CORR ! ################################################################ SUBROUTINE TURB_HOR_THERMO_CORR(KRR, KRRL, KRRI, & - OCLOSE_OUT,OTURB_FLX,OSUBG_COND, & + OTURB_FLX,OSUBG_COND, & TPFILE, & PINV_PDXX,PINV_PDYY, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -152,8 +150,6 @@ IMPLICIT NONE INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for sub-grid @@ -228,7 +224,7 @@ ZCOEFF(:,:,IKB)= - (PDZZ(:,:,IKB+2)+2.*PDZZ(:,:,IKB+1)) / & ! ! ! -IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. OCLOSE_OUT ) & +IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. tpfile%lopened ) & .OR. ( LLES_CALL ) ) THEN ! !* 8.1 <THl THl> @@ -269,7 +265,7 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. OCLOSE_OUT ) & END IF ! ! stores <THl THl> - IF ( OTURB_FLX .AND. OCLOSE_OUT ) THEN + IF ( OTURB_FLX .AND. tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'THL_HVAR' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'THL_HVAR' @@ -357,7 +353,7 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. OCLOSE_OUT ) & END IF ! ! stores <THl Rnp> - IF ( OTURB_FLX .AND. OCLOSE_OUT ) THEN + IF ( OTURB_FLX .AND. tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'THLR_HCOR' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'THLR_HCOR' @@ -425,7 +421,7 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. OCLOSE_OUT ) & END IF ! ! stores <Rnp Rnp> - IF ( OTURB_FLX .AND. OCLOSE_OUT ) THEN + IF ( OTURB_FLX .AND. tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'R_HVAR' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'R_HVAR' diff --git a/src/MNH/turb_hor_thermo_flux.f90 b/src/MNH/turb_hor_thermo_flux.f90 index bd7d1854aa5dfbaf2171ae889c7d9f38bcc63ed5..90d189a2bf41c8261bc26bc692a95ec3fc2297a6 100644 --- a/src/MNH/turb_hor_thermo_flux.f90 +++ b/src/MNH/turb_hor_thermo_flux.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE TURB_HOR_THERMO_FLUX(KSPLT, KRR, KRRL, KRRI, & - OCLOSE_OUT,OTURB_FLX,OSUBG_COND, & + OTURB_FLX,OSUBG_COND, & TPFILE, & PK,PINV_PDXX,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -27,8 +27,6 @@ INTEGER, INTENT(IN) :: KSPLT ! split process index INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for sub-grid @@ -75,7 +73,7 @@ END INTERFACE END MODULE MODI_TURB_HOR_THERMO_FLUX ! ################################################################ SUBROUTINE TURB_HOR_THERMO_FLUX(KSPLT, KRR, KRRL, KRRI, & - OCLOSE_OUT,OTURB_FLX,OSUBG_COND, & + OTURB_FLX,OSUBG_COND, & TPFILE, & PK,PINV_PDXX,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -161,8 +159,6 @@ INTEGER, INTENT(IN) :: KSPLT ! split process index INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file LOGICAL, INTENT(IN) :: OSUBG_COND ! Switch for sub-grid @@ -314,7 +310,7 @@ END IF !!ZWORK(:,:,:) = ZFLX(:,:,:) ! ! stores the horizontal <U THl> -IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN +IF ( tpfile%lopened .AND. OTURB_FLX ) THEN TZFIELD%CMNHNAME = 'UTHL_FLX' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'UTHL_FLX' @@ -417,7 +413,7 @@ IF (KRR/=0) THEN END IF ! ! stores the horizontal <U Rnp> - IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN + IF ( tpfile%lopened .AND. OTURB_FLX ) THEN TZFIELD%CMNHNAME = 'UR_FLX' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'UR_FLX' @@ -466,7 +462,7 @@ END IF !! ZFLX(:,:,:)*MXM(EMOIST(KRR,KRRI,PTHLT,PEXNREF,PRT,PLOCPT,PSRCM)) !! ! !! ! stores the horizontal <U VPT> -!! IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN +!! IF ( tpfile%lopened .AND. OTURB_FLX ) THEN !! TZFIELD%CMNHNAME = 'UVPT_FLX' !! TZFIELD%CSTDNAME = '' !! TZFIELD%CLONGNAME = 'UVPT_FLX' @@ -569,7 +565,7 @@ END IF !!ZWORK(:,:,:) = ZFLX(:,:,:) ! ! stores the horizontal <V THl> -IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN +IF ( tpfile%lopened .AND. OTURB_FLX ) THEN TZFIELD%CMNHNAME = 'VTHL_FLX' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'VTHL_FLX' @@ -681,7 +677,7 @@ IF (KRR/=0) THEN END IF ! ! stores the horizontal <V Rnp> - IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN + IF ( tpfile%lopened .AND. OTURB_FLX ) THEN TZFIELD%CMNHNAME = 'VR_FLX' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'VR_FLX' @@ -734,7 +730,7 @@ END IF !! END IF !! ! !! ! stores the horizontal <V VPT> -!! IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN +!! IF ( tpfile%lopened .AND. OTURB_FLX ) THEN !! TZFIELD%CMNHNAME = 'VVPT_FLX' !! TZFIELD%CSTDNAME = '' !! TZFIELD%CLONGNAME = 'VVPT_FLX' diff --git a/src/MNH/turb_hor_uv.f90 b/src/MNH/turb_hor_uv.f90 index b28ffda5ad18a05276cd57018c5d61e689c165f1..3fcecc20e2d98fa1844db2631a0c1e10256cd7f3 100644 --- a/src/MNH/turb_hor_uv.f90 +++ b/src/MNH/turb_hor_uv.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE TURB_HOR_UV(KSPLT, & - OCLOSE_OUT,OTURB_FLX, & + OTURB_FLX, & TPFILE, & PK,PINV_PDXX,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -25,8 +25,6 @@ INTERFACE USE MODD_IO, ONLY: TFILEDATA ! INTEGER, INTENT(IN) :: KSPLT ! split process index -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file @@ -74,7 +72,7 @@ END INTERFACE END MODULE MODI_TURB_HOR_UV ! ################################################################ SUBROUTINE TURB_HOR_UV(KSPLT, & - OCLOSE_OUT,OTURB_FLX, & + OTURB_FLX, & TPFILE, & PK,PINV_PDXX,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -153,8 +151,6 @@ IMPLICIT NONE ! ! INTEGER, INTENT(IN) :: KSPLT ! split process index -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file @@ -273,7 +269,7 @@ ZFLX(:,:,IKB-1:IKB-1) = 2. * MXM( MYM( ZFLX(:,:,IKB-1:IKB-1) ) ) & - ZFLX(:,:,IKB:IKB) ! ! stores <U V> -IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN +IF ( tpfile%lopened .AND. OTURB_FLX ) THEN TZFIELD%CMNHNAME = 'UV_FLX' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'UV_FLX' diff --git a/src/MNH/turb_hor_uw.f90 b/src/MNH/turb_hor_uw.f90 index 6928baca32b84536ba336131f42dbd095444e6ef..d19c68bae6607c4805871d5e4169380917ccdb80 100644 --- a/src/MNH/turb_hor_uw.f90 +++ b/src/MNH/turb_hor_uw.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE TURB_HOR_UW(KSPLT, & - OCLOSE_OUT,OTURB_FLX,KRR, & + OTURB_FLX,KRR, & TPFILE, & PK,PINV_PDXX,PINV_PDZZ,PMZM_PRHODJ, & PDXX,PDZZ,PDZX, & @@ -23,8 +23,6 @@ INTERFACE USE MODD_IO, ONLY: TFILEDATA ! INTEGER, INTENT(IN) :: KSPLT ! split process index -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file INTEGER, INTENT(IN) :: KRR ! number of moist var. @@ -62,7 +60,7 @@ END INTERFACE END MODULE MODI_TURB_HOR_UW ! ################################################################ SUBROUTINE TURB_HOR_UW(KSPLT, & - OCLOSE_OUT,OTURB_FLX,KRR, & + OTURB_FLX,KRR, & TPFILE, & PK,PINV_PDXX,PINV_PDZZ,PMZM_PRHODJ, & PDXX,PDZZ,PDZX, & @@ -145,8 +143,6 @@ IMPLICIT NONE ! ! INTEGER, INTENT(IN) :: KSPLT ! split process index -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file INTEGER, INTENT(IN) :: KRR ! number of moist var. @@ -223,7 +219,7 @@ ZFLX(:,:,IKB) = 0. ZFLX(:,:,IKB-1)=2.*ZFLX(:,:,IKB)- ZFLX(:,:,IKB+1) ! ! stores <U W> -IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN +IF ( tpfile%lopened .AND. OTURB_FLX ) THEN TZFIELD%CMNHNAME = 'UW_HFLX' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'UW_HFLX' diff --git a/src/MNH/turb_hor_vw.f90 b/src/MNH/turb_hor_vw.f90 index eb1de6d6f538c67a22ef4c547ea80a9a5c622d69..df888c2c7ba810d520a842ae57584710b2708359 100644 --- a/src/MNH/turb_hor_vw.f90 +++ b/src/MNH/turb_hor_vw.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE TURB_HOR_VW(KSPLT, & - OCLOSE_OUT,OTURB_FLX,KRR, & + OTURB_FLX,KRR, & TPFILE, & PK,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ, & PDYY,PDZZ,PDZY, & @@ -23,8 +23,6 @@ INTERFACE USE MODD_IO, ONLY: TFILEDATA ! INTEGER, INTENT(IN) :: KSPLT ! split process index -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file INTEGER, INTENT(IN) :: KRR ! number of moist var. @@ -58,7 +56,7 @@ END INTERFACE END MODULE MODI_TURB_HOR_VW ! ################################################################ SUBROUTINE TURB_HOR_VW(KSPLT, & - OCLOSE_OUT,OTURB_FLX,KRR, & + OTURB_FLX,KRR, & TPFILE, & PK,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ, & PDYY,PDZZ,PDZY, & @@ -141,8 +139,6 @@ IMPLICIT NONE ! ! INTEGER, INTENT(IN) :: KSPLT ! split process index -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file INTEGER, INTENT(IN) :: KRR ! number of moist var. @@ -225,7 +221,7 @@ ZFLX(:,:,IKB) = 0. ZFLX(:,:,IKB-1)= 2.*ZFLX(:,:,IKB) - ZFLX(:,:,IKB+1) ! ! stores <V W> -IF ( OCLOSE_OUT .AND. OTURB_FLX ) THEN +IF ( tpfile%lopened .AND. OTURB_FLX ) THEN TZFIELD%CMNHNAME = 'VW_HFLX' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'VW_HFLX' diff --git a/src/MNH/turb_ver.f90 b/src/MNH/turb_ver.f90 index f41ffc69760e4800cb817ae2c29c2d76cf40ccbb..c4e3511ee0ed94c49e2b466b01ae0a6ab392fbe3 100644 --- a/src/MNH/turb_ver.f90 +++ b/src/MNH/turb_ver.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,8 +10,8 @@ INTERFACE ! SUBROUTINE TURB_VER(KKA,KKU,KKL,KRR,KRRL,KRRI, & - OCLOSE_OUT,OTURB_FLX, & - HTURBDIM,HTOM,PIMPL,PEXPL, & + OTURB_FLX, & + HTURBDIM,HTOM,PIMPL,PEXPL, & PTSTEP, TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PDIRCOSZW,PZZ, & PCOSSLOPE,PSINSLOPE, & @@ -32,8 +32,6 @@ USE MODD_IO, ONLY: TFILEDATA INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! dimensionality of the @@ -120,8 +118,8 @@ END MODULE MODI_TURB_VER ! ! ############################################################### SUBROUTINE TURB_VER(KKA,KKU,KKL,KRR, KRRL, KRRI, & - OCLOSE_OUT,OTURB_FLX, & - HTURBDIM,HTOM,PIMPL,PEXPL, & + OTURB_FLX, & + HTURBDIM,HTOM,PIMPL,PEXPL, & PTSTEP, TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PDIRCOSZW,PZZ, & PCOSSLOPE,PSINSLOPE, & @@ -358,8 +356,6 @@ INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH - INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! dimensionality of the @@ -520,7 +516,7 @@ IKE=KKU-JPVEXT_TURB*KKL ! 3D Redelsperger numbers ! ! -CALL PRANDTL(KKA,KKU,KKL,KRR,KRRI,OCLOSE_OUT,OTURB_FLX, & +CALL PRANDTL(KKA,KKU,KKL,KRR,KRRI,OTURB_FLX, & HTURBDIM, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY, & @@ -593,7 +589,7 @@ END IF ! ! CALL TURB_VER_THERMO_FLUX(KKA,KKU,KKL,KRR,KRRL,KRRI, & - OCLOSE_OUT,OTURB_FLX,HTURBDIM,HTOM, & + OTURB_FLX,HTURBDIM,HTOM, & PIMPL,PEXPL,PTSTEP, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PDIRCOSZW,PZZ, & @@ -609,7 +605,7 @@ END IF PRTHLS,PRRS,ZTHLP,ZRP,PTP,PWTH,PWRC ) ! CALL TURB_VER_THERMO_CORR(KKA,KKU,KKL,KRR,KRRL,KRRI, & - OCLOSE_OUT,OTURB_FLX,HTURBDIM,HTOM, & + OTURB_FLX,HTURBDIM,HTOM, & PIMPL,PEXPL, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PDIRCOSZW, & @@ -638,7 +634,7 @@ END IF ! ----------------------------------------------- ! CALL TURB_VER_DYN_FLUX(KKA,KKU,KKL, & - OCLOSE_OUT,OTURB_FLX,KRR, & + OTURB_FLX,KRR, & HTURBDIM,PIMPL,PEXPL,PTSTEP, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PDIRCOSZW,PZZ, & @@ -658,7 +654,7 @@ CALL TURB_VER_DYN_FLUX(KKA,KKU,KKL, & ! IF (SIZE(PSVM,4)>0) & CALL TURB_VER_SV_FLUX(KKA,KKU,KKL, & - OCLOSE_OUT,OTURB_FLX,HTURBDIM, & + OTURB_FLX,HTURBDIM, & PIMPL,PEXPL,PTSTEP, & TPFILE, & PDZZ,PDIRCOSZW, & @@ -692,7 +688,7 @@ IF (SIZE(PSBL_DEPTH)>0) CALL SBL_DEPTH(IKB,IKE,PZZ,ZWU,ZWV,ZWTHV,PLMO,PSBL_DEPTH ! ------ ! ! -IF ( OTURB_FLX .AND. OCLOSE_OUT ) THEN +IF ( OTURB_FLX .AND. tpfile%lopened ) THEN ! ! stores the Turbulent Prandtl number ! diff --git a/src/MNH/turb_ver_dyn_flux.f90 b/src/MNH/turb_ver_dyn_flux.f90 index dad39fdb5bb9fcf550ed82285d2be166b7d5239c..10a40478b7dd7ba01fc2191d1646c78631448743 100644 --- a/src/MNH/turb_ver_dyn_flux.f90 +++ b/src/MNH/turb_ver_dyn_flux.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE TURB_VER_DYN_FLUX(KKA,KKU,KKL, & - OCLOSE_OUT,OTURB_FLX,KRR, & + OTURB_FLX,KRR, & HTURBDIM,PIMPL,PEXPL, & PTSTEP, & TPFILE, & @@ -28,8 +28,6 @@ USE MODD_IO, ONLY: TFILEDATA INTEGER, INTENT(IN) :: KKA !near ground array index INTEGER, INTENT(IN) :: KKU !uppest atmosphere array index INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH -1=AR -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file INTEGER, INTENT(IN) :: KRR ! number of moist var. @@ -89,7 +87,7 @@ END MODULE MODI_TURB_VER_DYN_FLUX ! ! ############################################################### SUBROUTINE TURB_VER_DYN_FLUX(KKA,KKU,KKL, & - OCLOSE_OUT,OTURB_FLX,KRR, & + OTURB_FLX,KRR, & HTURBDIM,PIMPL,PEXPL, & PTSTEP, & TPFILE, & @@ -319,8 +317,6 @@ IMPLICIT NONE INTEGER, INTENT(IN) :: KKA !near ground array index INTEGER, INTENT(IN) :: KKU !uppest atmosphere array index INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH -1=ARO -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file INTEGER, INTENT(IN) :: KRR ! number of moist var. @@ -509,7 +505,7 @@ ZFLXZ(:,:,IKB:IKB) = MXM(PDZZ(:,:,IKB:IKB)) * & ZFLXZ(:,:,KKA) = ZFLXZ(:,:,IKB) ! -IF ( OTURB_FLX .AND. OCLOSE_OUT ) THEN +IF ( OTURB_FLX .AND. tpfile%lopened ) THEN ! stores the U wind component vertical flux TZFIELD%CMNHNAME = 'UW_VFLX' TZFIELD%CSTDNAME = '' @@ -683,7 +679,7 @@ ZFLXZ(:,:,IKB:IKB) = MYM(PDZZ(:,:,IKB:IKB)) * & ! ZFLXZ(:,:,KKA) = ZFLXZ(:,:,IKB) ! -IF ( OTURB_FLX .AND. OCLOSE_OUT ) THEN +IF ( OTURB_FLX .AND. tpfile%lopened ) THEN ! stores the V wind component vertical flux TZFIELD%CMNHNAME = 'VW_VFLX' TZFIELD%CSTDNAME = '' @@ -791,7 +787,7 @@ END IF !* 7. DIAGNOSTIC COMPUTATION OF THE 1D <W W> VARIANCE ! ----------------------------------------------- ! -IF ( OTURB_FLX .AND. OCLOSE_OUT .AND. HTURBDIM == '1DIM') THEN +IF ( OTURB_FLX .AND. tpfile%lopened .AND. HTURBDIM == '1DIM') THEN ZFLXZ(:,:,:)= (2./3.) * PTKEM(:,:,:) & -XCMFS*PLM(:,:,:)*SQRT(PTKEM(:,:,:))*GZ_W_M(PWM,PDZZ) ! to be tested & diff --git a/src/MNH/turb_ver_sv_flux.f90 b/src/MNH/turb_ver_sv_flux.f90 index d97819307afcb496a3d824c934681735c80843f9..23d8bee0342d4fc3a6f28f73733d8f35c27308bc 100644 --- a/src/MNH/turb_ver_sv_flux.f90 +++ b/src/MNH/turb_ver_sv_flux.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE TURB_VER_SV_FLUX(KKA,KKU,KKL, & - OCLOSE_OUT,OTURB_FLX,HTURBDIM, & + OTURB_FLX,HTURBDIM, & PIMPL,PEXPL, & PTSTEP, & TPFILE, & @@ -26,8 +26,6 @@ USE MODD_IO, ONLY: TFILEDATA INTEGER, INTENT(IN) :: KKA !near ground array index INTEGER, INTENT(IN) :: KKU !uppest atmosphere array index INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH -1=AR -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! dimensionality of the @@ -69,7 +67,7 @@ END MODULE MODI_TURB_VER_SV_FLUX ! ! ############################################################### SUBROUTINE TURB_VER_SV_FLUX(KKA,KKU,KKL, & - OCLOSE_OUT,OTURB_FLX,HTURBDIM, & + OTURB_FLX,HTURBDIM, & PIMPL,PEXPL, & PTSTEP, & TPFILE, & @@ -302,8 +300,6 @@ IMPLICIT NONE INTEGER, INTENT(IN) :: KKA !near ground array index INTEGER, INTENT(IN) :: KKU !uppest atmosphere array index INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH -1=ARO -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! dimensionality of the @@ -428,7 +424,7 @@ DO JSV=1,ISV ! PRSVS(:,:,:,JSV)= MAX((PRSVS(:,:,:,JSV)+ & ! PRHODJ(:,:,:)*(ZRES(:,:,:)-PSVM(:,:,:,JSV))/PTSTEP),XSVMIN(JSV)) ! - IF ( (OTURB_FLX .AND. OCLOSE_OUT) .OR. LLES_CALL ) THEN + IF ( (OTURB_FLX .AND. tpfile%lopened) .OR. LLES_CALL ) THEN ! Diagnostic of the cartesian vertical flux ! ZFLXZ(:,:,:) = -ZCSV * PPSI_SV(:,:,:,JSV) * MZM(PLM*SQRT(PTKEM)) / PDZZ * & @@ -455,7 +451,7 @@ DO JSV=1,ISV PWSV(:,:,IKE,JSV)=PWSV(:,:,IKE-KKL,JSV) END IF ! - IF (OTURB_FLX .AND. OCLOSE_OUT) THEN + IF (OTURB_FLX .AND. tpfile%lopened) THEN ! stores the JSVth vertical flux WRITE(TZFIELD%CMNHNAME,'("WSV_FLX_",I3.3)') JSV TZFIELD%CSTDNAME = '' diff --git a/src/MNH/turb_ver_thermo_corr.f90 b/src/MNH/turb_ver_thermo_corr.f90 index d9b9507b77f35492b8d4673f07d8ed16bf53078b..bdd074e5c52af78809d84b8fa5077d56e12a76d5 100644 --- a/src/MNH/turb_ver_thermo_corr.f90 +++ b/src/MNH/turb_ver_thermo_corr.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE TURB_VER_THERMO_CORR(KKA,KKU,KKL,KRR,KRRL,KRRI, & - OCLOSE_OUT,OTURB_FLX,HTURBDIM,HTOM, & + OTURB_FLX,HTURBDIM,HTOM, & PIMPL,PEXPL, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PDIRCOSZW, & @@ -33,8 +33,6 @@ INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH - INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! dimensionality of the @@ -111,7 +109,7 @@ END MODULE MODI_TURB_VER_THERMO_CORR ! ! ############################################################### SUBROUTINE TURB_VER_THERMO_CORR(KKA,KKU,KKL,KRR, KRRL, KRRI, & - OCLOSE_OUT,OTURB_FLX,HTURBDIM,HTOM, & + OTURB_FLX,HTURBDIM,HTOM, & PIMPL,PEXPL, & TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PDIRCOSZW, & @@ -347,8 +345,6 @@ INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH - INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! dimensionality of the @@ -571,7 +567,7 @@ END IF ! ! ! stores <THl THl> - IF ( OTURB_FLX .AND. OCLOSE_OUT ) THEN + IF ( OTURB_FLX .AND. tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'THL_VVAR' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'THL_VVAR' @@ -698,7 +694,7 @@ END IF 2. * PATHETA(:,:,:) * PAMOIST(:,:,:) * ZFLXZ(:,:,:) END IF ! stores <THl Rnp> - IF ( OTURB_FLX .AND. OCLOSE_OUT ) THEN + IF ( OTURB_FLX .AND. tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'THLRCONS_VCOR' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'THLRCONS_VCOR' @@ -805,7 +801,7 @@ END IF PSIGS(:,:,:) = PSIGS(:,:,:) + PAMOIST(:,:,:) **2 * ZFLXZ(:,:,:) END IF ! stores <Rnp Rnp> - IF ( OTURB_FLX .AND. OCLOSE_OUT ) THEN + IF ( OTURB_FLX .AND. tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'RTOT_VVAR' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'RTOT_VVAR' diff --git a/src/MNH/turb_ver_thermo_flux.f90 b/src/MNH/turb_ver_thermo_flux.f90 index 84a997a828904ff31cd2cf6f2661023f36131e8c..80825e315814042a0c25a11789f9e41e575ebe87 100644 --- a/src/MNH/turb_ver_thermo_flux.f90 +++ b/src/MNH/turb_ver_thermo_flux.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -10,7 +10,7 @@ INTERFACE ! SUBROUTINE TURB_VER_THERMO_FLUX(KKA,KKU,KKL,KRR,KRRL,KRRI, & - OCLOSE_OUT,OTURB_FLX,HTURBDIM,HTOM, & + OTURB_FLX,HTURBDIM,HTOM, & PIMPL,PEXPL, & PTSTEP, & TPFILE, & @@ -34,8 +34,6 @@ INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH - INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! dimensionality of the @@ -122,7 +120,7 @@ END MODULE MODI_TURB_VER_THERMO_FLUX ! ! ############################################################### SUBROUTINE TURB_VER_THERMO_FLUX(KKA,KKU,KKL,KRR, KRRL, KRRI, & - OCLOSE_OUT,OTURB_FLX,HTURBDIM,HTOM, & + OTURB_FLX,HTURBDIM,HTOM, & PIMPL,PEXPL, & PTSTEP, & TPFILE, & @@ -366,8 +364,6 @@ INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH - INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. -LOGICAL, INTENT(IN) :: OCLOSE_OUT ! switch for syncronous - ! file opening LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the ! turbulent fluxes in the syncronous FM-file CHARACTER(len=4), INTENT(IN) :: HTURBDIM ! dimensionality of the @@ -605,7 +601,7 @@ ZFLXZ(:,:,KKA) = ZFLXZ(:,:,IKB) PWTH(:,:,IKE)=PWTH(:,:,IKE-KKL) -IF ( OTURB_FLX .AND. OCLOSE_OUT ) THEN +IF ( OTURB_FLX .AND. tpfile%lopened ) THEN ! stores the conservative potential temperature vertical flux TZFIELD%CMNHNAME = 'THW_FLX' TZFIELD%CSTDNAME = '' @@ -783,7 +779,7 @@ IF (KRR /= 0) THEN PWRC(:,:,IKE)=PWRC(:,:,IKE-KKL) ! ! - IF ( OTURB_FLX .AND. OCLOSE_OUT ) THEN + IF ( OTURB_FLX .AND. tpfile%lopened ) THEN ! stores the conservative mixing ratio vertical flux TZFIELD%CMNHNAME = 'RCONSW_FLX' TZFIELD%CSTDNAME = '' @@ -852,7 +848,7 @@ END IF ! !* 4.1 <w Rc> ! -IF ( ((OTURB_FLX .AND. OCLOSE_OUT) .OR. LLES_CALL) .AND. (KRRL > 0) ) THEN +IF ( ((OTURB_FLX .AND. tpfile%lopened) .OR. LLES_CALL) .AND. (KRRL > 0) ) THEN ! ! recover the Conservative potential temperature flux : ZA(:,:,:) = DZM(PIMPL * PTHLP + PEXPL * PTHLM) / PDZZ * & @@ -866,7 +862,7 @@ IF ( ((OTURB_FLX .AND. OCLOSE_OUT) .OR. LLES_CALL) .AND. (KRRL > 0) ) THEN ZFLXZ(:,:,KKA) = ZFLXZ(:,:,IKB) ! ! store the liquid water mixing ratio vertical flux - IF ( OTURB_FLX .AND. OCLOSE_OUT ) THEN + IF ( OTURB_FLX .AND. tpfile%lopened ) THEN TZFIELD%CMNHNAME = 'RCW_FLX' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'RCW_FLX'