From 6f9297de34384d3c87f9cff56e14a16f084519c6 Mon Sep 17 00:00:00 2001 From: Quentin Rodier <quentin.rodier@meteo.fr> Date: Wed, 26 Jan 2022 12:01:34 +0100 Subject: [PATCH] Quentin 26/01/2022: Merge turb.F90 MNH->COMMON CALL ABORT for _ll routines for AROME + move TPFILE I/O type to aro_turb_mnh --- src/arome/aux/mode_argslist_ll.F90 | 5 ++- src/arome/aux/mode_io_field_write.F90 | 1 + src/arome/aux/mode_ll.F90 | 2 + src/arome/aux/shuman.F90 | 9 +++++ src/arome/ext/aro_turb_mnh.F90 | 9 ++++- src/common/turb/modi_turb.F90 | 6 +-- src/common/turb/turb.F90 | 56 +++++++++++++-------------- 7 files changed, 51 insertions(+), 37 deletions(-) diff --git a/src/arome/aux/mode_argslist_ll.F90 b/src/arome/aux/mode_argslist_ll.F90 index 42eaf543e..ed5c4f179 100644 --- a/src/arome/aux/mode_argslist_ll.F90 +++ b/src/arome/aux/mode_argslist_ll.F90 @@ -5,8 +5,8 @@ CONTAINS ! SUBROUTINE CLEANLIST_ll(TPLIST) IMPLICIT NONE - TYPE(LIST_ll), POINTER :: TPLIST ! List of fields + CALL ABORT END SUBROUTINE CLEANLIST_ll ! SUBROUTINE ADD3DFIELD_ll(TPLIST, PFIELD, HNAME) @@ -17,5 +17,6 @@ IMPLICIT NONE ! of fields character(len=*), intent(in) :: HNAME ! Name of the field to be added ! - END SUBROUTINE ADD3DFIELD_ll + CALL ABORT +END SUBROUTINE ADD3DFIELD_ll END MODULE MODE_ARGSLIST_ll diff --git a/src/arome/aux/mode_io_field_write.F90 b/src/arome/aux/mode_io_field_write.F90 index 39e6f7fec..e1ea4aef4 100644 --- a/src/arome/aux/mode_io_field_write.F90 +++ b/src/arome/aux/mode_io_field_write.F90 @@ -10,6 +10,7 @@ SUBROUTINE IO_FIELD_WRITE(TPFILE,TZFIELD,PFIELD) TYPE(TFIELDDATA), INTENT(IN) :: TZFIELD REAL, DIMENSION(:,:,:), INTENT(IN) :: PFIELD ! array containing the data field ! + CALL ABORT END SUBROUTINE IO_FIELD_WRITE END MODULE MODE_IO_FIELD_WRITE diff --git a/src/arome/aux/mode_ll.F90 b/src/arome/aux/mode_ll.F90 index d3626160c..a71daecfa 100644 --- a/src/arome/aux/mode_ll.F90 +++ b/src/arome/aux/mode_ll.F90 @@ -12,12 +12,14 @@ CONTAINS KYOR=1+JPHEXT KXEND=KSIZE1-JPHEXT KYEND=KSIZE2-JPHEXT + CALL ABORT END SUBROUTINE GET_INDICE_ll SUBROUTINE UPDATE_HALO_ll(TPLIST, KINFO) USE MODD_ARGSLIST_ll, ONLY : LIST_ll TYPE(LIST_ll), POINTER :: TPLIST ! pointer to the list of fields to be updated INTEGER :: KINFO ! return status + CALL ABORT END SUBROUTINE UPDATE_HALO_ll LOGICAL FUNCTION LNORTH_ll() diff --git a/src/arome/aux/shuman.F90 b/src/arome/aux/shuman.F90 index 47109f11e..4aaa97995 100644 --- a/src/arome/aux/shuman.F90 +++ b/src/arome/aux/shuman.F90 @@ -88,6 +88,7 @@ PMXF=PA !END DO ! !PMXF(IIU,:,:) = PMXF(2*JPHEXT,:,:) +CALL ABORT ! AROME SHOULD NOT CALLED HORIZONTAL FINITE DIFFERENCE ! !------------------------------------------------------------------------------- ! @@ -182,6 +183,8 @@ PMXM=PA ! !PMXM(1,:,:) = PMXM(IIU-2*JPHEXT+1,:,:) ! +CALL ABORT ! AROME SHOULD NOT CALLED HORIZONTAL FINITE DIFFERENCE + !------------------------------------------------------------------------------- ! IF (LHOOK) CALL DR_HOOK('MXM',1,ZHOOK_HANDLE) @@ -370,6 +373,7 @@ PMYM=PA ! !PMYM(:,1,:) = PMYM(:,IJU-2*JPHEXT+1,:) ! +CALL ABORT ! AROME SHOULD NOT CALLED HORIZONTAL FINITE DIFFERENCE !------------------------------------------------------------------------------- ! IF (LHOOK) CALL DR_HOOK('MYM',1,ZHOOK_HANDLE) @@ -622,6 +626,7 @@ DO JI=1,IIU-1 END DO ! !PDXF(IIU,:,:) = PDXF(2*JPHEXT,:,:) +CALL ABORT ! AROME SHOULD NOT CALLED HORIZONTAL FINITE DIFFERENCE ! !------------------------------------------------------------------------------- ! @@ -713,6 +718,7 @@ END DO ! PDXM(1,:,:) = PDXM(IIU-2*JPHEXT+1,:,:) ! +CALL ABORT ! AROME SHOULD NOT CALLED HORIZONTAL FINITE DIFFERENCE !------------------------------------------------------------------------------- ! IF (LHOOK) CALL DR_HOOK('DXM',1,ZHOOK_HANDLE) @@ -803,6 +809,8 @@ END DO ! !PDYF(:,IJU,:) = PDYF(:,2*JPHEXT,:) ! +CALL ABORT ! AROME SHOULD NOT CALLED HORIZONTAL FINITE DIFFERENCE + !------------------------------------------------------------------------------- ! IF (LHOOK) CALL DR_HOOK('DYF',1,ZHOOK_HANDLE) @@ -892,6 +900,7 @@ DO JJ=2,IJU END DO ! PDYM(:,1,:) = PDYM(:,IJU-2*JPHEXT+1,:) +CALL ABORT ! AROME SHOULD NOT CALLED HORIZONTAL FINITE DIFFERENCE ! !------------------------------------------------------------------------------- ! diff --git a/src/arome/ext/aro_turb_mnh.F90 b/src/arome/ext/aro_turb_mnh.F90 index 8b484ac36..d9609464f 100644 --- a/src/arome/ext/aro_turb_mnh.F90 +++ b/src/arome/ext/aro_turb_mnh.F90 @@ -71,6 +71,7 @@ USE MODD_CONF USE MODD_CST USE MODD_PARAMETERS +USE MODD_IO, ONLY: TFILEDATA USE MODD_BUDGET, ONLY: NBUDGET_RI, TBUDGETDATA ! USE MODI_TURB @@ -175,7 +176,8 @@ TYPE(TLDDH), INTENT(IN), TARGET :: YDLDDH TYPE(TMDDH), INTENT(IN), TARGET :: YDMDDH ! ! - TYPE(TBUDGETDATA), DIMENSION(NBUDGET_RI) :: YLBUDGET !NBUDGET_RI is the one with the highest number needed for turb +TYPE(TBUDGETDATA), DIMENSION(NBUDGET_RI) :: YLBUDGET !NBUDGET_RI is the one with the highest number needed for turb +TYPE(TFILEDATA) :: ZTFILE !I/O for MesoNH !* 0.2 Declarations of local variables : ! INTEGER :: JRR,JSV ! Loop index for the moist and scalar variables @@ -258,6 +260,9 @@ IKE=KKU-JPVEXT_TURB*KKL ! Numero du modele si grid nestind, toujours egal a 1 IMI=1 +! Fichier I/O pour MesoNH (non-utilise dans AROME) +ZTFILE%LOPENED=.FALSE. + ! Type de condition � la limite. En 1D, sans importance. A etudier en 3D. HLBCX(:)='CYCL' HLBCY(:)='CYCL' @@ -415,7 +420,7 @@ CALL TURB (KLEV+2,1,KKL,IMI, KRR, KRRL, KRRI, HLBCX, HLBCY, ISPLIT,IMI, & & OTURB_FLX,OTURB_DIAG,OSUBG_COND,ORMC01, & & HTURBDIM,HTURBLEN,'NONE','NONE', CL, & & HMF_UPDRAFT,ZIMPL, & - & 2*PTSTEP, & + & 2*PTSTEP,ZTFILE, & & ZDXX,ZDYY,ZDZZ,ZDZX,ZDZY,ZZZ, & & ZDIRCOSXW,ZDIRCOSYW,ZDIRCOSZW,ZCOSSLOPE,ZSINSLOPE, & & PRHODJ,PTHVREF,PRHODREF, & diff --git a/src/common/turb/modi_turb.F90 b/src/common/turb/modi_turb.F90 index 5f255c4b6..032c25750 100644 --- a/src/common/turb/modi_turb.F90 +++ b/src/common/turb/modi_turb.F90 @@ -8,7 +8,7 @@ INTERFACE & KSPLIT,KMODEL_CL, & & OTURB_FLX,OTURB_DIAG,OSUBG_COND,ORMC01, & & HTURBDIM,HTURBLEN,HTOM,HTURBLEN_CL,HINST_SFU, & - & HMF_UPDRAFT,PIMPL,PTSTEP, & + & HMF_UPDRAFT,PIMPL,PTSTEP,TPFILE, & & PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW,PCOSSLOPE,PSINSLOPE, & & PRHODJ,PTHVREF,PRHODREF, & @@ -25,7 +25,7 @@ INTERFACE & PFLXZTHVMF,PWTH,PWRC,PWSV,PDP,PTP,PTPMF,PTDIFF,PTDISS,& & YDDDH,YDLDDH,YDMDDH, & & TBUDGETS, KBUDGETS, & - & PTR,PDISS,PEDR,PLEM,TPFILE ) + & PTR,PDISS,PEDR,PLEM ) ! USE DDH_MIX, ONLY : TYP_DDH USE YOMLDDH, ONLY : TLDDH @@ -60,6 +60,7 @@ CHARACTER(LEN=1) , INTENT(IN) :: HINST_SFU ! temporal location of the ! surface friction flux REAL, INTENT(IN) :: PIMPL ! degree of implicitness REAL, INTENT(IN) :: PTSTEP ! Timestep +TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file for MesoNH ! REAL, DIMENSION(:,:,:), INTENT(IN) :: PDXX,PDYY,PDZZ,PDZX,PDZY ! metric coefficients @@ -151,7 +152,6 @@ REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PTR ! Transport production o REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PDISS ! Dissipation of TKE REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PEDR ! EDR REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PLEM ! Mixing length -TYPE(TFILEDATA), INTENT(IN), OPTIONAL :: TPFILE! Output file for MesoNH ! !------------------------------------------------------------------------------- ! diff --git a/src/common/turb/turb.F90 b/src/common/turb/turb.F90 index f0be472cb..e13203dac 100644 --- a/src/common/turb/turb.F90 +++ b/src/common/turb/turb.F90 @@ -8,7 +8,7 @@ & OTURB_FLX,OTURB_DIAG,OSUBG_COND,ORMC01, & & HTURBDIM,HTURBLEN,HTOM,HTURBLEN_CL,HINST_SFU, & & HMF_UPDRAFT,PIMPL, & - & PTSTEP,PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & + & PTSTEP,TPFILE, PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW,PCOSSLOPE,PSINSLOPE, & & PRHODJ,PTHVREF,PRHODREF, & & PSFTH,PSFRV,PSFSV,PSFU,PSFV, & @@ -24,7 +24,7 @@ & PFLXZTHVMF,PWTH,PWRC,PWSV,PDP,PTP,PTPMF,PTDIFF,PTDISS,& & YDDDH,YDLDDH,YDMDDH, & & TBUDGETS, KBUDGETS, & - & PTR,PDISS,PEDR,PLEM,TPFILE ) + & PTR,PDISS,PEDR,PLEM ) ! ################################################################# ! ! @@ -302,7 +302,7 @@ REAL, INTENT(IN) :: PIMPL ! degree of implicitness REAL, INTENT(IN) :: PTSTEP ! timestep ! CHARACTER(LEN=4), INTENT(IN) :: HMF_UPDRAFT ! Type of Mass Flux Scheme - +TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file ! REAL, DIMENSION(:,:,:), INTENT(IN) :: PDXX,PDYY,PDZZ,PDZX,PDZY ! metric coefficients @@ -397,7 +397,6 @@ REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PTR ! Transport production o REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PDISS ! Dissipation of TKE REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PEDR ! EDR REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PLEM ! Mixing length -TYPE(TFILEDATA), INTENT(IN), OPTIONAL :: TPFILE! Output file for MesoNH ! ! !------------------------------------------------------------------------------- @@ -456,7 +455,6 @@ REAL :: ZALPHA ! work coefficient : REAL :: ZTIME1, ZTIME2 REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)):: ZSHEAR, ZDUDZ, ZDVDZ TYPE(TFIELDDATA) :: TZFIELD -TYPE(TFILEDATA) :: TZFILE ! File type to write fields for MesoNH ! !* 1.PRELIMINARIES ! ------------- @@ -467,8 +465,6 @@ TYPE(TFILEDATA) :: TZFILE ! File type to write fields for MesoNH REAL(KIND=JPRB) :: ZHOOK_HANDLE IF (LHOOK) CALL DR_HOOK('TURB',0,ZHOOK_HANDLE) ! -IF(PRESENT(TPFILE)) TZFILE = TPFILE -! IF (LHARAT .AND. HTURBDIM /= '1DIM') THEN CALL ABOR1('LHARATU only implemented for option HTURBDIM=1DIM!') ENDIF @@ -567,7 +563,7 @@ IF (KRRL >=1) THEN END IF ! ! - IF ( TZFILE%LOPENED .AND. OTURB_DIAG ) THEN + IF ( TPFILE%LOPENED .AND. OTURB_DIAG ) THEN TZFIELD%CMNHNAME = 'ATHETA' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'ATHETA' @@ -578,7 +574,7 @@ IF (KRRL >=1) THEN TZFIELD%NTYPE = TYPEREAL TZFIELD%NDIMS = 3 TZFIELD%LTIMEDEP = .TRUE. - CALL IO_FIELD_WRITE(TZFILE,TZFIELD,ZATHETA) + CALL IO_FIELD_WRITE(TPFILE,TZFIELD,ZATHETA) ! TZFIELD%CMNHNAME = 'AMOIST' TZFIELD%CSTDNAME = '' @@ -590,7 +586,7 @@ IF (KRRL >=1) THEN TZFIELD%NTYPE = TYPEREAL TZFIELD%NDIMS = 3 TZFIELD%LTIMEDEP = .TRUE. - CALL IO_FIELD_WRITE(TZFILE,TZFIELD,ZAMOIST) + CALL IO_FIELD_WRITE(TPFILE,TZFIELD,ZAMOIST) END IF ! ELSE @@ -868,11 +864,11 @@ ENDIF ! ----------------- ! IF( LBUDGET_U ) CALL BUDGET_STORE_INIT( TBUDGETS(NBUDGET_U ), 'VTURB', PRUS(:, :, :) ) -IF( LBUDGET_v ) CALL BUDGET_STORE_INIT( TBUDGETS(NBUDGET_V ), 'VTURB', PRVS(:, :, :) ) -IF( LBUDGET_w ) CALL BUDGET_STORE_INIT( TBUDGETS(NBUDGET_W ), 'VTURB', PRWS(:, :, :) ) +IF( LBUDGET_V ) CALL BUDGET_STORE_INIT( TBUDGETS(NBUDGET_V ), 'VTURB', PRVS(:, :, :) ) +IF( LBUDGET_W ) CALL BUDGET_STORE_INIT( TBUDGETS(NBUDGET_W ), 'VTURB', PRWS(:, :, :) ) -IF( LBUDGET_th ) THEN - IF( KRRI >= 1 .and. KRRL >= 1 ) THEN +IF( LBUDGET_TH ) THEN + IF( KRRI >= 1 .AND. KRRL >= 1 ) THEN CALL BUDGET_STORE_INIT( TBUDGETS(NBUDGET_TH), 'VTURB', PRTHLS(:, :, :) + ZLVOCPEXNM(:, :, :) * PRRS(:, :, :, 2) & + ZLSOCPEXNM(:, :, :) * PRRS(:, :, :, 4) ) ELSE IF( KRRL >= 1 ) THEN @@ -882,8 +878,8 @@ IF( LBUDGET_th ) THEN END IF END IF -IF( LBUDGET_rv ) THEN - IF( KRRI >= 1 .and. KRRL >= 1 ) THEN +IF( LBUDGET_RV ) THEN + IF( KRRI >= 1 .AND. KRRL >= 1 ) THEN CALL BUDGET_STORE_INIT( TBUDGETS(NBUDGET_RV), 'VTURB', PRRS(:, :, :, 1) - PRRS(:, :, :, 2) - PRRS(:, :, :, 4) ) ELSE IF( KRRL >= 1 ) THEN CALL BUDGET_STORE_INIT( TBUDGETS(NBUDGET_RV), 'VTURB', PRRS(:, :, :, 1) - PRRS(:, :, :, 2) ) @@ -892,10 +888,10 @@ IF( LBUDGET_rv ) THEN END IF END IF -IF( LBUDGET_rc ) CALL BUDGET_STORE_INIT( TBUDGETS(NBUDGET_RC), 'VTURB', PRRS (:, :, :, 2) ) -IF( LBUDGET_ri ) CALL BUDGET_STORE_INIT( TBUDGETS(NBUDGET_RI), 'VTURB', PRRS (:, :, :, 4) ) +IF( LBUDGET_RC ) CALL BUDGET_STORE_INIT( TBUDGETS(NBUDGET_RC), 'VTURB', PRRS (:, :, :, 2) ) +IF( LBUDGET_RI ) CALL BUDGET_STORE_INIT( TBUDGETS(NBUDGET_RI), 'VTURB', PRRS (:, :, :, 4) ) -IF( LBUDGET_sv ) THEN +IF( LBUDGET_SV ) THEN DO JSV = 1, NSV CALL BUDGET_STORE_INIT( TBUDGETS(NBUDGET_SV1 - 1 + JSV), 'VTURB', PRSVS(:, :, :, JSV) ) END DO @@ -904,7 +900,7 @@ END IF CALL TURB_VER(KKA,KKU,KKL,KRR, KRRL, KRRI, & OTURB_FLX, & HTURBDIM,HTOM,PIMPL,ZEXPL, & - PTSTEP,TZFILE, & + PTSTEP,TPFILE, & PDXX,PDYY,PDZZ,PDZX,PDZY,PDIRCOSZW,PZZ, & PCOSSLOPE,PSINSLOPE, & PRHODJ,PTHVREF, & @@ -1073,7 +1069,7 @@ CALL TKE_EPS_SOURCES(KKA,KKU,KKL,KMI,PTKET,ZLM,ZLEPS,PDP,ZTRH, & & PRHODJ,PDZZ,PDXX,PDYY,PDZX,PDZY,PZZ, & & PTSTEP,PIMPL,ZEXPL, & & HTURBLEN,HTURBDIM, & - & TZFILE,OTURB_DIAG, & + & TPFILE,OTURB_DIAG, & & PTP,PRTKES,PRTHLS,ZCOEF_DISS,PTDIFF,PTDISS,& & TBUDGETS,KBUDGETS,& & PEDR=PEDR) @@ -1095,7 +1091,7 @@ ENDIF !* 7. STORES SOME INFORMATIONS RELATED TO THE TURBULENCE SCHEME ! --------------------------------------------------------- ! -IF ( OTURB_DIAG .AND. TZFILE%LOPENED ) THEN +IF ( OTURB_DIAG .AND. TPFILE%LOPENED ) THEN ! ! stores the mixing length ! @@ -1109,7 +1105,7 @@ IF ( OTURB_DIAG .AND. TZFILE%LOPENED ) THEN TZFIELD%NTYPE = TYPEREAL TZFIELD%NDIMS = 3 TZFIELD%LTIMEDEP = .TRUE. - CALL IO_FIELD_WRITE(TZFILE,TZFIELD,ZLM) + CALL IO_FIELD_WRITE(TPFILE,TZFIELD,ZLM) ! IF (KRR /= 0) THEN ! @@ -1125,7 +1121,7 @@ IF ( OTURB_DIAG .AND. TZFILE%LOPENED ) THEN TZFIELD%NTYPE = TYPEREAL TZFIELD%NDIMS = 3 TZFIELD%LTIMEDEP = .TRUE. - CALL IO_FIELD_WRITE(TZFILE,TZFIELD,PTHLT) + CALL IO_FIELD_WRITE(TPFILE,TZFIELD,PTHLT) ! ! stores the conservative mixing ratio ! @@ -1139,7 +1135,7 @@ IF ( OTURB_DIAG .AND. TZFILE%LOPENED ) THEN TZFIELD%NTYPE = TYPEREAL TZFIELD%NDIMS = 3 TZFIELD%LTIMEDEP = .TRUE. - CALL IO_FIELD_WRITE(TZFILE,TZFIELD,PRT(:,:,:,1)) + CALL IO_FIELD_WRITE(TPFILE,TZFIELD,PRT(:,:,:,1)) END IF END IF ! @@ -1784,7 +1780,7 @@ ENDIF ! ----------------------------------------------- ! ! Impression before modification of the mixing length -IF ( OTURB_DIAG .AND. TZFILE%LOPENED ) THEN +IF ( OTURB_DIAG .AND. TPFILE%LOPENED ) THEN TZFIELD%CMNHNAME = 'LM_CLEAR_SKY' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'LM_CLEAR_SKY' @@ -1795,7 +1791,7 @@ IF ( OTURB_DIAG .AND. TZFILE%LOPENED ) THEN TZFIELD%NTYPE = TYPEREAL TZFIELD%NDIMS = 3 TZFIELD%LTIMEDEP = .TRUE. - CALL IO_FIELD_WRITE(TZFILE,TZFIELD,ZLM) + CALL IO_FIELD_WRITE(TPFILE,TZFIELD,ZLM) ENDIF ! ! Amplification of the mixing length when the criteria are verified @@ -1810,7 +1806,7 @@ WHERE (PCEI(:,:,:) == -1.) ZLM(:,:,:) = ZLM_CLOUD(:,:,:) !* 5. IMPRESSION ! ---------- ! -IF ( OTURB_DIAG .AND. TZFILE%LOPENED ) THEN +IF ( OTURB_DIAG .AND. TPFILE%LOPENED ) THEN TZFIELD%CMNHNAME = 'COEF_AMPL' TZFIELD%CSTDNAME = '' TZFIELD%CLONGNAME = 'COEF_AMPL' @@ -1821,7 +1817,7 @@ IF ( OTURB_DIAG .AND. TZFILE%LOPENED ) THEN TZFIELD%NTYPE = TYPEREAL TZFIELD%NDIMS = 3 TZFIELD%LTIMEDEP = .TRUE. - CALL IO_FIELD_WRITE(TZFILE,TZFIELD,ZCOEF_AMPL) + CALL IO_FIELD_WRITE(TPFILE,TZFIELD,ZCOEF_AMPL) ! TZFIELD%CMNHNAME = 'LM_CLOUD' TZFIELD%CSTDNAME = '' @@ -1832,7 +1828,7 @@ IF ( OTURB_DIAG .AND. TZFILE%LOPENED ) THEN TZFIELD%NGRID = 1 TZFIELD%NTYPE = TYPEREAL TZFIELD%NDIMS = 3 - CALL IO_FIELD_WRITE(TZFILE,TZFIELD,ZLM_CLOUD) + CALL IO_FIELD_WRITE(TPFILE,TZFIELD,ZLM_CLOUD) ! ENDIF ! -- GitLab