From 9eeda67b794d1acd804bcd85d8f4c7ee3d4901c5 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Tue, 20 Aug 2024 11:11:34 +0200 Subject: [PATCH] Philippe 20/08/2024: minor: fix/restore changelog comments, alignment, remove some unused variables... --- src/MNH/ini_modeln.f90 | 49 ++--- src/MNH/resolved_cloud.f90 | 18 +- src/MNH/salt_filter.f90 | 1 - src/MNH/saltcamsn.f90 | 17 +- src/MNH/write_lfin.f90 | 309 ++++++++++++++--------------- src/PHYEX/micro/lima_warm_nucl.f90 | 6 +- 6 files changed, 198 insertions(+), 202 deletions(-) diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90 index 085a09cde..a67a2ee3d 100644 --- a/src/MNH/ini_modeln.f90 +++ b/src/MNH/ini_modeln.f90 @@ -275,29 +275,32 @@ END MODULE MODI_INI_MODEL_n !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O !! V. Vionnet : 18/07/2017 : add blowing snow scheme !! 01/18 J.Colin Add DRAG -!! P. Wautelet 29/01/2019: bug: add missing zero-size allocations -!! P. Wautelet 07/02/2019: force TYPE to a known value for IO_File_add2list -!! P. Wautelet 13/02/2019: initialize XALBUV even if no radiation (needed in CH_INTERP_JVALUES) -!! P. Wautelet 13/02/2019: removed PPABSM and PTSTEP dummy arguments of READ_FIELD -!! P. Wautelet 14/02/2019: remove CLUOUT/CLUOUT0 and associated variables -!! P. Wautelet 14/02/2019: remove HINIFILE dummy argument from INI_RADIATIONS_ECMWF/ECRAD -!! C. Lac 02/2019: add rain fraction as an output field -!! S. Bielli 02/2019: Sea salt : significant sea wave height influences salt emission; 5 salt modes -!! P. Wautelet 14/03/2019: correct ZWS when variable not present in file (set to XZWS_DEFAULT) -!! P. Wautelet 10/04/2019: replace ABORT and STOP calls by Print_msg -!! P. Wautelet 19/04/2019: removed unused dummy arguments and variables -!! P. Wautelet 07/06/2019: allocate lookup tables for optical properties only when needed -!! P. Wautelet 13/09/2019: budget: simplify and modernize date/time management -!! C. Lac 11/2019: correction in the drag formula and application to building in addition to tree -!! S. Riette 04/2020: XHL* fields -!! F. Auguste 02/2021: add IBM -!! T. Nigel 02/2021: add turbulence recycling -!!J.L. Redelsperger 06/2011: OCEAN case -!! A. Costes 12/2021: Blaze fire model -!! H. Toumi 09/2022: add EOL/ADR -!! C. Barthe 03/2023: if cloud electricity is activated, both ini_micron and ini_elecn are called -!! V. Masson 01/2024: aggregation of columns for radiation -!! M. Mandement 01/2024: add max 10 m wind gust speed formulations +! P. Wautelet 29/01/2019: bug: add missing zero-size allocations +! P. Wautelet 07/02/2019: force TYPE to a known value for IO_File_add2list +! P. Wautelet 13/02/2019: initialize XALBUV even if no radiation (needed in CH_INTERP_JVALUES) +! P. Wautelet 13/02/2019: removed PPABSM and PTSTEP dummy arguments of READ_FIELD +! P. Wautelet 14/02/2019: remove CLUOUT/CLUOUT0 and associated variables +! P. Wautelet 14/02/2019: remove HINIFILE dummy argument from INI_RADIATIONS_ECMWF/ECRAD +! C. Lac 02/2019: add rain fraction as an output field +! S. Bielli 02/2019: Sea salt : significant sea wave height influences salt emission; 5 salt modes +! P. Wautelet 14/03/2019: correct ZWS when variable not present in file (set to XZWS_DEFAULT) +! P. Wautelet 10/04/2019: replace ABORT and STOP calls by Print_msg +! P. Wautelet 19/04/2019: removed unused dummy arguments and variables +! P. Wautelet 07/06/2019: allocate lookup tables for optical properties only when needed +! P. Wautelet 13/09/2019: budget: simplify and modernize date/time management +! C. Lac 11/2019: correction in the drag formula and application to building in addition to tree +! S. Riette 04/2020: XHL* fields +! PA. Joulin 10/2020: add wind tubrines (EOL) +! F. Auguste 02/2021: add IBM +! T. Nigel 02/2021: add turbulence recycling +!J.L. Redelsperger 06/2011: OCEAN case +! R. Schoetter 12/2021: multi-level coupling between MesoNH and SURFEX +! R. Schoetter 12/2021: adds humidity and other mean diagnostics +! A. Costes 12/2021: Blaze fire model +! H. Toumi 09/2022: add EOL/ADR +! C. Barthe 03/2023: if cloud electricity is activated, both ini_micron and ini_elecn are called +! V. Masson 01/2024: aggregation of columns for radiation +! M. Mandement 01/2024: add max 10 m wind gust speed formulations !--------------------------------------------------------------------------------- ! !* 0. DECLARATIONS diff --git a/src/MNH/resolved_cloud.f90 b/src/MNH/resolved_cloud.f90 index 5ec8f3fa4..336c7ac35 100644 --- a/src/MNH/resolved_cloud.f90 +++ b/src/MNH/resolved_cloud.f90 @@ -1389,14 +1389,14 @@ SELECT CASE ( HCLOUD ) IF (GELEC) THEN CALL LIMA (YLDIMPHYEX,CST, RAIN_ICE_DESCRN, RAIN_ICE_PARAMN, & ELEC_DESCR, ELEC_PARAM, & - TBUCONF,TBUDGETS,HACTCCN, SIZE(TBUDGETS), & + TBUCONF,TBUDGETS,HACTCCN, SIZE(TBUDGETS), & PTSTEP, GELEC, HCLOUD, & PRHODREF, PEXNREF, ZDZZ, XTHVREFZ(IKB), & PRHODJ, PPABST, & NMOD_CCN, NMOD_IFN, NMOD_IMM, & PDTHRAD, PTHT, PRT, & PSVT(:,:,:,NSV_LIMA_BEG:NSV_LIMA_END), PW_ACT, & - PSVT,PSOLORG, PMI, & + PSVT, PSOLORG, PMI, & PTHS, PRS, PSVS(:,:,:,NSV_LIMA_BEG:NSV_LIMA_END), & PINPRC, PINDEP, PINPRR, ZINPRI, PINPRS, PINPRG, PINPRH, & PEVAP3D, PCLDFR, PICEFR, PRAINFR, ZFPR, & @@ -1406,27 +1406,27 @@ SELECT CASE ( HCLOUD ) ELSE CALL LIMA (YLDIMPHYEX,CST, RAIN_ICE_DESCRN, RAIN_ICE_PARAMN, & ELEC_DESCR, ELEC_PARAM, & - TBUCONF,TBUDGETS,HACTCCN,SIZE(TBUDGETS), & + TBUCONF, TBUDGETS, HACTCCN, SIZE(TBUDGETS), & PTSTEP, GELEC, HCLOUD, & PRHODREF, PEXNREF, ZDZZ, XTHVREFZ(IKB), & PRHODJ, PPABST, & NMOD_CCN, NMOD_IFN, NMOD_IMM, & PDTHRAD, PTHT, PRT, & PSVT(:,:,:,NSV_LIMA_BEG:NSV_LIMA_END), PW_ACT, & - PSVT,PSOLORG, PMI, & + PSVT, PSOLORG, PMI, & PTHS, PRS, PSVS(:,:,:,NSV_LIMA_BEG:NSV_LIMA_END), & PINPRC, PINDEP, PINPRR, ZINPRI, PINPRS, PINPRG, PINPRH, & PEVAP3D, PCLDFR, PICEFR, PRAINFR, ZFPR, & ZLATHAM_IAGGS ) END IF ELSE - IF (OWARM) CALL LIMA_WARM(OACTIT, HACTCCN, OSEDC, ORAIN, KSPLITR, PTSTEP, KMI, & - TPFILE, KRR, PZZ, PRHODJ, & + IF (OWARM) CALL LIMA_WARM(OACTIT, HACTCCN, OSEDC, ORAIN, KSPLITR, PTSTEP, & + KMI, TPFILE, KRR, PZZ, PRHODJ, & PRHODREF, PEXNREF, PW_ACT, PPABST, & PDTHRAD, & PTHT, PRT, PSVT(:,:,:,NSV_LIMA_BEG:NSV_LIMA_END), & PTHS, PRS, PSVS(:,:,:,NSV_LIMA_BEG:NSV_LIMA_END), & - PSVT,PSOLORG, PMI, & + PSVT, PSOLORG, PMI, & PINPRC, PINPRR, PINDEP, PINPRR3D, PEVAP3D ) ! IF (NMOM_I.GE.1) CALL LIMA_COLD(CST, OSEDI, OHHONI, KSPLITG, PTSTEP, KMI, & @@ -1458,14 +1458,14 @@ SELECT CASE ( HCLOUD ) PTHS,PRS, PSVS(:,:,:,NSV_LIMA_BEG:NSV_LIMA_END), & PCLDFR, PICEFR, PRAINFR, PSRCS ) ELSE IF (LPTSPLIT) THEN - CALL LIMA_ADJUST_SPLIT(YLDIMPHYEX, CST, TBUCONF,TBUDGETS,SIZE(TBUDGETS), & + CALL LIMA_ADJUST_SPLIT(YLDIMPHYEX, CST, TBUCONF,TBUDGETS,SIZE(TBUDGETS), & KRR, KMI, CCONDENS, CLAMBDA3, & OSUBG_COND, OSIGMAS, PTSTEP, PSIGQSAT, & PRHODREF, PRHODJ, PEXNREF, PSIGS, PMFCONV, PPABST, PPABSTT, ZZZ,& PDTHRAD, PW_ACT, & PRT, PRS, PSVT(:,:,:,NSV_LIMA_BEG:NSV_LIMA_END), & PSVS(:,:,:,NSV_LIMA_BEG:NSV_LIMA_END), & - HACTCCN, PSVT,PSOLORG, PMI, & + HACTCCN, PSVT, PSOLORG, PMI, & PTHS, PSRCS, PCLDFR, PICEFR, PRC_MF, PRI_MF, PCF_MF ) ELSE CALL LIMA_ADJUST(KRR, KMI, TPFILE, & diff --git a/src/MNH/salt_filter.f90 b/src/MNH/salt_filter.f90 index 8fc62336b..d3831c563 100644 --- a/src/MNH/salt_filter.f90 +++ b/src/MNH/salt_filter.f90 @@ -78,7 +78,6 @@ INTEGER,DIMENSION(:), ALLOCATABLE :: NM6 ! [idx] indexes for REAL,DIMENSION(:), ALLOCATABLE :: ZINIRADIUS ! initial mean radius REAL,DIMENSION(:), ALLOCATABLE :: ZINISIGMA ! initial standard deviation INTEGER :: JN,IMODEIDX,JJ ! [idx] loop counters -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZSIG, ZN0, ZRG !------------------------------------------------------------------------------- diff --git a/src/MNH/saltcamsn.f90 b/src/MNH/saltcamsn.f90 index 82f062938..8e16d07f1 100644 --- a/src/MNH/saltcamsn.f90 +++ b/src/MNH/saltcamsn.f90 @@ -1,8 +1,7 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /home/cvsroot/MNH-VX-Y-Z/src/MNH/saltlfin.f90,v $ $Revision: 1.1.2.2.2.1.2.1 $ -! MASDEV4_7 newsrc 2007/01/25 13:13:15 +!MNH_LIC Copyright 2022-2024 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. !----------------------------------------------------------------- ! ######################## MODULE MODI_SALTCAMS_n @@ -28,7 +27,7 @@ END MODULE MODI_SALTCAMS_n ! !! PURPOSE !! ------- -!! Initialise le champs de salts à partir des analyses CAMS +!! Initialise le champs de salts a partir des analyses CAMS !! !! REFERENCE !! --------- @@ -86,7 +85,6 @@ REAL :: RATIO_1,RATIO_2,RATIO_3,RATIO_4,RATIO_5, RATIO_6,RATIO_7 REAL :: DELTA_CAMS_1,DELTA_CAMS_2,DELTA_CAMS_3 REAL :: RAY_CAMS_1,RAY_CAMS_2,RAY_CAMS_3,RAY_CAMS_4 REAL :: RAY_2,RAY_3,RAY_4 -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZMASS_TEST, ZN0, ZRG, ZSIG ! !------------------------------------------------------------------------------- ! @@ -109,9 +107,6 @@ ALLOCATE (ZINIRADIUS(NMODE_SLT)) ALLOCATE (ZINISIGMA(NMODE_SLT)) ALLOCATE (ZMMIN(NMODE_SLT*3)) ALLOCATE (ZMASS(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3),NMODE_SLT)) -ALLOCATE (ZRG(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3),NMODE_SLT)) -ALLOCATE (ZSIG(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3),NMODE_SLT)) -ALLOCATE (ZN0(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3),NMODE_SLT)) ! ! Rayons des bins CAMS @@ -128,7 +123,7 @@ RAY_4 = 0.41 ! Calcul des proportions -! Calcul des écarts bin CAMS +! Calcul des ecarts bin CAMS DELTA_CAMS_1 = RAY_CAMS_2 - RAY_CAMS_1 DELTA_CAMS_2 = RAY_CAMS_3 - RAY_CAMS_2 diff --git a/src/MNH/write_lfin.f90 b/src/MNH/write_lfin.f90 index 1bf4808c3..b0db48a14 100644 --- a/src/MNH/write_lfin.f90 +++ b/src/MNH/write_lfin.f90 @@ -161,29 +161,30 @@ END MODULE MODI_WRITE_LFIFM_n !! P. Tulet & M. Leriche Nov 2015 add mean pH value in the rain at the surface !! Modification 01/2016 (JP Pinty) Add LIMA !! M.Mazoyer 04/16 : Add supersaturation fields -!! P. Wautelet 05/2016-04/2018: new data structures and calls for I/O -!! P. Wautelet 11/07/2016: remove MNH_NCWRIT define -!! V. Vionnet 07/2017: add blowing snow variables -!! JP Chaboureau 27/11/2017: add wind tendency forcing -!! Q. Libois 02/2018: move Diagnostic related to the radiations in radiations.f90 -!! P. Wautelet 11/01/2019: bug correction in write XBL_DEPTH->XSBL_DEPTH -!! C. Lac 18/02/2019: add rain fraction as an output field -!! S. Bielli 02/2019: Sea salt: significant sea wave height influences salt emission; 5 salt modes -!! P. Wautelet 10/04/2019: replace ABORT and STOP calls by Print_msg -!! P. Tulet 02/2020: correction for dust and sea salts -!! B. Vie 06/2020: add prognostic supersaturation for LIMA -!! PA. Joulin 12/2020: add wind turbine outputs -!! F. Auguste 02/2021: add IBM -!! T. Nagel 02/2021: add turbulence recycling -!! P. Wautelet 10/03/2021: use scalar variable names for dust and salt -!! P. Wautelet 11/03/2021: bugfix: correct name for NSV_LIMA_IMM_NUCL -!! J.L. Redelsperger 03/2021: add OCEAN and auto-coupled O-A LES cases -!! A. Costes 12/2021: add Blaze fire model -!! P. Wautelet 04/02/2022: use TSVLIST to manage metadata of scalar variables -!! E. Jezequel 11/2022: add covariances from MEAN fields -!! H. Toumi 09/2022: add ADR -!: PA. Joulin 04/2023: update EOL metadata management -!! M. Mandement 01/2024: add max 10 m wind gust speed formulations +! P. Wautelet 05/2016-04/2018: new data structures and calls for I/O +! P. Wautelet 11/07/2016: remove MNH_NCWRIT define +! V. Vionnet 07/2017: add blowing snow variables +! JP Chaboureau 27/11/2017: add wind tendency forcing +! Q. Libois 02/2018: move Diagnostic related to the radiations in radiations.f90 +! P. Wautelet 11/01/2019: bug correction in write XBL_DEPTH->XSBL_DEPTH +! C. Lac 18/02/2019: add rain fraction as an output field +! S. Bielli 02/2019: Sea salt: significant sea wave height influences salt emission; 5 salt modes +! P. Wautelet 10/04/2019: replace ABORT and STOP calls by Print_msg +! P. Tulet 02/2020: correction for dust and sea salts +! B. Vie 06/2020: add prognostic supersaturation for LIMA +! PA. Joulin 12/2020: add wind turbine outputs +! F. Auguste 02/2021: add IBM +! T. Nagel 02/2021: add turbulence recycling +! P. Wautelet 10/03/2021: use scalar variable names for dust and salt +! P. Wautelet 11/03/2021: bugfix: correct name for NSV_LIMA_IMM_NUCL +! J.L. Redelsperger 03/2021: add OCEAN and auto-coupled O-A LES cases +! R. Schoetter 12/2021: adds humidity and other mean diagnostics +! A. Costes 12/2021: add Blaze fire model +! P. Wautelet 04/02/2022: use TSVLIST to manage metadata of scalar variables +! E. Jezequel 11/2022: add covariances from MEAN fields +! H. Toumi 09/2022: add ADR +! PA. Joulin 04/2023: update EOL metadata management +! M. Mandement 01/2024: add max 10 m wind gust speed formulations !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -791,26 +792,25 @@ IF (MEAN_COUNT /= 0) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZWORK3D) ! END IF -! -IF(LMINMAX_VORT) THEN -! Min and max vorticity -! - TZFIELD%CMNHNAME = 'UM1_MAX' - TZFIELD%CLONGNAME = 'UM1_MAX' - TZFIELD%CUNITS = 's-1' - TZFIELD%CCOMMENT = 'X_Y_Z_x_maximum relative vorticity' - CALL IO_Field_write(TPFILE,TZFIELD,XUM1_MAX) -! -! - TZFIELD%CMNHNAME = 'UM1_MIN' - TZFIELD%CLONGNAME = 'UM1_MIN' - TZFIELD%CUNITS = 's-1' - TZFIELD%CCOMMENT = 'X_Y_Z_x_maximum relative vorticity' - CALL IO_Field_write(TPFILE,TZFIELD,XUM1_MIN) -! -END IF -! -! + ! + IF (LMINMAX_VORT) THEN + ! Min and max vorticity + ! + TZFIELD%CMNHNAME = 'UM1_MAX' + TZFIELD%CLONGNAME = 'UM1_MAX' + TZFIELD%CUNITS = 's-1' + TZFIELD%CCOMMENT = 'X_Y_Z_x_maximum relative vorticity' + CALL IO_Field_write(TPFILE,TZFIELD,XUM1_MAX) + ! + ! + TZFIELD%CMNHNAME = 'UM1_MIN' + TZFIELD%CLONGNAME = 'UM1_MIN' + TZFIELD%CUNITS = 's-1' + TZFIELD%CCOMMENT = 'X_Y_Z_x_maximum relative vorticity' + CALL IO_Field_write(TPFILE,TZFIELD,XUM1_MIN) + END IF + ! + ! TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for mean_count variables', & !Temporary name to ease identification CSTDNAME = '', & @@ -840,22 +840,21 @@ END IF TZFIELD%CCOMMENT = 'X_Y_Z_V component of max wind' CALL IO_Field_write(TPFILE,TZFIELD,XVM_MAX) ! -IF(LMINMAX_VORT) THEN -! Min and max vorticity -! - TZFIELD%CMNHNAME = 'VM1_MAX' - TZFIELD%CLONGNAME = 'VM1_MAX' - TZFIELD%CUNITS = 's-1' - TZFIELD%CCOMMENT = 'X_Y_Z_y_maximum relative vorticity' - CALL IO_Field_write(TPFILE,TZFIELD,XVM1_MAX) -! - TZFIELD%CMNHNAME = 'VM1_MIN' - TZFIELD%CLONGNAME = 'VM1_MIN' - TZFIELD%CUNITS = 's-1' - TZFIELD%CCOMMENT = 'X_Y_Z_y_minimum relative vorticity' - CALL IO_Field_write(TPFILE,TZFIELD,XVM1_MIN) -! -END IF + IF (LMINMAX_VORT) THEN + ! Min and max vorticity + ! + TZFIELD%CMNHNAME = 'VM1_MAX' + TZFIELD%CLONGNAME = 'VM1_MAX' + TZFIELD%CUNITS = 's-1' + TZFIELD%CCOMMENT = 'X_Y_Z_y_maximum relative vorticity' + CALL IO_Field_write(TPFILE,TZFIELD,XVM1_MAX) +! + TZFIELD%CMNHNAME = 'VM1_MIN' + TZFIELD%CLONGNAME = 'VM1_MIN' + TZFIELD%CUNITS = 's-1' + TZFIELD%CCOMMENT = 'X_Y_Z_y_minimum relative vorticity' + CALL IO_Field_write(TPFILE,TZFIELD,XVM1_MIN) + END IF ! TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for mean_count variables', & !Temporary name to ease identification @@ -885,29 +884,28 @@ END IF TZFIELD%CUNITS = 'm s-1' TZFIELD%CCOMMENT = 'X_Y_Z_vertical max wind' CALL IO_Field_write(TPFILE,TZFIELD,XWM_MAX) -! +! TZFIELD%CMNHNAME = 'WMMI' TZFIELD%CLONGNAME = 'WMMI' TZFIELD%CUNITS = 'm s-1' TZFIELD%CCOMMENT = 'X_Y_Z_vertical min wind' CALL IO_Field_write(TPFILE,TZFIELD,XWM_MIN) ! -IF(LMINMAX_VORT) THEN -! Min and max vorticity -! - TZFIELD%CMNHNAME = 'WM1_MAX' - TZFIELD%CLONGNAME = 'WM1_MAX' - TZFIELD%CUNITS = 's-1' - TZFIELD%CCOMMENT = 'X_Y_Z_z_maximum relative vorticity' - CALL IO_Field_write(TPFILE,TZFIELD,XWM1_MAX) -! - TZFIELD%CMNHNAME = 'WM1_MIN' - TZFIELD%CLONGNAME = 'WM1_MIN' - TZFIELD%CUNITS = 's-1' - TZFIELD%CCOMMENT = 'X_Y_Z_z_maximum relative vorticity' - CALL IO_Field_write(TPFILE,TZFIELD,XWM1_MIN) -! -END IF + IF (LMINMAX_VORT) THEN + ! Min and max vorticity + ! + TZFIELD%CMNHNAME = 'WM1_MAX' + TZFIELD%CLONGNAME = 'WM1_MAX' + TZFIELD%CUNITS = 's-1' + TZFIELD%CCOMMENT = 'X_Y_Z_z_maximum relative vorticity' + CALL IO_Field_write(TPFILE,TZFIELD,XWM1_MAX) +! + TZFIELD%CMNHNAME = 'WM1_MIN' + TZFIELD%CLONGNAME = 'WM1_MIN' + TZFIELD%CUNITS = 's-1' + TZFIELD%CCOMMENT = 'X_Y_Z_z_maximum relative vorticity' + CALL IO_Field_write(TPFILE,TZFIELD,XWM1_MIN) + END IF ! ! ! Calculation of mean horizontal wind speed and @@ -1090,87 +1088,88 @@ END IF CALL IO_Field_write(TPFILE,TZFIELD,XTKEM_MAX) END IF ! -IF(LMINMAX_WINDFFTKE) THEN - TZFIELD = TFIELDMETADATA( & - CMNHNAME = 'generic for mean_count variables', & !Temporary name to ease identification - CSTDNAME = '', & - CDIR = 'XY', & - NTYPE = TYPEREAL, & - NGRID = 1, & - NDIMS = 2, & - LTIMEDEP = .TRUE. ) -! - TZFIELD%CMNHNAME = 'WMOD10MAX_MA' - TZFIELD%CLONGNAME = 'WMOD10MAX_MA' - TZFIELD%CUNITS = 'm s-1' - TZFIELD%CCOMMENT = 'X_Y_max WMOD10MAX' - CALL IO_Field_write(TPFILE,TZFIELD,XWMOD10MAX_MAX) -! - IF (CTURB /= 'NONE') THEN - TZFIELD%CMNHNAME = 'XTKEMAX_MA' - TZFIELD%CLONGNAME = 'XTKEMAX_MA' - TZFIELD%CUNITS = 'm s-1' - TZFIELD%CCOMMENT = 'X_Y_max XTKEMAX' - CALL IO_Field_write(TPFILE,TZFIELD,XTKEMAX_MAX) -! - TZFIELD%CMNHNAME = 'XTKE10MAX_MA' - TZFIELD%CLONGNAME = 'XTKE10MAX_MA' - TZFIELD%CUNITS = 'm s-1' - TZFIELD%CCOMMENT = 'X_Y_max XTKE10MAX' - CALL IO_Field_write(TPFILE,TZFIELD,XTKE10MAX_MAX) -! - TZFIELD%CMNHNAME = 'XTKE20MAX_MA' - TZFIELD%CLONGNAME = 'XTKE20MAX_MA' - TZFIELD%CUNITS = 'm s-1' - TZFIELD%CCOMMENT = 'X_Y_max XTKE20MAX' - CALL IO_Field_write(TPFILE,TZFIELD,XTKE20MAX_MAX) - END IF -! - TZFIELD%CMNHNAME = 'FF10MAX_MA' - TZFIELD%CLONGNAME = 'FF10MAX_MA' - TZFIELD%CUNITS = 'm s-1' - TZFIELD%CCOMMENT = 'X_Y_max FF10MAX' - CALL IO_Field_write(TPFILE,TZFIELD,XFF10MAX_MAX) -! - TZFIELD%CMNHNAME = 'FF10MAX2_MA' - TZFIELD%CLONGNAME = 'FF10MAX2_MA' - TZFIELD%CUNITS = 'm s-1' - TZFIELD%CCOMMENT = 'X_Y_max FF10MAX2' - CALL IO_Field_write(TPFILE,TZFIELD,XFF10MAX2_MAX) -! - TZFIELD%CMNHNAME = 'FF10MAX_AROME_MA' - TZFIELD%CLONGNAME = 'FF10MAX_AROME_MA' - TZFIELD%CUNITS = 'm s-1' - TZFIELD%CCOMMENT = 'X_Y_max FF10MAX_AROME' - CALL IO_Field_write(TPFILE,TZFIELD,XFF10MAX_AROME_MAX) -! -END IF -IF(LMINMAX_MSLP) THEN -! Min and max sea level pressure - TZFIELD%CMNHNAME = 'MSLP_MAX' - TZFIELD%CLONGNAME = 'MSLP_MAX' - TZFIELD%CUNITS = 'hPa' - TZFIELD%CCOMMENT = 'X_Y_max Mean Sea Level Pressure' - CALL IO_Field_write(TPFILE,TZFIELD,XMSLP_MAX) -! - TZFIELD%CMNHNAME = 'MSLP_MIN' - TZFIELD%CLONGNAME = 'MSLP_MIN' - TZFIELD%CUNITS = 'hPa' - TZFIELD%CCOMMENT = 'X_Y_min Mean Sea Level Pressure' - CALL IO_Field_write(TPFILE,TZFIELD,XMSLP_MIN) -! -END IF + IF (LMINMAX_WINDFFTKE) THEN + TZFIELD = TFIELDMETADATA( & + CMNHNAME = 'generic for mean_count variables', & !Temporary name to ease identification + CSTDNAME = '', & + CDIR = 'XY', & + NTYPE = TYPEREAL, & + NGRID = 1, & + NDIMS = 2, & + LTIMEDEP = .TRUE. ) + ! + TZFIELD%CMNHNAME = 'WMOD10MAX_MA' + TZFIELD%CLONGNAME = 'WMOD10MAX_MA' + TZFIELD%CUNITS = 'm s-1' + TZFIELD%CCOMMENT = 'X_Y_max WMOD10MAX' + CALL IO_Field_write(TPFILE,TZFIELD,XWMOD10MAX_MAX) + ! + IF (CTURB /= 'NONE') THEN + TZFIELD%CMNHNAME = 'XTKEMAX_MA' + TZFIELD%CLONGNAME = 'XTKEMAX_MA' + TZFIELD%CUNITS = 'm s-1' + TZFIELD%CCOMMENT = 'X_Y_max XTKEMAX' + CALL IO_Field_write(TPFILE,TZFIELD,XTKEMAX_MAX) + ! + TZFIELD%CMNHNAME = 'XTKE10MAX_MA' + TZFIELD%CLONGNAME = 'XTKE10MAX_MA' + TZFIELD%CUNITS = 'm s-1' + TZFIELD%CCOMMENT = 'X_Y_max XTKE10MAX' + CALL IO_Field_write(TPFILE,TZFIELD,XTKE10MAX_MAX) + ! + TZFIELD%CMNHNAME = 'XTKE20MAX_MA' + TZFIELD%CLONGNAME = 'XTKE20MAX_MA' + TZFIELD%CUNITS = 'm s-1' + TZFIELD%CCOMMENT = 'X_Y_max XTKE20MAX' + CALL IO_Field_write(TPFILE,TZFIELD,XTKE20MAX_MAX) + END IF + ! + TZFIELD%CMNHNAME = 'FF10MAX_MA' + TZFIELD%CLONGNAME = 'FF10MAX_MA' + TZFIELD%CUNITS = 'm s-1' + TZFIELD%CCOMMENT = 'X_Y_max FF10MAX' + CALL IO_Field_write(TPFILE,TZFIELD,XFF10MAX_MAX) + ! + TZFIELD%CMNHNAME = 'FF10MAX2_MA' + TZFIELD%CLONGNAME = 'FF10MAX2_MA' + TZFIELD%CUNITS = 'm s-1' + TZFIELD%CCOMMENT = 'X_Y_max FF10MAX2' + CALL IO_Field_write(TPFILE,TZFIELD,XFF10MAX2_MAX) + ! + TZFIELD%CMNHNAME = 'FF10MAX_AROME_MA' + TZFIELD%CLONGNAME = 'FF10MAX_AROME_MA' + TZFIELD%CUNITS = 'm s-1' + TZFIELD%CCOMMENT = 'X_Y_max FF10MAX_AROME' + CALL IO_Field_write(TPFILE,TZFIELD,XFF10MAX_AROME_MAX) + ! + END IF + + IF (LMINMAX_MSLP) THEN + ! Min and max sea level pressure + TZFIELD%CMNHNAME = 'MSLP_MAX' + TZFIELD%CLONGNAME = 'MSLP_MAX' + TZFIELD%CUNITS = 'hPa' + TZFIELD%CCOMMENT = 'X_Y_max Mean Sea Level Pressure' + CALL IO_Field_write(TPFILE,TZFIELD,XMSLP_MAX) + ! + TZFIELD%CMNHNAME = 'MSLP_MIN' + TZFIELD%CLONGNAME = 'MSLP_MIN' + TZFIELD%CUNITS = 'hPa' + TZFIELD%CCOMMENT = 'X_Y_min Mean Sea Level Pressure' + CALL IO_Field_write(TPFILE,TZFIELD,XMSLP_MIN) + ! + END IF ! - ! Max updraft helicity + ! Max updraft helicity IF (LUH_MAX) THEN TZFIELD = TFIELDMETADATA( & - CMNHNAME = 'generic for mean_count variables', & !Temporary name to ease identification - CSTDNAME = '', & - CDIR = 'XY', & - NTYPE = TYPEREAL, & - NGRID = 4, & - NDIMS = 2, & - LTIMEDEP = .TRUE. ) + CMNHNAME = 'generic for mean_count variables', & !Temporary name to ease identification + CSTDNAME = '', & + CDIR = 'XY', & + NTYPE = TYPEREAL, & + NGRID = 4, & + NDIMS = 2, & + LTIMEDEP = .TRUE. ) ! TZFIELD%CMNHNAME = 'UH_MAX' TZFIELD%CLONGNAME = 'UH_MAX' @@ -1178,7 +1177,7 @@ END IF TZFIELD%CCOMMENT = 'X_Y_max Updraft Helicity' CALL IO_Field_write(TPFILE,TZFIELD,XUH_MAX) END IF -! +! END IF ! ! diff --git a/src/PHYEX/micro/lima_warm_nucl.f90 b/src/PHYEX/micro/lima_warm_nucl.f90 index daffe09a1..fc012c8f1 100644 --- a/src/PHYEX/micro/lima_warm_nucl.f90 +++ b/src/PHYEX/micro/lima_warm_nucl.f90 @@ -116,22 +116,22 @@ END MODULE MODI_LIMA_WARM_NUCL !* 0. DECLARATIONS ! ------------ ! +USE MODD_CH_AEROSOL USE MODD_CST +USE MODD_DUST use modd_field, only: TFIELDMETADATA, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_LUNIT_n, ONLY: TLUOUT USE MODD_PARAMETERS, ONLY : JPHEXT, JPVEXT USE MODD_PARAM_LIMA USE MODD_PARAM_LIMA_WARM -USE MODD_CH_AEROSOL -USE MODD_DUST USE MODD_SALT -USE MODI_CH_AER_ACTIVATION USE MODE_IO_FIELD_WRITE, only: IO_Field_write use mode_tools, only: Countjv +USE MODI_CH_AER_ACTIVATION USE MODI_GAMMA IMPLICIT NONE -- GitLab