Skip to content
Snippets Groups Projects
Commit 86af0036 authored by WAUTELET Philippe's avatar WAUTELET Philippe
Browse files

Philippe 05/11/2020: correct I/O of MNH2LPDM

parent 992813f0
No related branches found
No related tags found
No related merge requests found
!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 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. !MNH_LIC for details. version 1.
!-----------------------------------------------------------------------
! ######spl ! ######spl
PROGRAM MNH2LPDM PROGRAM MNH2LPDM
! ############## ! ##############
...@@ -12,8 +13,8 @@ ...@@ -12,8 +13,8 @@
! Creation : 16.07.2002 ! Creation : 16.07.2002
! Modification : 07.01.2006 (T.LAUVAUX, adaptation LPDM) ! Modification : 07.01.2006 (T.LAUVAUX, adaptation LPDM)
! Modification : 04.01.2009 (F. BONNARDOT, DP/SER/ENV ) ! 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 @@ ...@@ -24,17 +25,22 @@
!* 0.1 Modules. !* 0.1 Modules.
! !
USE MODD_CONF, ONLY : CPROGRAM 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 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_FM, ONLY: IO_FILE_OPEN_ll,IO_FILE_CLOSE_ll
USE MODE_IO_ll, ONLY: INITIO_ll,SET_CONFIO_ll USE MODE_IO_ll, ONLY: INITIO_ll,SET_CONFIO_ll
USE MODE_IO_MANAGE_STRUCT, ONLY: IO_FILE_ADD2LIST USE MODE_IO_MANAGE_STRUCT, ONLY: IO_FILE_ADD2LIST
USE MODE_MODELN_HANDLER USE MODE_MODELN_HANDLER
USE MODE_POS USE MODE_POS
! !
USE MODI_INI_CST
USE MODI_MNH2LPDM_ECH USE MODI_MNH2LPDM_ECH
USE MODI_MNH2LPDM_INI USE MODI_MNH2LPDM_INI
USE MODI_VERSION
! !
USE MODN_CONFIO USE MODN_CONFIO
! !
...@@ -65,6 +71,19 @@ TYPE(TFILEDATA),POINTER :: TZNMLFILE => NULL() ! Namelist file ...@@ -65,6 +71,19 @@ TYPE(TFILEDATA),POINTER :: TZNMLFILE => NULL() ! Namelist file
! !
CPROGRAM='M2LPDM' CPROGRAM='M2LPDM'
CALL GOTO_MODEL(1) 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. !* 1.1 Variables generales.
! !
...@@ -73,7 +92,7 @@ CALL GOTO_MODEL(1) ...@@ -73,7 +92,7 @@ CALL GOTO_MODEL(1)
! !
!* 1.2 Initialisation routines LL. !* 1.2 Initialisation routines LL.
! !
CALL INITIO_ll() ! CALL INITIO_ll()
! !
! !
!* 1.3 Ouverture du fichier log. !* 1.3 Ouverture du fichier log.
......
!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 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. !MNH_LIC for details. version 1.
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
! ######spl ! ######spl
...@@ -12,8 +12,9 @@ ...@@ -12,8 +12,9 @@
! Auteur : Francois Bonnardot, DP/SERV/ENV ! Auteur : Francois Bonnardot, DP/SERV/ENV
! Creation : 07.01.2009 ! Creation : 07.01.2009
! Modifications: ! 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
! Philippe Wautelet 28/05/2018: corrected truncated integer division (1/3 -> 1./3.) ! 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. !* 0. DECLARATIONS.
...@@ -34,6 +35,7 @@ USE MODD_TIME ...@@ -34,6 +35,7 @@ USE MODD_TIME
! !
USE MODD_MNH2LPDM USE MODD_MNH2LPDM
! !
use mode_field, only: tfielddata, TYPEREAL
USE MODE_FM, ONLY: IO_FILE_CLOSE_ll,IO_FILE_OPEN_ll USE MODE_FM, ONLY: IO_FILE_CLOSE_ll,IO_FILE_OPEN_ll
USE MODE_FMREAD USE MODE_FMREAD
USE MODE_IO_MANAGE_STRUCT, ONLY: IO_FILE_ADD2LIST USE MODE_IO_MANAGE_STRUCT, ONLY: IO_FILE_ADD2LIST
...@@ -58,6 +60,7 @@ INTEGER :: ICURAA,ICURMM,ICURJJ ! Date courante. ...@@ -58,6 +60,7 @@ INTEGER :: ICURAA,ICURMM,ICURJJ ! Date courante.
INTEGER :: ICURHH,ICURMN,ICURSS ! Heure courante. INTEGER :: ICURHH,ICURMN,ICURSS ! Heure courante.
INTEGER :: JI,JJ,JK INTEGER :: JI,JJ,JK
TYPE(DATE_TIME) :: TZDTCUR TYPE(DATE_TIME) :: TZDTCUR
type(tfielddata) :: tzfield
TYPE(TFILEDATA),POINTER :: TZFILE TYPE(TFILEDATA),POINTER :: TZFILE
! !
! !
...@@ -105,13 +108,57 @@ CALL IO_READ_FIELD(TPFILE,'VT', XVT) ...@@ -105,13 +108,57 @@ CALL IO_READ_FIELD(TPFILE,'VT', XVT)
CALL IO_READ_FIELD(TPFILE,'WT', XWT) CALL IO_READ_FIELD(TPFILE,'WT', XWT)
CALL IO_READ_FIELD(TPFILE,'THT', XTHT) CALL IO_READ_FIELD(TPFILE,'THT', XTHT)
CALL IO_READ_FIELD(TPFILE,'TKET', XTKET) 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 tzfield%cmnhname = 'LM'
CALL IO_READ_FIELD(TPFILE,'LM', XLM) tzfield%clongname = ''
CALL IO_READ_FIELD(TPFILE,'THW_FLX',XWPTHP) tzfield%cunits = 'm'
CALL IO_READ_FIELD(TPFILE,'DISS', XDISSIP) tzfield%cdir = 'XY'
CALL IO_READ_FIELD(TPFILE,'FMU', XSFU) tzfield%ccomment = 'Mixing length'
CALL IO_READ_FIELD(TPFILE,'FMV', XSFV) 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,'INPRT', XINRT)
CALL IO_READ_FIELD(TPFILE,'RVT', XRMVT) CALL IO_READ_FIELD(TPFILE,'RVT', XRMVT)
CALL IO_READ_FIELD(TPFILE,'RCT', XRMCT) CALL IO_READ_FIELD(TPFILE,'RCT', XRMCT)
......
!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 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. !MNH_LIC for details. version 1.
!-----------------------------------------------------------------------
! ######spl ! ######spl
SUBROUTINE MNH2LPDM_INI(TPFILE1,TPFILE2,TPLOGFILE,TPGRIDFILE,TPDATEFILE) SUBROUTINE MNH2LPDM_INI(TPFILE1,TPFILE2,TPLOGFILE,TPGRIDFILE,TPDATEFILE)
!-------------------------------------------------------------------------- !--------------------------------------------------------------------------
...@@ -19,7 +20,8 @@ ...@@ -19,7 +20,8 @@
! TPDATEFILE Date file ! TPDATEFILE Date file
! !
! Modifications: ! 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 ...@@ -41,6 +43,7 @@ USE MODD_TIME
USE MODD_TIME_n USE MODD_TIME_n
! !
USE MODE_DATETIME USE MODE_DATETIME
use mode_field, only: tfielddata, TYPEREAL
USE MODE_FM USE MODE_FM
USE MODE_FMREAD USE MODE_FMREAD
USE MODE_GRIDPROJ USE MODE_GRIDPROJ
...@@ -80,6 +83,7 @@ INTEGER, DIMENSION(:), ALLOCATABLE :: TAB1D ...@@ -80,6 +83,7 @@ INTEGER, DIMENSION(:), ALLOCATABLE :: TAB1D
INTEGER, DIMENSION(:,:), ALLOCATABLE :: TAB2D INTEGER, DIMENSION(:,:), ALLOCATABLE :: TAB2D
TYPE(DATE_TIME) :: TZDTCUR1,TZDTCUR2,TZDTEXP1 TYPE(DATE_TIME) :: TZDTCUR1,TZDTCUR2,TZDTEXP1
INTEGER :: IFDAT,IFGRI,IFLOG INTEGER :: IFDAT,IFGRI,IFLOG
type(tfielddata) :: tzfield
! !
! !
! !
...@@ -203,8 +207,15 @@ CALL IO_READ_FIELD(TPFILE1,'ZS',XZS) ...@@ -203,8 +207,15 @@ CALL IO_READ_FIELD(TPFILE1,'ZS',XZS)
! !
!* 2.8 Rugosite Z0. !* 2.8 Rugosite Z0.
! !
!PW:TODO: where is this field written? Warning: not in fieldlist => won't be found tzfield%cmnhname = 'Z0'
CALL IO_READ_FIELD(TPFILE1,'Z0',XZ0) 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 XXPTSOMNH=XXHAT(1)+(XXHAT(2)-XXHAT(1))/2
XYPTSOMNH=XYHAT(1)+(XYHAT(2)-XYHAT(1))/2 XYPTSOMNH=XYHAT(1)+(XYHAT(2)-XYHAT(1))/2
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment