diff --git a/src/MNH/mnh2lpdm.f90 b/src/MNH/mnh2lpdm.f90 index 0392d5c3baf6dfc63584573d58f0e7b43b3a0fd5..f6e686689bf06ea89574a44874826df71d789d24 100644 --- a/src/MNH/mnh2lpdm.f90 +++ b/src/MNH/mnh2lpdm.f90 @@ -1,7 +1,8 @@ -!MNH_LIC Copyright 2002-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2002-2020 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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. +!----------------------------------------------------------------------- ! ######spl PROGRAM MNH2LPDM ! ############## @@ -12,8 +13,8 @@ ! Creation : 16.07.2002 ! Modification : 07.01.2006 (T.LAUVAUX, adaptation LPDM) ! Modification : 04.01.2009 (F. BONNARDOT, DP/SER/ENV ) -! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O -! +! P. Wautelet 05/2016-04/2018: new data structures and calls for I/O +! P. Wautelet 05/11/2020: correct I/O of MNH2LPDM !----------------------------------------------------------------------------- ! ! @@ -24,17 +25,22 @@ !* 0.1 Modules. ! USE MODD_CONF, ONLY : CPROGRAM -USE MODD_IO_ll, ONLY : TFILEDATA,TPTR2FILE +USE MODD_IO_ll, ONLY : TFILEDATA, TFILE_OUTPUTLISTING, TPTR2FILE +use modd_lunit +use modd_lunit_n USE MODD_MNH2LPDM ! +USE MODE_FIELD, ONLY: INI_FIELD_LIST, INI_FIELD_SCALARS USE MODE_FM, ONLY: IO_FILE_OPEN_ll,IO_FILE_CLOSE_ll USE MODE_IO_ll, ONLY: INITIO_ll,SET_CONFIO_ll USE MODE_IO_MANAGE_STRUCT, ONLY: IO_FILE_ADD2LIST USE MODE_MODELN_HANDLER USE MODE_POS ! +USE MODI_INI_CST USE MODI_MNH2LPDM_ECH USE MODI_MNH2LPDM_INI +USE MODI_VERSION ! USE MODN_CONFIO ! @@ -65,6 +71,19 @@ TYPE(TFILEDATA),POINTER :: TZNMLFILE => NULL() ! Namelist file ! CPROGRAM='M2LPDM' CALL GOTO_MODEL(1) +CALL VERSION() +CALL INITIO_ll() +CALL INI_CST() +CALL INI_FIELD_LIST(1) +CALL INI_FIELD_SCALARS() +! +CLUOUT = 'OUTPUT_LISTING1' +CLUOUT0 = CLUOUT +CALL IO_FILE_ADD2LIST(TLUOUT0,CLUOUT0,'OUTPUTLISTING','WRITE') +CALL IO_FILE_OPEN_ll(TLUOUT0) +!Set output files for PRINT_MSG +TLUOUT => TLUOUT0 +TFILE_OUTPUTLISTING => TLUOUT0 ! !* 1.1 Variables generales. ! @@ -73,7 +92,7 @@ CALL GOTO_MODEL(1) ! !* 1.2 Initialisation routines LL. ! -CALL INITIO_ll() +! CALL INITIO_ll() ! ! !* 1.3 Ouverture du fichier log. diff --git a/src/MNH/mnh2lpdm_ech.f90 b/src/MNH/mnh2lpdm_ech.f90 index e7b334e84f03eb987c4f812ed9da89a00be84d60..1f549e91d134ddecfd7d0b14513288d637fa2504 100644 --- a/src/MNH/mnh2lpdm_ech.f90 +++ b/src/MNH/mnh2lpdm_ech.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 2009-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2009-2020 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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------------- ! ######spl @@ -12,8 +12,9 @@ ! Auteur : Francois Bonnardot, DP/SERV/ENV ! Creation : 07.01.2009 ! Modifications: -! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O -! Philippe Wautelet 28/05/2018: corrected truncated integer division (1/3 -> 1./3.) +! P. Wautelet 05/2016-04/2018: new data structures and calls for I/O +! P. Wautelet 28/05/2018: corrected truncated integer division (1/3 -> 1./3.) +! P. Wautelet 05/11/2020: correct I/O of MNH2LPDM !----------------------------------------------------------------------- ! !* 0. DECLARATIONS. @@ -34,6 +35,7 @@ USE MODD_TIME ! USE MODD_MNH2LPDM ! +use mode_field, only: tfielddata, TYPEREAL USE MODE_FM, ONLY: IO_FILE_CLOSE_ll,IO_FILE_OPEN_ll USE MODE_FMREAD USE MODE_IO_MANAGE_STRUCT, ONLY: IO_FILE_ADD2LIST @@ -58,6 +60,7 @@ INTEGER :: ICURAA,ICURMM,ICURJJ ! Date courante. INTEGER :: ICURHH,ICURMN,ICURSS ! Heure courante. INTEGER :: JI,JJ,JK TYPE(DATE_TIME) :: TZDTCUR +type(tfielddata) :: tzfield TYPE(TFILEDATA),POINTER :: TZFILE ! ! @@ -105,13 +108,57 @@ CALL IO_READ_FIELD(TPFILE,'VT', XVT) CALL IO_READ_FIELD(TPFILE,'WT', XWT) CALL IO_READ_FIELD(TPFILE,'THT', XTHT) CALL IO_READ_FIELD(TPFILE,'TKET', XTKET) -!PW:TODO: where are these fields (LM,THW_FLX,DISS,FMU,FMV) written? -!Warning: not in fieldlist => won't be found -CALL IO_READ_FIELD(TPFILE,'LM', XLM) -CALL IO_READ_FIELD(TPFILE,'THW_FLX',XWPTHP) -CALL IO_READ_FIELD(TPFILE,'DISS', XDISSIP) -CALL IO_READ_FIELD(TPFILE,'FMU', XSFU) -CALL IO_READ_FIELD(TPFILE,'FMV', XSFV) + +tzfield%cmnhname = 'LM' +tzfield%clongname = '' +tzfield%cunits = 'm' +tzfield%cdir = 'XY' +tzfield%ccomment = 'Mixing length' +tzfield%ngrid = 1 +tzfield%ntype = TYPEREAL +tzfield%ndims = 3 +CALL IO_READ_FIELD(TPFILE, tzfield, XLM) + +tzfield%cmnhname = 'THW_FLX' +tzfield%clongname = '' +tzfield%cunits = 'K s-1' !correct? +tzfield%cdir = 'XY' +tzfield%ccomment = 'Conservative potential temperature vertical flux' +tzfield%ngrid = 4 +tzfield%ntype = TYPEREAL +tzfield%ndims = 3 +CALL IO_READ_FIELD(TPFILE, tzfield, XWPTHP) + +tzfield%cmnhname = 'DISS' +tzfield%clongname = '' +tzfield%cunits = '' !TODO: set units +tzfield%cdir = 'XY' +tzfield%ccomment = 'X_Y_Z_DISS' +tzfield%ngrid = 1 +tzfield%ntype = TYPEREAL +tzfield%ndims = 3 +CALL IO_READ_FIELD(TPFILE, tzfield, XDISSIP) + +tzfield%cmnhname = 'FMU' +tzfield%clongname = '' +tzfield%cunits = 'kg m-1 s-2' +tzfield%cdir = 'XY' +tzfield%ccomment = 'X_Y_FMU' +tzfield%ngrid = 4 +tzfield%ntype = TYPEREAL +tzfield%ndims = 2 +CALL IO_READ_FIELD(TPFILE, tzfield, XSFU) + +tzfield%cmnhname = 'FMV' +tzfield%clongname = '' +tzfield%cunits = 'kg m-1 s-2' +tzfield%cdir = 'XY' +tzfield%ccomment = 'X_Y_FMV' +tzfield%ngrid = 4 +tzfield%ntype = TYPEREAL +tzfield%ndims = 2 +CALL IO_READ_FIELD(TPFILE, tzfield, XSFV) + CALL IO_READ_FIELD(TPFILE,'INPRT', XINRT) CALL IO_READ_FIELD(TPFILE,'RVT', XRMVT) CALL IO_READ_FIELD(TPFILE,'RCT', XRMCT) diff --git a/src/MNH/mnh2lpdm_ini.f90 b/src/MNH/mnh2lpdm_ini.f90 index f7d71da91d4bcfe5afb33a5d2118af7d8551823f..4e057923c40c4e6b2decff1f6baf28e245e61ec8 100644 --- a/src/MNH/mnh2lpdm_ini.f90 +++ b/src/MNH/mnh2lpdm_ini.f90 @@ -1,7 +1,8 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2020 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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. +!----------------------------------------------------------------------- ! ######spl SUBROUTINE MNH2LPDM_INI(TPFILE1,TPFILE2,TPLOGFILE,TPGRIDFILE,TPDATEFILE) !-------------------------------------------------------------------------- @@ -19,7 +20,8 @@ ! TPDATEFILE Date file ! ! Modifications: -! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O +! P. Wautelet 05/2016-04/2018: new data structures and calls for I/O +! P. Wautelet 05/11/2020: correct I/O of MNH2LPDM !-------------------------------------------------------------------------- ! ! @@ -41,6 +43,7 @@ USE MODD_TIME USE MODD_TIME_n ! USE MODE_DATETIME +use mode_field, only: tfielddata, TYPEREAL USE MODE_FM USE MODE_FMREAD USE MODE_GRIDPROJ @@ -80,6 +83,7 @@ INTEGER, DIMENSION(:), ALLOCATABLE :: TAB1D INTEGER, DIMENSION(:,:), ALLOCATABLE :: TAB2D TYPE(DATE_TIME) :: TZDTCUR1,TZDTCUR2,TZDTEXP1 INTEGER :: IFDAT,IFGRI,IFLOG +type(tfielddata) :: tzfield ! ! ! @@ -203,8 +207,15 @@ CALL IO_READ_FIELD(TPFILE1,'ZS',XZS) ! !* 2.8 Rugosite Z0. ! -!PW:TODO: where is this field written? Warning: not in fieldlist => won't be found -CALL IO_READ_FIELD(TPFILE1,'Z0',XZ0) +tzfield%cmnhname = 'Z0' +tzfield%clongname = '' +tzfield%cunits = 'm' +tzfield%cdir = 'XY' +tzfield%ccomment = 'X_Y_Z0' +tzfield%ngrid = 4 +tzfield%ntype = TYPEREAL +tzfield%ndims = 2 +CALL IO_READ_FIELD(TPFILE1,tzfield,XZ0) ! XXPTSOMNH=XXHAT(1)+(XXHAT(2)-XXHAT(1))/2 XYPTSOMNH=XYHAT(1)+(XYHAT(2)-XYHAT(1))/2