From 849f9eff095d409106ef28fd346b527737bbae7f Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Mon, 28 Jun 2021 10:38:03 +0200 Subject: [PATCH] Philippe 28/06/2021: use fields already in TFIELDLIST (instead of recreating their metadata) --- src/MNH/write_lfin.f90 | 126 +++++++++++++++++------------------------ 1 file changed, 52 insertions(+), 74 deletions(-) diff --git a/src/MNH/write_lfin.f90 b/src/MNH/write_lfin.f90 index 4ea2182ae..ea08bd41d 100644 --- a/src/MNH/write_lfin.f90 +++ b/src/MNH/write_lfin.f90 @@ -1961,80 +1961,58 @@ ENDIF ! !* 1.11 Ocean LES variables ! - IF ((.NOT.LCOUPLES).AND.LOCEAN) THEN -WRITE (ILUOUT,*) 'LOCEAN NFRCLT', LOCEAN,NFRCLT,XSSUFL_T(1),XSSVFL_T(2),XSSTFL_T(1),XSSOLA_T(2) -TZFIELD%CMNHNAME = 'NFRCLT' -TZFIELD%CSTDNAME = '' -TZFIELD%CLONGNAME = 'NFRCLT' -TZFIELD%CUNITS = 'number of forc' -TZFIELD%CDIR = '--' -TZFIELD%CCOMMENT = 'nb de flux sfc forcant LES ocean' -TZFIELD%NGRID = 0 -TZFIELD%NTYPE = TYPEINT -TZFIELD%NDIMS = 0 -TZFIELD%LTIMEDEP = .FALSE. -CALL IO_Field_write(TPFILE,TZFIELD,NFRCLT) -! -TZFIELD%CMNHNAME = 'NINFRT' -TZFIELD%CSTDNAME = '' -TZFIELD%CLONGNAME = 'NINFRT' -TZFIELD%CUNITS = 'interv between forc' -TZFIELD%CDIR = '--' -TZFIELD%CCOMMENT = 'int between flux sfc forcant LES ocean' -TZFIELD%NGRID = 0 -TZFIELD%NTYPE = TYPEINT -TZFIELD%NDIMS = 0 -TZFIELD%LTIMEDEP = .FALSE. -CALL IO_Field_write(TPFILE,TZFIELD,NINFRT) -! -TZFIELD%CMNHNAME = 'SSUFL_T' -TZFIELD%CSTDNAME = '' -TZFIELD%CLONGNAME = 'SSUFL' -TZFIELD%CUNITS = 'kg m-1 s-1' -TZFIELD%CDIR = '--' -TZFIELD%CCOMMENT = 'sfc stress along U to force ocean LES ' -TZFIELD%NGRID = 0 -TZFIELD%NTYPE = TYPEREAL -TZFIELD%NDIMS = 1 -TZFIELD%LTIMEDEP = .FALSE. - CALL IO_Field_write(TPFILE,TZFIELD,XSSUFL_T(:)) -! -TZFIELD%CMNHNAME = 'SSVFL_T' -TZFIELD%CSTDNAME = '' -TZFIELD%CLONGNAME = 'SSVFL' -TZFIELD%CUNITS = 'kg m-1 s-1' -TZFIELD%CDIR = '--' -TZFIELD%CCOMMENT = 'sfc stress along V to force ocean LES ' -TZFIELD%NGRID = 0 -TZFIELD%NTYPE = TYPEREAL -TZFIELD%NDIMS = 1 -TZFIELD%LTIMEDEP = .FALSE. - CALL IO_Field_write(TPFILE,TZFIELD,XSSVFL_T(:)) -! -TZFIELD%CMNHNAME = 'SSTFL_T' -TZFIELD%CSTDNAME = '' -TZFIELD%CLONGNAME = 'SSTFL' -TZFIELD%CUNITS = 'kg m3 K m s-1' -TZFIELD%CDIR = '--' -TZFIELD%CCOMMENT = 'sfc total heat flux to force ocean LES ' -TZFIELD%NGRID = 0 -TZFIELD%NTYPE = TYPEREAL -TZFIELD%NDIMS = 1 -TZFIELD%LTIMEDEP = .FALSE. - CALL IO_Field_write(TPFILE,TZFIELD,XSSTFL_T(:)) -! -TZFIELD%CMNHNAME = 'SSOLA_T' -TZFIELD%CSTDNAME = '' -TZFIELD%CLONGNAME = 'SSOLA' -TZFIELD%CUNITS = 'kg m3 K m s-1' -TZFIELD%CDIR = '--' -TZFIELD%CCOMMENT = 'sfc solar flux to force ocean LES ' -TZFIELD%NGRID = 0 -TZFIELD%NTYPE = TYPEREAL -TZFIELD%NDIMS = 1 -TZFIELD%LTIMEDEP = .FALSE. - CALL IO_Field_write(TPFILE,TZFIELD,XSSOLA_T(:)) -! +IF ((.NOT.LCOUPLES).AND.LOCEAN) THEN + CALL IO_Field_write(TPFILE,'NFRCLT',NFRCLT) + CALL IO_Field_write(TPFILE,'NINFRT',NINFRT) + ! + TZFIELD%CMNHNAME = 'SSUFL_T' + TZFIELD%CSTDNAME = '' + TZFIELD%CLONGNAME = 'SSUFL' + TZFIELD%CUNITS = 'kg m-1 s-1' + TZFIELD%CDIR = '--' + TZFIELD%CCOMMENT = 'sfc stress along U to force ocean LES' + TZFIELD%NGRID = 0 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 1 + TZFIELD%LTIMEDEP = .FALSE. + CALL IO_Field_write(TPFILE,TZFIELD,XSSUFL_T(:)) + ! + TZFIELD%CMNHNAME = 'SSVFL_T' + TZFIELD%CSTDNAME = '' + TZFIELD%CLONGNAME = 'SSVFL' + TZFIELD%CUNITS = 'kg m-1 s-1' + TZFIELD%CDIR = '--' + TZFIELD%CCOMMENT = 'sfc stress along V to force ocean LES' + TZFIELD%NGRID = 0 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 1 + TZFIELD%LTIMEDEP = .FALSE. + CALL IO_Field_write(TPFILE,TZFIELD,XSSVFL_T(:)) + ! + TZFIELD%CMNHNAME = 'SSTFL_T' + TZFIELD%CSTDNAME = '' + TZFIELD%CLONGNAME = 'SSTFL' + TZFIELD%CUNITS = 'kg m3 K m s-1' + TZFIELD%CDIR = '--' + TZFIELD%CCOMMENT = 'sfc total heat flux to force ocean LES' + TZFIELD%NGRID = 0 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 1 + TZFIELD%LTIMEDEP = .FALSE. + CALL IO_Field_write(TPFILE,TZFIELD,XSSTFL_T(:)) + ! + TZFIELD%CMNHNAME = 'SSOLA_T' + TZFIELD%CSTDNAME = '' + TZFIELD%CLONGNAME = 'SSOLA' + TZFIELD%CUNITS = 'kg m3 K m s-1' + TZFIELD%CDIR = '--' + TZFIELD%CCOMMENT = 'sfc solar flux to force ocean LES' + TZFIELD%NGRID = 0 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 1 + TZFIELD%LTIMEDEP = .FALSE. + CALL IO_Field_write(TPFILE,TZFIELD,XSSOLA_T(:)) + ! END IF ! ocean sfc forcing end ! !* 1.12 Forcing variables -- GitLab