diff --git a/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 b/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 index 5bca2401c4b91d7ce1ea9902cdcf70e017a85c74..d60a7fc7915b113d992c374768bf389b3c719d82 100644 --- a/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 +++ b/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -15,7 +15,7 @@ ! P. Wautelet 10/11/2020: new data structures for netCDF dimensions !----------------------------------------------------------------- MODULE mode_util - use modd_field, only: tfielddata, tfieldlist + use modd_field, only: tfieldmetadata, tfieldlist USE MODD_IO, ONLY: TFILEDATA, TFILE_ELT USE MODD_NETCDF, ONLY: CDFINT, tdimnc USE MODD_PARAMETERS, ONLY: NLFIMAXCOMMENTLENGTH, NMNHNAMELGTMAX @@ -56,7 +56,7 @@ MODULE mode_util INTEGER(kind=CDFINT) :: NTYPE_FILE ! netCDF datatype (NF90_CHAR, NF90_INT...) (as present in input file) INTEGER,DIMENSION(MAXRAW) :: src ! List of variables used to compute the variable (needed only if calc=.true.) INTEGER :: tgt ! Target: id of the variable that use it (calc variable) - TYPE(TFIELDDATA) :: TFIELD ! Metadata about the field + TYPE(TFIELDMETADATA) :: TFIELD ! Metadata about the field TYPE(tdimnc),DIMENSION(:),ALLOCATABLE :: TDIMS ! Dimensions of the field END TYPE workfield @@ -388,7 +388,7 @@ END DO ELSE CALL FIND_FIELD_ID_FROM_MNHNAME(tpreclist(ji)%name,IID,IRESP,ONOWARNING=.TRUE.) IF (IRESP==0) THEN - tpreclist(ji)%TFIELD = TFIELDLIST(IID) + tpreclist(ji)%TFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) ! Determine TDIMS IF (runmode==MODELFI2CDF) THEN ALLOCATE(tpreclist(ji)%TDIMS(tpreclist(ji)%TFIELD%NDIMS)) diff --git a/src/MNH/advection_metsv.f90 b/src/MNH/advection_metsv.f90 index 107970bb15940b06dea2141347a63185a0b21073..ec9b54f0c53e761a1cf32505dbc46deeb02b4d74 100644 --- a/src/MNH/advection_metsv.f90 +++ b/src/MNH/advection_metsv.f90 @@ -152,7 +152,7 @@ use modd_budget, only: lbudget_th, lbudget_tke, lbudget_rv, lbudget_rc, USE MODD_CST USE MODD_CTURB, ONLY: XTKEMIN USE MODD_CONF, ONLY: LNEUTRAL,NHALO,L1D, L2D -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IBM_PARAM_n, ONLY: LIBM,XIBM_LS,XIBM_EPSI USE MODD_IO, ONLY: TFILEDATA USE MODD_LUNIT_n, ONLY: TLUOUT @@ -275,11 +275,11 @@ TYPE(LIST_ll), POINTER :: TZFIELDS0_ll ! list of fields to exchange TYPE(LIST_ll), POINTER :: TZFIELDS1_ll ! list of fields to exchange ! ! -INTEGER :: IRESP ! Return code of FM routines -INTEGER :: ILUOUT ! logical unit -INTEGER :: ISPLIT_PPM ! temporal time splitting -INTEGER :: IIB, IIE, IJB, IJE,IKB,IKE -TYPE(TFIELDDATA) :: TZFIELD +INTEGER :: IRESP ! Return code of FM routines +INTEGER :: ILUOUT ! logical unit +INTEGER :: ISPLIT_PPM ! temporal time splitting +INTEGER :: IIB, IIE, IJB, IJE,IKB,IKE +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! !* 0. INITIALIZATION @@ -366,7 +366,7 @@ END IF !* prints in the file the 3D Courant numbers (one should flag this) ! IF ( tpfile%lopened .AND. OCFL_WRIT .AND. (.NOT. L1D) ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CFLU', & CSTDNAME = '', & CLONGNAME = 'CFLU', & @@ -380,7 +380,7 @@ IF ( tpfile%lopened .AND. OCFL_WRIT .AND. (.NOT. L1D) ) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZCFLU) ! IF (.NOT. L2D) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CFLV', & CSTDNAME = '', & CLONGNAME = 'CFLV', & @@ -394,7 +394,7 @@ IF ( tpfile%lopened .AND. OCFL_WRIT .AND. (.NOT. L1D) ) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZCFLV) END IF ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CFLW', & CSTDNAME = '', & CLONGNAME = 'CFLW', & @@ -407,7 +407,7 @@ IF ( tpfile%lopened .AND. OCFL_WRIT .AND. (.NOT. L1D) ) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZCFLW) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CFL', & CSTDNAME = '', & CLONGNAME = 'CFL', & diff --git a/src/MNH/c2r2_adjust.f90 b/src/MNH/c2r2_adjust.f90 index 0112cd87a14e506d3afc204dc68f3e59b396938a..c5e9d27bcd264a39895284056bb1fdaa9c22b715 100644 --- a/src/MNH/c2r2_adjust.f90 +++ b/src/MNH/c2r2_adjust.f90 @@ -146,7 +146,7 @@ use modd_budget, only: lbudget_th, lbudget_rv, lbudget_rc, lbudget_sv, tbudgets USE MODD_CONF USE MODD_CST -USE MODD_FIELD, only: tfielddata, TYPEREAL +USE MODD_FIELD, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_LUNIT_n, ONLY: TLUOUT USE MODD_NSV, ONLY: NSV_C2R2BEG @@ -195,10 +195,10 @@ REAL, DIMENSION(SIZE(PRHODJ,1),SIZE(PRHODJ,2),SIZE(PRHODJ,3)) & ZW1,ZW2,ZW3 ! Work arrays for intermediate ! fields ! -INTEGER :: IRESP ! Return code of FM routines -INTEGER :: JITER,ITERMAX ! iterative loop for first order adjustment -INTEGER :: ILUOUT ! Logical unit of output listing -TYPE(TFIELDDATA) :: TZFIELD +INTEGER :: IRESP ! Return code of FM routines +INTEGER :: JITER,ITERMAX ! iterative loop for first order adjustment +INTEGER :: ILUOUT ! Logical unit of output listing +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! !* 1. PRELIMINARIES @@ -405,7 +405,7 @@ IF ( HRAD /= 'NONE' ) THEN END IF ! IF ( tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'NEB', & CSTDNAME = '', & CLONGNAME = 'NEB', & diff --git a/src/MNH/call_rttov11.f90 b/src/MNH/call_rttov11.f90 index e6a43b03e6ee8ca268b31ecf695ca520157a2d31..c949ca4ebf02ce76697e879545f78ad7a8cd8e18 100644 --- a/src/MNH/call_rttov11.f90 +++ b/src/MNH/call_rttov11.f90 @@ -93,7 +93,7 @@ USE MODD_CST USE MODD_PARAMETERS USE MODD_GRID_n USE MODD_IO, ONLY: TFILEDATA -USE MODD_FIELD, ONLY: TFIELDDATA, TYPEREAL +USE MODD_FIELD, ONLY: TFIELDMETADATA, TYPEREAL USE MODD_LUNIT_n USE MODD_DEEP_CONVECTION_n USE MODD_REF_n @@ -266,7 +266,7 @@ integer (kind=jpim), parameter :: fin = 10 character (len=256) :: outstring ! ----------------------------------------------------------------------------- REAL, DIMENSION(SIZE(PTHT,1),SIZE(PTHT,2),SIZE(PTHT,3)) :: ZTEMP -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! !* 0. ARRAYS BOUNDS INITIALIZATION @@ -585,7 +585,7 @@ DO JSAT=1,IJSAT ! loop over sensors YEND=YTWO//YCHAN END IF - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(YBEG)//'_'//TRIM(YEND)//'BT', & CSTDNAME = '', & CLONGNAME = TRIM(YBEG)//'_'//TRIM(YEND)//'BT', & diff --git a/src/MNH/call_rttov13.f90 b/src/MNH/call_rttov13.f90 index 5c427dce7af43bb0ad843b7ea87a9d98c6211775..90526ac29577602f548b302c12173cfe7b98298c 100644 --- a/src/MNH/call_rttov13.f90 +++ b/src/MNH/call_rttov13.f90 @@ -90,7 +90,7 @@ USE MODD_CST USE MODD_PARAMETERS USE MODD_GRID_n USE MODD_IO, ONLY: TFILEDATA -USE MODD_FIELD, ONLY: TFIELDDATA, TYPEREAL +USE MODD_FIELD, ONLY: TFIELDMETADATA, TYPEREAL USE MODD_LUNIT_n USE MODD_LBC_n USE MODD_DEEP_CONVECTION_n @@ -264,7 +264,7 @@ character (len=256) :: outstring ! ----------------------------------------------------------------------------- CHARACTER(LEN=:), ALLOCATABLE :: YMNHNAME, YUNITS, YCOMMENT REAL, DIMENSION(SIZE(PTHT,1),SIZE(PTHT,2),SIZE(PTHT,3)) :: ZTEMP -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! !* 0. ARRAYS BOUNDS INITIALIZATION @@ -705,7 +705,7 @@ DO JSAT=1,IJSAT ! loop over sensors YUNITS = '-' YCOMMENT = TRIM(YBEG)//'_'//TRIM(YEND)//' bidirectional reflectance factor' END IF - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM( YMNHNAME ), & CSTDNAME = '', & CLONGNAME = 'MesoNH: ' // TRIM( YMNHNAME ), & diff --git a/src/MNH/call_rttov8.f90 b/src/MNH/call_rttov8.f90 index d38a71c2b540e56922818304d7202a84812f2a9f..ab370816e9fbd8998e73ed1420898793511151f9 100644 --- a/src/MNH/call_rttov8.f90 +++ b/src/MNH/call_rttov8.f90 @@ -90,6 +90,7 @@ SUBROUTINE CALL_RTTOV8(KDLON, KFLEV, KSTATM, PEMIS, PTSRAD, PSTATM, & !! ------------ !! USE MODD_CST +USE MODD_FIELD, only: TFIELDMETADATA USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS USE MODD_GRID_n @@ -687,7 +688,7 @@ REAL(Kind=jprb), PARAMETER :: o3_mixratio_to_ppmv = 6.03504e+5_JPRB INTEGER(Kind=jpim) :: alloc_status(40) CHARACTER(LEN=:), ALLOCATABLE :: YMNHNAME, YUNITS, YCOMMENT -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! - End of header -------------------------------------------------------- !!!---------------------------------------------------------------------------- @@ -1568,7 +1569,7 @@ DO JSAT=1,IJSAT ! loop over sensors ! DO JK1=1,LEN_TRIM(inst_name(KRTTOVINFO(3,JSAT))) ! YINST(JK1:JK1)=CHAR(ICHAR(YINST(JK1:JK1))-32) ! END DO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(YINST)//'_ANGL', & CSTDNAME = '', & CLONGNAME = TRIM(YINST)//'_ANGL', & @@ -1629,7 +1630,7 @@ DO JSAT=1,IJSAT ! loop over sensors YUNITS = 'K' YCOMMENT = TRIM(YBEG)//'_'//TRIM(YEND)//' BT' ENDIF - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM( YMNHNAME ), & CSTDNAME = '', & CLONGNAME = TRIM( YMNHNAME ), & @@ -1645,7 +1646,7 @@ DO JSAT=1,IJSAT ! loop over sensors MAXVAL(ZTBTMP(:,:,JCH),ZTBTMP(:,:,JCH)/=XUNDEF) CALL IO_Field_write(TPFILE,TZFIELD,ZTBTMP(:,:,JCH)) IF (KRTTOVINFO(3,JSAT) == 4.AND. JCH==3 ) THEN ! AMSU-B - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(YBEG)//'_UTH', & CSTDNAME = '', & CLONGNAME = TRIM(YBEG)//'_UTH', & @@ -1727,7 +1728,7 @@ DO JSAT=1,IJSAT ! loop over sensors END DO END DO ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(YBEG)//'_'//TRIM(YEND)//'JAT', & CSTDNAME = '', & CLONGNAME = TRIM(YBEG)//'_'//TRIM(YEND)//'JAT', & @@ -1743,7 +1744,7 @@ DO JSAT=1,IJSAT ! loop over sensors MAXVAL(ZTEMPK(:,:,:),ZTEMPK(:,:,:)/=XUNDEF) CALL IO_Field_write(TPFILE,TZFIELD,ZTEMPK(:,:,:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(YBEG)//'_'//TRIM(YEND)//'JAV', & CSTDNAME = '', & CLONGNAME = TRIM(YBEG)//'_'//TRIM(YEND)//'JAV', & diff --git a/src/MNH/compare_dad.f90 b/src/MNH/compare_dad.f90 index fe145cee49c3dc81433344f9e26cebddcc46f57c..983eb5188da425017d880f728576aac6e0ece1e5 100644 --- a/src/MNH/compare_dad.f90 +++ b/src/MNH/compare_dad.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2004-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2004-2021 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. @@ -66,7 +66,7 @@ END MODULE MODI_COMPARE_DAD ! ! USE MODD_CONF -use modd_field, only: tfielddata, tfieldlist +use modd_field, only: tfieldmetadata, tfieldlist USE MODD_IO, ONLY: TFILEDATA USE MODD_LUNIT_n, ONLY: TLUOUT USE MODD_PARAMETERS, ONLY: JPHEXT, JPVEXT, NMNHNAMELGTMAX @@ -109,7 +109,7 @@ INTEGER :: IIMAX_1,IJMAX_1,IKMAX_1 INTEGER :: IIMAX_2,IJMAX_2,IKMAX_2 ! REAL :: ZLATORI, ZLONORI, ZXHATM, ZYHATM -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD TYPE(TFILEDATA),POINTER :: TZDADINIFILE => NULL() TYPE(TFILEDATA),POINTER :: TZDADSPAFILE => NULL() !------------------------------------------------------------------------------- @@ -170,12 +170,12 @@ IF (.NOT.LCARTESIAN) THEN ! IF (TZDADINIFILE%NMNHVERSION(1)<4 .OR. (TZDADINIFILE%NMNHVERSION(1)==4 .AND. TZDADINIFILE%NMNHVERSION(2)<=5) ) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LONOR' CALL IO_Field_read(TZDADINIFILE,TZFIELD,ZLONORI_1) ! CALL FIND_FIELD_ID_FROM_MNHNAME('LATORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LATOR' CALL IO_Field_read(TZDADINIFILE,TZFIELD,ZLATORI_1) ! @@ -226,12 +226,12 @@ IF (.NOT.LCARTESIAN) THEN ! IF (TZDADSPAFILE%NMNHVERSION(1)<4 .OR. (TZDADSPAFILE%NMNHVERSION(1)==4 .AND. TZDADSPAFILE%NMNHVERSION(2)<=5)) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LONOR' CALL IO_Field_read(TZDADSPAFILE,TZFIELD,ZLONORI_2) ! CALL FIND_FIELD_ID_FROM_MNHNAME('LATORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LATOR' CALL IO_Field_read(TZDADSPAFILE,TZFIELD,ZLATORI_2) ! diff --git a/src/MNH/compute_r00.f90 b/src/MNH/compute_r00.f90 index 85f43d0d24901e4ed87ba8814692f7604e984a8c..727b230ffd52a9b7afa1b20d5748bc45e34876b4 100644 --- a/src/MNH/compute_r00.f90 +++ b/src/MNH/compute_r00.f90 @@ -65,7 +65,7 @@ END MODULE MODI_COMPUTE_R00 ! USE MODD_CONF USE MODD_GRID_n -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_FIELD_n USE MODD_IO, ONLY: TFILEDATA USE MODD_LUNIT_n @@ -114,7 +114,7 @@ LOGICAL :: GSTART INTEGER :: INBR_START REAL :: ZXMAX,ZYMAX,ZZMAX ! domain extrema INTEGER, DIMENSION(100) :: NBRFILES -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD TYPE(TFILEDATA),POINTER :: TZTRACFILE ! !------------------------------------------------------------------------------- @@ -277,7 +277,7 @@ DO JFILECUR=1,NFILES IF (GSTART) THEN PRINT *,'INBR_START',INBR_START,' NBRFILES(JFILECUR)',NBRFILES(JFILECUR) WRITE(YMNHNAME,'(A2,I2.2)')'X0',INBR_START - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM( YMNHNAME ), & CSTDNAME = '', & CLONGNAME = TRIM( YMNHNAME ), & @@ -292,7 +292,7 @@ DO JFILECUR=1,NFILES CALL IO_Field_write(TPFILE,TZFIELD,ZX00(:,:,:)) ! WRITE(YMNHNAME,'(A2,I2.2)')'Y0',INBR_START - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM( YMNHNAME ), & CSTDNAME = '', & CLONGNAME = TRIM(TZFIELD%CMNHNAME), & @@ -307,7 +307,7 @@ DO JFILECUR=1,NFILES CALL IO_Field_write(TPFILE,TZFIELD,ZY00(:,:,:)) ! WRITE(YMNHNAME,'(A2,I2.2)')'Z0',INBR_START - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM( YMNHNAME ), & CSTDNAME = '', & CLONGNAME = TRIM( YMNHNAME ), & @@ -338,7 +338,7 @@ DO JFILECUR=1,NFILES IF (GSTART) THEN ! WRITE(YMNHNAME,'(A3,I2.2)')'TH0',INBR_START - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM( YMNHNAME ), & CSTDNAME = '', & CLONGNAME = TRIM( YMNHNAME ), & @@ -353,7 +353,7 @@ DO JFILECUR=1,NFILES CALL IO_Field_write(TPFILE,TZFIELD,ZWORK1(:,:,:)) ! WRITE(YMNHNAME,'(A3,I2.2)')'RV0',INBR_START - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM( YMNHNAME ), & CSTDNAME = '', & CLONGNAME = TRIM( YMNHNAME ), & @@ -370,7 +370,7 @@ DO JFILECUR=1,NFILES !* 4.4 compute the origin of the particules using one more segment ! IF (JFILECUR /= NFILES) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA(& CMNHNAME = 'LGXT', & CSTDNAME = '', & CLONGNAME = 'LGXT', & diff --git a/src/MNH/free_atm_profile.f90 b/src/MNH/free_atm_profile.f90 index 34fefa20ae0bdb144b7e86b510e6f93e8a93bb05..572dd91d8489b8e2ea4e8bb4738cbf1b0750e60f 100644 --- a/src/MNH/free_atm_profile.f90 +++ b/src/MNH/free_atm_profile.f90 @@ -93,7 +93,7 @@ END MODULE MODI_FREE_ATM_PROFILE ! ------------ ! USE MODD_CONF -use modd_field, only: tfielddata, TYPEINT, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEINT, TYPEREAL USE MODD_GRID_n USE MODD_IO, ONLY: TFILEDATA USE MODD_LUNIT, ONLY: TLUOUT0 @@ -163,7 +163,7 @@ REAL, DIMENSION(SIZE(XZZ,1),SIZE(XZZ,2),SIZE(XZZ,3)) & :: Z3D ! field to be recorded REAL, DIMENSION(SIZE(XZZ,1),SIZE(XZZ,2),SIZE(XZZ,3)) & :: ZZMASS ! MESO-NH output mass grid -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! ILUOUT0 = TLUOUT0%NLU @@ -468,7 +468,7 @@ IF (CPROGRAM == 'DIAG ' ) THEN Z2D(JI,JJ) = PZMASS_MX(JI,JJ,IK_BL_TOP(JI,JJ)) - PZS_LS(JI,JJ) END DO END DO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HBLTOP', & CSTDNAME = 'atmosphere_boundary_layer_thickness', & CLONGNAME = 'HBLTOP', & @@ -484,7 +484,7 @@ IF (CPROGRAM == 'DIAG ' ) THEN !* 11.2 Writing of level of boundary layer top ! -------------------------------------- ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'KBLTOP', & CSTDNAME = 'model_level_number_at_top_of_atmosphere_boundary_layer', & CLONGNAME = 'KBLTOP', & @@ -503,7 +503,7 @@ IF (CPROGRAM /= 'DIAG ' .AND. CPROGRAM /= 'IDEAL ' ) THEN !* 11.3 Writing of free atmosphere gradient ! ----------------------------------- ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'FREE_ATM_GR', & CSTDNAME = '', & CLONGNAME = 'FREE_ATM_GR', & @@ -525,7 +525,7 @@ IF (CPROGRAM /= 'DIAG ' .AND. CPROGRAM /= 'IDEAL ' ) THEN CALL COEF_VER_INTERP_LIN(PZ_FREE(:,:,:),ZZMASS(:,:,:),OLEUG=.TRUE.) Z3D(:,:,:)=VER_INTERP_LIN(PF_FREE(:,:,:),NKLIN(:,:,:),XCOEFLIN(:,:,:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THV_FREE', & CSTDNAME = '', & CLONGNAME = 'THV_FREE', & diff --git a/src/MNH/ini_aircraft_balloon.f90 b/src/MNH/ini_aircraft_balloon.f90 index f5938cbc1951524bbd3d684ec386853181c2ae9b..5d9ea3a672498ad419d90f07840abee934d97abf 100644 --- a/src/MNH/ini_aircraft_balloon.f90 +++ b/src/MNH/ini_aircraft_balloon.f90 @@ -89,7 +89,7 @@ USE MODD_AIRCRAFT_BALLOON USE MODD_CONF USE MODD_DIAG_FLAG USE MODD_DYN_n -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_GRID USE MODD_IO, ONLY: TFILEDATA USE MODD_LUNIT_n, ONLY: TLUOUT @@ -128,7 +128,7 @@ INTEGER :: ISTORE ! number of storage instants INTEGER :: ILUOUT ! logical unit INTEGER :: IRESP ! return code INTEGER :: JSEG ! loop counter -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! !---------------------------------------------------------------------------- ! @@ -474,7 +474,7 @@ END IF IF ( CPROGRAM == 'MESONH' .OR. CPROGRAM == 'SPAWN ' .OR. CPROGRAM == 'REAL ' ) THEN ! read the current location in the FM_FILE ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(TPFLYER%TITLE)//'LAT', & CSTDNAME = '', & CLONGNAME = TRIM(TPFLYER%TITLE)//'LAT', & @@ -490,7 +490,7 @@ IF ( CPROGRAM == 'MESONH' .OR. CPROGRAM == 'SPAWN ' .OR. CPROGRAM == 'REAL ' ) IF ( IRESP /= 0 ) THEN WRITE(ILUOUT,*) "INI_LAUCH: Initial location take for ",TPFLYER%TITLE ELSE - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(TPFLYER%TITLE)//'LON', & CSTDNAME = '', & CLONGNAME = TRIM(TPFLYER%TITLE)//'LON', & @@ -503,7 +503,7 @@ IF ( CPROGRAM == 'MESONH' .OR. CPROGRAM == 'SPAWN ' .OR. CPROGRAM == 'REAL ' ) LTIMEDEP = .TRUE. ) CALL IO_Field_read(TPINIFILE,TZFIELD,ZLON) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(TPFLYER%TITLE)//'ALT', & CSTDNAME = '', & CLONGNAME = TRIM(TPFLYER%TITLE)//'ALT', & @@ -518,7 +518,7 @@ IF ( CPROGRAM == 'MESONH' .OR. CPROGRAM == 'SPAWN ' .OR. CPROGRAM == 'REAL ' ) ! TPFLYER%P_CUR = XUNDEF ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(TPFLYER%TITLE)//'WASCENT', & CSTDNAME = '', & CLONGNAME = TRIM(TPFLYER%TITLE)//'WASCENT', & @@ -531,7 +531,7 @@ IF ( CPROGRAM == 'MESONH' .OR. CPROGRAM == 'SPAWN ' .OR. CPROGRAM == 'REAL ' ) LTIMEDEP = .TRUE. ) CALL IO_Field_read(TPINIFILE,TZFIELD,TPFLYER%WASCENT) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(TPFLYER%TITLE)//'RHO', & CSTDNAME = '', & CLONGNAME = TRIM(TPFLYER%TITLE)//'RHO', & diff --git a/src/MNH/ini_deep_convection.f90 b/src/MNH/ini_deep_convection.f90 index 447fac0b06b38d843dfeaa16f1df28199800d920..695d39a4d512f4fa48d0137b495279e39f1f62de 100644 --- a/src/MNH/ini_deep_convection.f90 +++ b/src/MNH/ini_deep_convection.f90 @@ -120,7 +120,7 @@ USE MODD_CH_M9_n, ONLY: CNAMES USE MODD_CONVPAR USE MODD_DUST, ONLY: CDUSTNAMES USE MODD_ELEC_DESCR, ONLY: CELECNAMES -use modd_field, only: tfielddata, tfieldlist, TYPEREAL +use modd_field, only: tfieldmetadata, tfieldlist, TYPEREAL USE MODD_ICE_C1R3_DESCR, ONLY: C1R3NAMES USE MODD_IO, ONLY: TFILEDATA USE MODD_LG, ONLY: CLGNAMES @@ -180,10 +180,10 @@ REAL, DIMENSION(:,:), INTENT(INOUT) :: PCG_TOTAL_NUMBER ! Total number of CG !* 0.2 declarations of local variables ! ! -INTEGER :: IID -INTEGER :: IRESP -INTEGER :: JSV ! number of tracers -TYPE(TFIELDDATA) :: TZFIELD +INTEGER :: IID +INTEGER :: IRESP +INTEGER :: JSV ! number of tracers +TYPE(TFIELDMETADATA) :: TZFIELD ! !------------------------------------------------------------------------------- ! @@ -233,19 +233,19 @@ ELSE CALL IO_Field_read(TPINIFILE,'DRICONV', PDRICONV) ! CALL FIND_FIELD_ID_FROM_MNHNAME('PRCONV',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_read(TPINIFILE,TZFIELD,PPRCONV) PPRCONV=PPRCONV/(1000.*3600.) ! conversion into m/s units ! CALL FIND_FIELD_ID_FROM_MNHNAME('PRSCONV',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_read(TPINIFILE,TZFIELD,PPRSCONV) PPRSCONV=PPRSCONV/(1000.*3600.) ! conversion into m/s units ! CALL FIND_FIELD_ID_FROM_MNHNAME('PACCONV',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_read(TPINIFILE,TZFIELD,PPACCONV) PPACCONV=PPACCONV/1000. ! conversion into m unit @@ -260,7 +260,7 @@ ELSE ! SELECT CASE(HGETSVCONV) CASE('READ') - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for ini_deep_convection', & !Temporary name to ease identification CUNITS = 's-1', & CDIR = 'XY', & diff --git a/src/MNH/ini_lb.f90 b/src/MNH/ini_lb.f90 index b91b85868754149aeb5d1d01772a268f9be40a19..3c610aa2dc2a886f685abefa9cc48220ec04099e 100644 --- a/src/MNH/ini_lb.f90 +++ b/src/MNH/ini_lb.f90 @@ -145,7 +145,7 @@ USE MODD_CTURB USE MODD_CONF USE MODD_DUST USE MODD_ELEC_DESCR, ONLY: CELECNAMES -use modd_field, only: tfielddata, TYPELOG, TYPEREAL +use modd_field, only: tfieldmetadata, TYPELOG, TYPEREAL USE MODD_ICE_C1R3_DESCR, ONLY: C1R3NAMES USE MODD_IO, ONLY: TFILEDATA USE MODD_LG, ONLY: CLGNAMES @@ -231,8 +231,8 @@ LOGICAL :: GHORELAX_R, GHORELAX_SV ! switch for the horizontal relaxation CHARACTER (LEN= LEN(HGETRVM)), DIMENSION (7) :: YGETRXM ! Arrays with the get indicators ! for the moist variables CHARACTER (LEN=1), DIMENSION (7) :: YC ! array with the prefix of the moist variables -CHARACTER(LEN=2) :: INDICE ! to index CCN and IFN fields of LIMA scheme -TYPE(TFIELDDATA) :: TZFIELD +CHARACTER(LEN=2) :: INDICE ! to index CCN and IFN fields of LIMA scheme +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! ! @@ -361,7 +361,7 @@ END SELECT !* 2.5 LB-Rx ! IF(KSIZELBXR_ll > 0 ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HORELAX_R', & CSTDNAME = '', & CLONGNAME = 'HORELAX_R', & @@ -390,7 +390,7 @@ IF(KSIZELBXR_ll > 0 ) THEN IL3DY=2*JPHEXT ! 2 END IF ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CUNITS = 'kg kg-1', & CDIR = '', & NGRID = 1, & diff --git a/src/MNH/ini_prog_var.f90 b/src/MNH/ini_prog_var.f90 index 1f099672e93eb078161e9b0a29070dfb7e01f295..21642620971a94e1c95256cb2739ce03f1e31b20 100644 --- a/src/MNH/ini_prog_var.f90 +++ b/src/MNH/ini_prog_var.f90 @@ -113,7 +113,7 @@ USE MODD_CONF_n USE MODD_DIM_n USE MODD_DUST USE MODD_DYN_n -use modd_field, only: TFIELDDATA, TYPEREAL +use modd_field, only: TFIELDMETADATA, TYPEREAL USE MODD_FIELD_n USE MODD_IO, ONLY: TFILEDATA USE MODD_LSFIELD_n @@ -163,7 +163,7 @@ INTEGER :: JSV ! Loop index INTEGER :: JMOM, IMOMENTS, JMODE, ISV_NAME_IDX, IMODEIDX ! dust and salt modes INTEGER :: ILUDES ! logical unit numbers of DESFM file LOGICAL :: GFOUND ! Return code when searching namelist -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD TYPE(TFILEDATA),POINTER :: TZCHEMFILE => NULL() !------------------------------------------------------------------------------- ! diff --git a/src/MNH/ini_size_spawn.f90 b/src/MNH/ini_size_spawn.f90 index 0de2efdb4672b8e4e1402330d51dea5d6b759cb4..abab91578153c475a65cd826bb4f559cad97d426 100644 --- a/src/MNH/ini_size_spawn.f90 +++ b/src/MNH/ini_size_spawn.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1999-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1999-2021 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. @@ -78,7 +78,7 @@ END MODULE MODI_INI_SIZE_SPAWN USE MODD_CONF USE MODD_DIM_n, ONLY: DIM_MODEL USE MODD_DYN_n, ONLY: CPRESOPT, NITR -use modd_field, only: tfielddata, tfieldlist +use modd_field, only: tfieldmetadata, tfieldlist USE MODD_GRID USE MODD_GRID_n USE MODD_IO, ONLY: ISNPROC, ISP, TFILEDATA @@ -137,7 +137,7 @@ INTEGER :: IDIMX, IDIMY, IIB, IJB, IIE, IJE !$ REAL :: ZLATOR, ZLONOR, ZXHATM, ZYHATM INTEGER :: IIMAX_ll,IJMAX_ll -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD TYPE(TFILEDATA),POINTER :: TZDOMAIN => NULL() ! ! @@ -265,12 +265,12 @@ IF (LEN_TRIM(CDOMAIN)>0) THEN ! IF (TPINIFILE%NMNHVERSION(1)<4 .OR. (TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)<=5)) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LONOR' CALL IO_Field_read(TPINIFILE,TZFIELD,XPGDLONOR) ! CALL FIND_FIELD_ID_FROM_MNHNAME('LATORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LATOR' CALL IO_Field_read(TPINIFILE,TZFIELD,XPGDLATOR) ! diff --git a/src/MNH/ini_surf_rad.f90 b/src/MNH/ini_surf_rad.f90 index be7c6f342153a6991a14bc8e03b3cc5465b409ba..19b5f8df6efdff90a4f1250ad9bf7cc6c7a0fab6 100644 --- a/src/MNH/ini_surf_rad.f90 +++ b/src/MNH/ini_surf_rad.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2003-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2003-2021 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. @@ -63,7 +63,7 @@ END MODULE MODI_INI_SURF_RAD !* 0. DECLARATIONS ! ------------ ! -use modd_field, only: tfielddata, tfieldlist +use modd_field, only: tfieldmetadata, tfieldlist USE MODD_IO, ONLY: TFILEDATA ! use mode_field, only: Find_field_id_from_mnhname @@ -82,8 +82,8 @@ REAL, DIMENSION(:,:), INTENT(OUT) :: PTSRAD ! radiative surface temperature ! !* 0.2 declarations of local variables ! -INTEGER :: IID, IRESP -TYPE(TFIELDDATA) :: TZFIELD +INTEGER :: IID, IRESP +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL IO_Field_read(TPINIFILE,'DIR_ALB',PDIR_ALB) @@ -91,7 +91,7 @@ CALL IO_Field_read(TPINIFILE,'SCA_ALB',PSCA_ALB) ! CALL PRINT_MSG(NVERB_INFO,'IO','INI_SURF_RAD','EMIS: reading only first band (copy on others)') CALL FIND_FIELD_ID_FROM_MNHNAME('EMIS',IID,IRESP) -TZFIELD = TFIELDLIST(IID) +TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%NDIMS = 2 CALL IO_Field_read(TPINIFILE,TZFIELD,PEMIS(:,:,1)) PEMIS(:,:,:) = SPREAD(SOURCE=PEMIS(:,:,1),DIM=3,NCOPIES=SIZE(PEMIS,3)) diff --git a/src/MNH/khko_notadjust.f90 b/src/MNH/khko_notadjust.f90 index b69b6a18ae466607cabdbc27a69a1c762a0c6a98..74be8f4336bf44c1106dfb44477434904ab62bc3 100644 --- a/src/MNH/khko_notadjust.f90 +++ b/src/MNH/khko_notadjust.f90 @@ -101,7 +101,7 @@ use modd_budget, only: lbudget_th, lbudget_rv, lbudget_rc, lbudget_sv, tbudgets USE MODD_CONF USE MODD_CST -use modd_field, only: TFIELDDATA,TYPEREAL +use modd_field, only: TFIELDMETADATA, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_LUNIT_n, ONLY: TLUOUT USE MODD_NSV, ONLY: NSV_C2R2BEG @@ -183,8 +183,8 @@ INTEGER, DIMENSION(:), ALLOCATABLE :: IVEC1 ! Vectors of indices for REAL, DIMENSION(SIZE(PRHODREF,1),SIZE(PRHODREF,2),SIZE(PRHODREF,3)) ::& ZEXNT,ZEXNS,ZT,ZRVSAT,ZWORK,ZLV,ZCPH, ZW1, & ZACT, ZDZ -INTEGER :: JK ! For loop -TYPE(TFIELDDATA) :: TZFIELD +INTEGER :: JK ! For loop +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! @@ -389,7 +389,7 @@ END IF PNPRO(:,:,:) = ZACT(:,:,:) ! IF ( tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SURSAT', & CSTDNAME = '', & CLONGNAME = 'SURSAT', & @@ -402,7 +402,7 @@ IF ( tpfile%lopened ) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ACT_OD', & CSTDNAME = '', & CLONGNAME = 'ACT_OD', & diff --git a/src/MNH/lima_adjust.f90 b/src/MNH/lima_adjust.f90 index 0a7f2a4de44d9a7263a0625e493fb31ad3d9ff81..d6338d3bfbcc58a7b7a2a35fb61edc9281ea38e9 100644 --- a/src/MNH/lima_adjust.f90 +++ b/src/MNH/lima_adjust.f90 @@ -149,7 +149,7 @@ use modd_budget, only: lbu_enable, nbumod, tbudgets USE MODD_CONF USE MODD_CST -use modd_field, only: TFIELDDATA, TYPEREAL +use modd_field, only: TFIELDMETADATA, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_LUNIT_n, ONLY: TLUOUT USE MODD_NSV @@ -284,7 +284,7 @@ INTEGER :: JL ! and PACK intrinsics INTEGER :: JMOD, JMOD_IFN, JMOD_IMM ! INTEGER , DIMENSION(3) :: BV -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! !------------------------------------------------------------------------------- ! @@ -1187,7 +1187,7 @@ IF ( SIZE(PSRCS,3) /= 0 ) THEN END IF ! IF ( tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'NEB', & CSTDNAME = '', & CLONGNAME = 'NEB', & @@ -1243,7 +1243,7 @@ IF ( tpfile%lopened ) THEN ZW1(:,:,:)= 2.0*PPABST(:,:,:)-PPABSM(:,:,:) ZW(:,:,:) = PRVT(:,:,:)*( ZW1(:,:,:)-ZW(:,:,:) ) / ( (XMV/XMD) * ZW(:,:,:) ) - 1.0 - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SSI', & CSTDNAME = '', & CLONGNAME = 'SSI', & diff --git a/src/MNH/lima_adjust_split.f90 b/src/MNH/lima_adjust_split.f90 index 67eefa30b93fcbe1f43482ec9a0d08c7f7b7a65d..b1ea3ad392eac4f15ba31aec37d6c12dd5752b9d 100644 --- a/src/MNH/lima_adjust_split.f90 +++ b/src/MNH/lima_adjust_split.f90 @@ -153,7 +153,7 @@ use modd_budget, only: lbu_enable, nbumod, tbudgets USE MODD_CONF USE MODD_CST -use modd_field, only: TFIELDDATA, TYPEREAL +use modd_field, only: TFIELDMETADATA, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_LUNIT_n, ONLY: TLUOUT USE MODD_NSV @@ -309,7 +309,7 @@ INTEGER :: JL ! and PACK intrinsics INTEGER :: JMOD, JMOD_IFN, JMOD_IMM ! INTEGER , DIMENSION(3) :: BV -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! !------------------------------------------------------------------------------- ! @@ -726,7 +726,7 @@ IF ( OSUBG_COND ) THEN END IF ! fin test OSUBG_COND IF ( tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'NEB', & CSTDNAME = '', & CLONGNAME = 'NEB', & @@ -782,7 +782,7 @@ IF ( tpfile%lopened ) THEN ZW1(:,:,:)= 2.0*PPABST(:,:,:)-PPABSM(:,:,:) ZW(:,:,:) = PRVT(:,:,:)*( ZW1(:,:,:)-ZW(:,:,:) ) / ( (XMV/XMD) * ZW(:,:,:) ) - 1.0 - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SSI', & CSTDNAME = '', & CLONGNAME = 'SSI', & diff --git a/src/MNH/lima_ccn_activation.f90 b/src/MNH/lima_ccn_activation.f90 index 2c2902a3751b6225e227c7952a6f39d17d56a0a9..2cbaf374d240c74927b4769706d542d98778f755 100644 --- a/src/MNH/lima_ccn_activation.f90 +++ b/src/MNH/lima_ccn_activation.f90 @@ -98,7 +98,7 @@ END MODULE MODI_LIMA_CCN_ACTIVATION ! ------------ ! USE MODD_CST, ONLY: XALPW, XBETAW, XCL, XCPD, XCPV, XGAMW, XLVTT, XMD, XMNH_EPSILON, XMV, XRV, XTT -use modd_field, only: TFIELDDATA, TYPEREAL +use modd_field, only: TFIELDMETADATA, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_LUNIT_n, ONLY: TLUOUT USE MODD_PARAMETERS, ONLY: JPHEXT, JPVEXT @@ -181,7 +181,7 @@ INTEGER :: JMOD INTEGER :: IIB, IIE, IJB, IJE, IKB, IKE ! Physical domain ! INTEGER :: ILUOUT ! Logical unit of output listing -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! ILUOUT = TLUOUT%NLU @@ -487,8 +487,7 @@ IF ( tpfile%lopened ) THEN ZW (:,:,:) = 0. ZW2(:,:,:) = 0. END IF - - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SMAX', & CSTDNAME = '', & CLONGNAME = 'SMAX', & @@ -501,7 +500,7 @@ IF ( tpfile%lopened ) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZW) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'NACT', & CSTDNAME = '', & CLONGNAME = 'NACT', & diff --git a/src/MNH/lima_notadjust.f90 b/src/MNH/lima_notadjust.f90 index e1eb550e465de662409847510cc406fef8df5d5b..9f43f46d077219b0a52f515621467d68a701b446 100644 --- a/src/MNH/lima_notadjust.f90 +++ b/src/MNH/lima_notadjust.f90 @@ -81,7 +81,7 @@ use modd_budget, only: lbu_enable, nbumod, tbudgets USE MODD_CONF USE MODD_CST -USE MODD_FIELD, ONLY: TFIELDDATA,TYPEREAL +USE MODD_FIELD, ONLY: TFIELDMETADATA, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_LUNIT_n, ONLY: TLUOUT USE MODD_NSV @@ -164,7 +164,7 @@ REAL, DIMENSION(SIZE(PRHODREF,1),SIZE(PRHODREF,2),SIZE(PRHODREF,3)) ::& ZSAT,ZCCS INTEGER :: JK ! For loop integer :: idx -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD REAL, DIMENSION(:,:,:,:), ALLOCATABLE :: ZNFS ! CCN C. available source REAL, DIMENSION(:,:,:,:), ALLOCATABLE :: ZNAS ! Cloud C. nuclei C. source REAL, DIMENSION(:,:), ALLOCATABLE :: ZZNFS ! CCN C. available source @@ -566,7 +566,7 @@ END IF ! IF ( tpfile%lopened ) THEN ZW(:,:,:)=SUM(ZNAS,4)-ZW(:,:,:) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'NACT', & CSTDNAME = '', & CLONGNAME = 'NACT', & diff --git a/src/MNH/lima_warm_nucl.f90 b/src/MNH/lima_warm_nucl.f90 index 8f50a87982fac6af7ee0a13de88a3ca529eb73e8..ce103114dc2e358a54dd5e2722d4d50768eabdcd 100644 --- a/src/MNH/lima_warm_nucl.f90 +++ b/src/MNH/lima_warm_nucl.f90 @@ -110,7 +110,7 @@ END MODULE MODI_LIMA_WARM_NUCL ! ------------ ! USE MODD_CST -use modd_field, only: TFIELDDATA, TYPEREAL +use modd_field, only: TFIELDMETADATA, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_LUNIT_n, ONLY: TLUOUT USE MODD_PARAMETERS, ONLY : JPHEXT, JPVEXT @@ -202,7 +202,7 @@ INTEGER :: JMOD INTEGER :: IIB, IIE, IJB, IJE, IKB, IKE ! Physical domain ! INTEGER :: ILUOUT ! Logical unit of output listing -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! ILUOUT = TLUOUT%NLU @@ -513,7 +513,7 @@ IF ( tpfile%lopened ) THEN ZW2(:,:,:) = 0. END IF - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SMAX', & CSTDNAME = '', & CLONGNAME = 'SMAX', & @@ -526,7 +526,7 @@ IF ( tpfile%lopened ) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZW) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'NACT', & CSTDNAME = '', & CLONGNAME = 'NACT', & diff --git a/src/MNH/menu_diachro.f90 b/src/MNH/menu_diachro.f90 index 88149a5697accc9c02078ccaf37e60c2a0ebb367..f6d0ff1c90d5ec2142b8d5115a15e41faef833a6 100644 --- a/src/MNH/menu_diachro.f90 +++ b/src/MNH/menu_diachro.f90 @@ -65,7 +65,7 @@ contains ! ------------ ! USE MODD_CONF -use modd_field, only: tfielddata, TYPEINT +use modd_field, only: tfieldmetadata, TYPEINT USE MODD_IO, only: TFILEDATA use modd_parameters, only: NMNHNAMELGTMAX ! @@ -92,7 +92,7 @@ INTEGER :: IRESPDIA INTEGER,SAVE :: IGROUP=0 INTEGER,DIMENSION(:),ALLOCATABLE :: ITABCHAR LOGICAL :: GPACK -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD type(tfiledata) :: tzfile !------------------------------------------------------------------------------ ! @@ -115,7 +115,7 @@ IF(HGROUP == 'END')THEN ILENG=NMNHNAMELGTMAX*IGROUP - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MENU_BUDGET.DIM', & CSTDNAME = '', & CLONGNAME = 'MENU_BUDGET.DIM', & @@ -135,7 +135,7 @@ IF(HGROUP == 'END')THEN ENDDO ENDDO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MENU_BUDGET', & CSTDNAME = '', & CLONGNAME = 'MENU_BUDGET', & @@ -156,7 +156,7 @@ ELSE IF(HGROUP == 'READ')THEN tzfile = tpdiafile tzfile%cformat = 'LFI' - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MENU_BUDGET.DIM', & CSTDNAME = '', & CLONGNAME = 'MENU_BUDGET.DIM', & @@ -175,7 +175,7 @@ ELSE IF(HGROUP == 'READ')THEN ENDIF ALLOCATE(ITABCHAR(ILENG)) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MENU_BUDGET', & CSTDNAME = '', & CLONGNAME = 'MENU_BUDGET', & diff --git a/src/MNH/mnh2lpdm_ech.f90 b/src/MNH/mnh2lpdm_ech.f90 index 62d3d9939b331215535cde1b8af4bd02ecea254b..37bd578e933f53f0126b83fa6d3ca9c1cdadbec6 100644 --- a/src/MNH/mnh2lpdm_ech.f90 +++ b/src/MNH/mnh2lpdm_ech.f90 @@ -36,7 +36,7 @@ USE MODD_TIME ! USE MODD_MNH2LPDM ! -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODE_IO_FILE, only: IO_File_close, IO_File_open USE MODE_IO_FIELD_READ, only: IO_Field_read USE MODE_IO_MANAGE_STRUCT, only: IO_File_add2list @@ -61,7 +61,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(tfieldmetadata) :: tzfield TYPE(TFILEDATA),POINTER :: TZFILE ! ! @@ -110,7 +110,7 @@ CALL IO_Field_read(TPFILE,'WT', XWT) CALL IO_Field_read(TPFILE,'THT', XTHT) CALL IO_Field_read(TPFILE,'TKET', XTKET) -tzfield = tfielddata( & +tzfield = tfieldmetadata( & cmnhname = 'LM', & clongname = '', & cunits = 'm', & @@ -121,7 +121,7 @@ tzfield = tfielddata( & ndims = 3 ) CALL IO_Field_read(TPFILE, tzfield, XLM) -tzfield = tfielddata( & +tzfield = tfieldmetadata(& cmnhname = 'THW_FLX', & clongname = '', & cunits = 'K s-1', & !correct? @@ -132,7 +132,7 @@ tzfield = tfielddata( & ndims = 3 ) CALL IO_Field_read(TPFILE, tzfield, XWPTHP) -tzfield = tfielddata( & +tzfield = tfieldmetadata( & cmnhname = 'DISS', & clongname = '', & cunits = '', & !TODO: set units @@ -143,7 +143,7 @@ tzfield = tfielddata( & ndims = 3 ) CALL IO_Field_read(TPFILE, tzfield, XDISSIP) -tzfield = tfielddata( & +tzfield = tfieldmetadata( & cmnhname = 'FMU', & clongname = '', & cunits = 'kg m-1 s-2', & @@ -154,7 +154,7 @@ tzfield = tfielddata( & ndims = 2 ) CALL IO_Field_read(TPFILE, tzfield, XSFU) -tzfield = tfielddata( & +tzfield = tfieldmetadata( & cmnhname = 'FMV', & clongname = '', & cunits = 'kg m-1 s-2', & diff --git a/src/MNH/mnh2lpdm_ini.f90 b/src/MNH/mnh2lpdm_ini.f90 index 52a31e084c492da5b0f3914cb47f67d25a16a896..4993f4c293ad828b9f59891251c85a2ca071abc3 100644 --- a/src/MNH/mnh2lpdm_ini.f90 +++ b/src/MNH/mnh2lpdm_ini.f90 @@ -34,7 +34,7 @@ ! USE MODD_CST USE MODD_DIM_n -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_GRID USE MODD_GRID_n USE MODD_IO, ONLY: TFILEDATA @@ -83,7 +83,7 @@ INTEGER, DIMENSION(:), ALLOCATABLE :: TAB1D INTEGER, DIMENSION(:,:), ALLOCATABLE :: TAB2D TYPE(DATE_TIME) :: TZDTCUR1,TZDTCUR2,TZDTEXP1 INTEGER :: IFDAT,IFGRI,IFLOG -type(tfielddata) :: tzfield +type(tfieldmetadata) :: tzfield ! ! ! @@ -207,15 +207,15 @@ CALL IO_Field_read(TPFILE1,'ZS',XZS) ! !* 2.8 Rugosite Z0. ! -tzfield = tfielddata( & - cmnhname = 'Z0', & - clongname = '', & - cunits = 'm', & - cdir = 'XY', & - ccomment = 'X_Y_Z0', & - ngrid = 4, & - ntype = TYPEREAL, & - ndims = 2 ) +tzfield = tfieldmetadata( & + cmnhname = 'Z0', & + clongname = '', & + cunits = 'm', & + cdir = 'XY', & + ccomment = 'X_Y_Z0', & + ngrid = 4, & + ntype = TYPEREAL, & + ndims = 2 ) CALL IO_Field_read(TPFILE1,tzfield,XZ0) ! XXPTSOMNH=XXHAT(1)+(XXHAT(2)-XXHAT(1))/2 diff --git a/src/MNH/paspol.f90 b/src/MNH/paspol.f90 index 19ef9812903ca78da7b95c86498c28ea6d4e5408..7287cb0b4124a86bea399abaf67b9db2bc81f8fb 100644 --- a/src/MNH/paspol.f90 +++ b/src/MNH/paspol.f90 @@ -69,7 +69,7 @@ END MODULE MODI_PASPOL USE MODD_PARAMETERS USE MODD_NSV USE MODD_CST -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODE_GRIDPROJ USE MODD_PASPOL @@ -143,8 +143,8 @@ REAL :: ZP, ZTH, ZT, ZRHO, ZMASAIR REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZRHOM ! REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZSVT ! Work arrays ! -TYPE(DATE_TIME) :: TZDATE1,TZDATE2,TZDATE3,TZDATE4,TZDATE -TYPE(TFIELDDATA) :: TZFIELD +TYPE(DATE_TIME) :: TZDATE1,TZDATE2,TZDATE3,TZDATE4,TZDATE +TYPE(TFIELDMetaDATA) :: TZFIELD ! ! !-------------------------------------------------------------------------------------- @@ -579,15 +579,15 @@ END DO !* 3.4 Ecriture conditionnelle. ! IF ( tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMetaDATA( & CMNHNAME = 'generic for paspol', & !Temporary name to ease identification - CSTDNAME = '', & - CUNITS = 'm-3', & - CDIR = 'XY', & - NGRID = 1, & - NTYPE = TYPEREAL, & - NDIMS = 3, & - LTIMEDEP = .TRUE. ) + CSTDNAME = '', & + CUNITS = 'm-3', & + CDIR = 'XY', & + NGRID = 1, & + NTYPE = TYPEREAL, & + NDIMS = 3, & + LTIMEDEP = .TRUE. ) ! DO JSV=1,NSV_PP WRITE(TZFIELD%CMNHNAME,'(A3,I3.3)')'ATC',JSV+NSV_PPBEG-1 diff --git a/src/MNH/prandtl.f90 b/src/MNH/prandtl.f90 index 370e025c4c7c8e7d950a6a3a425cc419121f125a..01e4320f23a602b7839a48914f855b9db2a5a934 100644 --- a/src/MNH/prandtl.f90 +++ b/src/MNH/prandtl.f90 @@ -197,7 +197,7 @@ USE MODD_CST USE MODD_CONF USE MODD_CTURB USE MODD_DYN_n, ONLY: LOCEAN -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS ! @@ -270,7 +270,7 @@ INTEGER:: JSV ! loop index for the scalar variables INTEGER :: JLOOP REAL :: ZMINVAL -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! --------------------------------------------------------------------------- ! !* 1. DEFAULT VALUES, 1D REDELSPERGER NUMBERS @@ -538,7 +538,7 @@ END IF ! end of HTURBDIM if-block IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN ! ! stores the RED_TH1 - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RED_TH1', & CSTDNAME = '', & CLONGNAME = 'RED_TH1', & @@ -552,7 +552,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN CALL IO_Field_write(TPFILE,TZFIELD,PREDTH1) ! ! stores the RED_R1 - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RED_R1', & CSTDNAME = '', & CLONGNAME = 'RED_R1', & @@ -566,7 +566,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN CALL IO_Field_write(TPFILE,TZFIELD,PREDR1) ! ! stores the RED2_TH3 - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RED2_TH3', & CSTDNAME = '', & CLONGNAME = 'RED2_TH3', & @@ -580,7 +580,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN CALL IO_Field_write(TPFILE,TZFIELD,PRED2TH3) ! ! stores the RED2_R3 - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RED2_R3', & CSTDNAME = '', & CLONGNAME = 'RED2_R3', & @@ -594,7 +594,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN CALL IO_Field_write(TPFILE,TZFIELD,PRED2R3) ! ! stores the RED2_THR3 - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RED2_THR3', & CSTDNAME = '', & CLONGNAME = 'RED2_THR3', & diff --git a/src/MNH/radiations.f90 b/src/MNH/radiations.f90 index b6151ba3ff4959189f7df85b71ca4a53a6c16597..809d0d6f0787503df55dbc7874ecc5ff27702a2d 100644 --- a/src/MNH/radiations.f90 +++ b/src/MNH/radiations.f90 @@ -133,7 +133,7 @@ USE MODD_CH_AEROSOL, ONLY: LORILAM USE MODD_CONF, ONLY: LCARTESIAN USE MODD_CST USE MODD_DUST, ONLY: LDUST -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_GRID , ONLY: XLAT0, XLON0 USE MODD_GRID_n , ONLY: XLAT, XLON USE MODD_IO, ONLY: TFILEDATA @@ -535,7 +535,7 @@ CHARACTER (LEN=2) :: YDIR ! Type of the data field INTEGER :: ISWB ! number of SW spectral bands (between radiations and surface schemes) INTEGER :: JSWB ! loop on SW spectral bands INTEGER :: JAE ! loop on aerosol class -TYPE(TFIELDDATA) :: TZFIELD2D, TZFIELD3D +TYPE(TFIELDMeTaDATA) :: TZFIELD2D, TZFIELD3D ! REAL, DIMENSION(SIZE(PTHT,1),SIZE(PTHT,2),SIZE(PTHT,3)) :: ZDZPABST REAL :: ZMINVAL @@ -2684,7 +2684,7 @@ IF( tpfile%lopened .AND. (KRAD_DIAG >= 1) ) THEN ZSTORE_3D2(:,:,:) = 0.0 ZSTORE_2D(:,:) = 0.0 ! - TZFIELD2D = TFIELDDATA( & + TZFIELD2D = TFIELDMETADATA( & CMNHNAME = 'generic 2D for radiations', & !Temporary name to ease identification CSTDNAME = '', & CDIR = 'XY', & @@ -2693,7 +2693,7 @@ IF( tpfile%lopened .AND. (KRAD_DIAG >= 1) ) THEN NDIMS = 2, & LTIMEDEP = .TRUE. ) - TZFIELD3D = TFIELDDATA( & + TZFIELD3D = TFIELDMETADATA( & CMNHNAME = 'generic 3D for radiations', & !Temporary name to ease identification CSTDNAME = '', & CDIR = 'XY', & diff --git a/src/MNH/rain_c2r2_khko.f90 b/src/MNH/rain_c2r2_khko.f90 index 2aa49c4a406aac48604d616b3886820eda4d77d1..cc19dbbf0cc7dc6aa5a287f8dec73f6ba3b46952 100644 --- a/src/MNH/rain_c2r2_khko.f90 +++ b/src/MNH/rain_c2r2_khko.f90 @@ -225,7 +225,7 @@ USE MODD_CH_AEROSOL USE MODD_CONF USE MODD_CST USE MODD_DUST -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_NSV, ONLY : NSV_C2R2BEG USE MODD_PARAM_C2R2 @@ -415,7 +415,7 @@ REAL :: ZFACT, JSV, ZMU, ZALPHA REAL, DIMENSION(:), ALLOCATABLE :: ZRTMIN REAL, DIMENSION(:), ALLOCATABLE :: ZCTMIN REAL :: ZTMP -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! ! ! @@ -595,7 +595,7 @@ end if !! !! ! IF ( tpfile%lopened ) THEN -! TZFIELD = TFIELDDATA( & +! TZFIELD = TFIELDMETADATA( & ! CMNHNAME = 'ZCHEN', & ! CSTDNAME = '', & ! CLONGNAME = 'ZCHEN', & @@ -879,7 +879,7 @@ INUCT = COUNTJV( GNUCT(:,:,:),I1(:),I2(:),I3(:)) ! END IF ! IF ( tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SMAX', & CSTDNAME = '', & CLONGNAME = 'SMAX', & @@ -1898,7 +1898,7 @@ DO JN = 1 , KSPLITR END IF ! IF ( OSEDC .AND. tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SEDFLUXC', & CSTDNAME = '', & CLONGNAME = 'SEDFLUXC', & @@ -1911,7 +1911,7 @@ DO JN = 1 , KSPLITR LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWSEDC) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SEDFLUXR', & CSTDNAME = '', & CLONGNAME = 'SEDFLUXR', & diff --git a/src/MNH/read_dummy_gr_fieldn.f90 b/src/MNH/read_dummy_gr_fieldn.f90 index 7aa4136af72e3a82b01c0439bb7ac9ad6a0e8035..edb10fbbff5cce332b47fe0b5307f160680a56c4 100644 --- a/src/MNH/read_dummy_gr_fieldn.f90 +++ b/src/MNH/read_dummy_gr_fieldn.f90 @@ -74,7 +74,7 @@ END MODULE MODI_READ_DUMMY_GR_FIELD_n !* 0. DECLARATIONS ! USE MODD_DUMMY_GR_FIELD_n -use modd_field, only: tfielddata, TYPEINT, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEINT, TYPEREAL USE MODD_GRID_n USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS, ONLY: JPHEXT, NMNHNAMELGTMAX @@ -106,7 +106,7 @@ INTEGER :: IIINF ! lower I index INTEGER :: IISUP ! upper I index INTEGER :: IJINF ! lower J index INTEGER :: IJSUP ! upper J index -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! !------------------------------------------------------------------------------- ! @@ -147,7 +147,7 @@ END IF ! ! IF (TPINIFILE%NMNHVERSION(1)>=4) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'DUMMY_GR_NBR', & CSTDNAME = '', & CLONGNAME = 'DUMMY_GR_NBR', & @@ -177,7 +177,7 @@ ALLOCATE(XDUMMY_GR_FIELDS(SIZE(XXHAT),SIZE(XYHAT),NDUMMY_GR_NBR)) ! DO JDUMMY=1,NDUMMY_GR_NBR WRITE(YRECFM,'(A8,I3.3)') 'DUMMY_GR',JDUMMY - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(YRECFM), & CSTDNAME = '', & CLONGNAME = TRIM(YRECFM), & diff --git a/src/MNH/read_field.f90 b/src/MNH/read_field.f90 index 1f8d4b3cab8e98abd0698ec2c34249c956ec75ba..90b6c3552c829da0b0a3390bd3f0604241f2998e 100644 --- a/src/MNH/read_field.f90 +++ b/src/MNH/read_field.f90 @@ -274,7 +274,7 @@ USE MODD_CTURB USE MODD_DUST USE MODD_DYN_n, ONLY: LOCEAN USE MODD_ELEC_DESCR, ONLY: CELECNAMES -use modd_field, only: tfielddata, tfieldlist, TYPEDATE, TYPEREAL,TYPELOG,TYPEINT +use modd_field, only: tfieldmetadata, tfieldlist, TYPEDATE, TYPEREAL,TYPELOG,TYPEINT USE MODD_FIELD_n, only: XZWS_DEFAULT #ifdef MNH_FOREFIRE USE MODD_FOREFIRE @@ -424,7 +424,7 @@ CHARACTER(LEN=2) :: INDICE CHARACTER(LEN=3) :: YFRC ! To mark the different forcing dates CHARACTER(LEN=15) :: YVAL REAL, DIMENSION(KIU,KJU,KKU) :: ZWORK ! to compute supersaturation -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! !------------------------------------------------------------------------------- ! @@ -443,27 +443,27 @@ ZWORK = 0.0 ! IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('UT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'UM' CALL IO_Field_read(TPINIFILE,TZFIELD,PUT) ! CALL FIND_FIELD_ID_FROM_MNHNAME('VT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'VM' CALL IO_Field_read(TPINIFILE,TZFIELD,PVT) ! CALL FIND_FIELD_ID_FROM_MNHNAME('WT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'WM' CALL IO_Field_read(TPINIFILE,TZFIELD,PWT) ! CALL FIND_FIELD_ID_FROM_MNHNAME('THT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'THM' CALL IO_Field_read(TPINIFILE,TZFIELD,PTHT) ! CALL FIND_FIELD_ID_FROM_MNHNAME('PABST',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'PABSM' CALL IO_Field_read(TPINIFILE,TZFIELD,PPABST) ELSE @@ -478,7 +478,7 @@ SELECT CASE(HGETTKET) CASE('READ') IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('TKET',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'TKEM' CALL IO_Field_read(TPINIFILE,TZFIELD,PTKET) ELSE @@ -512,7 +512,7 @@ SELECT CASE(HGETRVT) ! vapor CASE('READ') IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RVT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'RVM' CALL IO_Field_read(TPINIFILE,TZFIELD,PRT(:,:,:,IDX_RVT)) ELSE @@ -526,7 +526,7 @@ SELECT CASE(HGETRCT) ! cloud CASE('READ') IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RCT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'RCM' CALL IO_Field_read(TPINIFILE,TZFIELD,PRT(:,:,:,IDX_RCT)) ELSE @@ -540,7 +540,7 @@ SELECT CASE(HGETRRT) ! rain CASE('READ') IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RRT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'RRM' CALL IO_Field_read(TPINIFILE,TZFIELD,PRT(:,:,:,IDX_RRT)) ELSE @@ -554,7 +554,7 @@ SELECT CASE(HGETRIT) ! cloud ice CASE('READ') IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RIT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'RIM' CALL IO_Field_read(TPINIFILE,TZFIELD,PRT(:,:,:,IDX_RIT)) ELSE @@ -568,7 +568,7 @@ SELECT CASE(HGETRST) ! snow CASE('READ') IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RST',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'RSM' CALL IO_Field_read(TPINIFILE,TZFIELD,PRT(:,:,:,IDX_RST)) ELSE @@ -582,7 +582,7 @@ SELECT CASE(HGETRGT) ! graupel CASE('READ') IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RGT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'RGM' CALL IO_Field_read(TPINIFILE,TZFIELD,PRT(:,:,:,IDX_RGT)) ELSE @@ -596,7 +596,7 @@ SELECT CASE(HGETRHT) ! hail CASE('READ') IF (TPINIFILE%NMNHVERSION(1)<5) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('RHT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'RHM' CALL IO_Field_read(TPINIFILE,TZFIELD,PRT(:,:,:,IDX_RHT)) ELSE diff --git a/src/MNH/read_hgrid.f90 b/src/MNH/read_hgrid.f90 index c695be83b8a5a090518995350f0966ca72c00e2f..30a92650b1f57ff963a98821611c274cf4e69445 100644 --- a/src/MNH/read_hgrid.f90 +++ b/src/MNH/read_hgrid.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1996-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1996-2021 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. @@ -81,7 +81,7 @@ END MODULE MODI_READ_HGRID !* 0. DECLARATIONS ! USE MODD_CONF, ONLY: CPROGRAM -use modd_field, only: tfielddata, tfieldlist +use modd_field, only: tfieldmetadata, tfieldlist USE MODD_GRID USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS @@ -117,7 +117,7 @@ INTEGER :: IID, IMI LOGICAL :: G1D,G2D,GPACK INTEGER :: IINFO_ll REAL :: ZLATOR, ZLONOR, ZXHATM, ZYHATM -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! !* 1. TEST ON MODEL INDEX @@ -201,12 +201,12 @@ CALL IO_Pack_set(G1D,G2D,GPACK) !------------------------------------------------------------------------------- IF (TPFMFILE%NMNHVERSION(1)<4 .OR. (TPFMFILE%NMNHVERSION(1)==4 .AND. TPFMFILE%NMNHVERSION(2)<=5)) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LONOR' CALL IO_Field_read(TPFMFILE,TZFIELD,XPGDLONOR) ! CALL FIND_FIELD_ID_FROM_MNHNAME('LATORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LATOR' CALL IO_Field_read(TPFMFILE,TZFIELD,XPGDLATOR) ! diff --git a/src/MNH/read_hgridn.f90 b/src/MNH/read_hgridn.f90 index 41385f588e3808e85c1438f8f4eb9ee7fc763edc..d75ca9bbaf955f56de86e1245297c0b7cddb35ed 100644 --- a/src/MNH/read_hgridn.f90 +++ b/src/MNH/read_hgridn.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1996-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1996-2021 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. @@ -80,7 +80,7 @@ END MODULE MODI_READ_HGRID_n ! USE MODD_CONF USE MODD_DIM_n -use modd_field, only: tfielddata, tfieldlist +use modd_field, only: tfieldmetadata, tfieldlist USE MODD_GRID USE MODD_GRID_n USE MODD_IO, ONLY: TFILEDATA @@ -106,21 +106,21 @@ CHARACTER(LEN=2) , INTENT(OUT) :: HSTORAGE_TYPE ! !* 0.2 declarations of local variables ! -INTEGER :: ILUOUT -INTEGER :: IRESP -REAL :: ZLAT0,ZLON0,ZRPK,ZBETA -REAL :: ZEPS = 1.E-10 -INTEGER :: IID, IMI +INTEGER :: ILUOUT +INTEGER :: IRESP +REAL :: ZLAT0,ZLON0,ZRPK,ZBETA +REAL :: ZEPS = 1.E-10 +INTEGER :: IID, IMI ! !------------------------------------------------------------------------------- REAL :: ZLATOR, ZLONOR, ZXHATM, ZYHATM !------------------------------------------------------------------------------- !JUAN REALZ -INTEGER :: IIU,IJU +INTEGER :: IIU,IJU !JUAN REALZ -INTEGER :: IXOR, IYOR, IXEND, IYEND -INTEGER :: IJPHEXT -TYPE(TFIELDDATA) :: TZFIELD +INTEGER :: IXOR, IYOR, IXEND, IYEND +INTEGER :: IJPHEXT +TYPE(TFIELDMETADATA) :: TZFIELD ! ILUOUT = TLUOUT%NLU ! @@ -279,12 +279,12 @@ END IF !------------------------------------------------------------------------------- IF (TPFMFILE%NMNHVERSION(1)<4 .OR. (TPFMFILE%NMNHVERSION(1)==4 .AND. TPFMFILE%NMNHVERSION(2)<=5)) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LONOR' CALL IO_Field_read(TPFMFILE,TZFIELD,XLONORI) ! CALL FIND_FIELD_ID_FROM_MNHNAME('LATORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LATOR' CALL IO_Field_read(TPFMFILE,TZFIELD,XLATORI) ! diff --git a/src/MNH/read_precip_field.f90 b/src/MNH/read_precip_field.f90 index b8181b6d34e99287c1569e7c0265bb73d4d0904c..798985578d5ec81329ccbc878e2a1b8073cfb1ae 100644 --- a/src/MNH/read_precip_field.f90 +++ b/src/MNH/read_precip_field.f90 @@ -98,7 +98,7 @@ END MODULE MODI_READ_PRECIP_FIELD ! !* 0. DECLARATIONS -use modd_field, only: tfielddata, tfieldlist +use modd_field, only: tfieldmetadata, tfieldlist USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAM_ICE, ONLY: LDEPOSC USE MODD_PARAM_C2R2, ONLY: LDEPOC @@ -138,10 +138,10 @@ REAL, DIMENSION(:,:), INTENT(INOUT) :: PACPRH ! Hail accumulated precip REAL, DIMENSION(SIZE(PINPRR,1),SIZE(PINPRR,2)) :: Z2D ! 2D array to read data REAL, DIMENSION(SIZE(PINPRR3D,1),SIZE(PINPRR3D,2),SIZE(PINPRR3D,3)) :: Z3D ! 3D array to read data ! in initial file -INTEGER :: IID -INTEGER :: IRESP -CHARACTER(LEN=4) :: YGETRCT,YGETRRT,YGETRST,YGETRGT,YGETRHT -TYPE(TFIELDDATA) :: TZFIELD +INTEGER :: IID +INTEGER :: IRESP +CHARACTER(LEN=4) :: YGETRCT,YGETRRT,YGETRST,YGETRGT,YGETRHT +TYPE(TFIELDMETADATA) :: TZFIELD ! !------------------------------------------------------------------------------- ! @@ -170,13 +170,13 @@ IF (SIZE(PINPRC) /= 0 ) THEN SELECT CASE(YGETRCT) CASE ('READ') CALL FIND_FIELD_ID_FROM_MNHNAME('INPRC',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_read(TPINIFILE,TZFIELD,Z2D,IRESP) IF (IRESP == 0) PINPRC(:,:)=Z2D(:,:)/(1000.*3600.) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRC',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_read(TPINIFILE,TZFIELD,Z2D,IRESP) IF (IRESP == 0) PACPRC(:,:)=Z2D(:,:)/(1000.) @@ -190,13 +190,13 @@ IF (SIZE(PINPRC) /= 0 .AND. (LDEPOSC .OR. LDEPOC .OR. MDEPOC) ) THEN SELECT CASE(YGETRCT) CASE ('READ') CALL FIND_FIELD_ID_FROM_MNHNAME('INDEP',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_read(TPINIFILE,TZFIELD,Z2D,IRESP) IF (IRESP == 0) PINDEP(:,:)=Z2D(:,:)/(1000.*3600.) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACDEP',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_read(TPINIFILE,TZFIELD,Z2D,IRESP) IF (IRESP == 0) PACDEP(:,:)=Z2D(:,:)/(1000.) @@ -210,7 +210,7 @@ IF (SIZE(PINPRR) /= 0 ) THEN SELECT CASE(YGETRRT) CASE ('READ') CALL FIND_FIELD_ID_FROM_MNHNAME('INPRR',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_read(TPINIFILE,TZFIELD,Z2D,IRESP) IF (IRESP == 0) PINPRR(:,:)=Z2D(:,:)/(1000.*3600.) @@ -222,7 +222,7 @@ IF (SIZE(PINPRR) /= 0 ) THEN IF (IRESP == 0) PEVAP3D(:,:,:)=Z3D(:,:,:) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRR',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_read(TPINIFILE,TZFIELD,Z2D,IRESP) IF (IRESP == 0) PACPRR(:,:)=Z2D(:,:)/(1000.) @@ -238,13 +238,13 @@ IF (SIZE(PINPRS) /= 0 ) THEN SELECT CASE(YGETRST) CASE ('READ') CALL FIND_FIELD_ID_FROM_MNHNAME('INPRS',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_read(TPINIFILE,TZFIELD,Z2D,IRESP) IF (IRESP == 0) PINPRS(:,:)=Z2D(:,:)/(1000.*3600.) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRS',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_read(TPINIFILE,TZFIELD,Z2D,IRESP) IF (IRESP == 0) PACPRS(:,:)=Z2D(:,:)/(1000.) @@ -258,13 +258,13 @@ IF (SIZE(PINPRG) /= 0 ) THEN SELECT CASE(YGETRGT) CASE ('READ') CALL FIND_FIELD_ID_FROM_MNHNAME('INPRG',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_read(TPINIFILE,TZFIELD,Z2D,IRESP) IF (IRESP == 0) PINPRG(:,:)=Z2D(:,:)/(1000.*3600.) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRG',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_read(TPINIFILE,TZFIELD,Z2D,IRESP) IF (IRESP == 0) PACPRG(:,:)=Z2D(:,:)/(1000.) @@ -278,13 +278,13 @@ IF (SIZE(PINPRH) /= 0 ) THEN SELECT CASE(YGETRHT) CASE ('READ') CALL FIND_FIELD_ID_FROM_MNHNAME('INPRH',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_read(TPINIFILE,TZFIELD,Z2D,IRESP) IF (IRESP == 0) PINPRH(:,:)=Z2D(:,:)/(1000.*3600.) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRH',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_read(TPINIFILE,TZFIELD,Z2D,IRESP) IF (IRESP == 0) PACPRH(:,:)=Z2D(:,:)/(1000.) diff --git a/src/MNH/read_surf_mnh.f90 b/src/MNH/read_surf_mnh.f90 index 881e58362e63b7fc29199c7b32e458e3807ea78b..17648717daec90f15ea7288413b1bdf64c7b1129 100644 --- a/src/MNH/read_surf_mnh.f90 +++ b/src/MNH/read_surf_mnh.f90 @@ -18,7 +18,7 @@ CONTAINS SUBROUTINE PREPARE_METADATA_READ_SURF(HREC,HDIR,KGRID,KTYPE,KDIMS,HSUBR,TPFIELD) ! -use modd_field, only: tfielddata, tfieldlist +use modd_field, only: tfieldmetadata, tfieldlist use mode_field, only: Find_field_id_from_mnhname ! CHARACTER(LEN=LEN_HREC),INTENT(IN) :: HREC ! name of the article to write @@ -27,14 +27,14 @@ INTEGER, INTENT(IN) :: KGRID ! Localization on the model grid INTEGER, INTENT(IN) :: KTYPE ! Datatype INTEGER, INTENT(IN) :: KDIMS ! Number of dimensions CHARACTER(LEN=*), INTENT(IN) :: HSUBR ! name of the subroutine calling -TYPE(TFIELDDATA), INTENT(OUT) :: TPFIELD ! metadata of field +TYPE(TFIELDMETADATA), INTENT(OUT) :: TPFIELD ! metadata of field ! CHARACTER(LEN=32) :: YTXT INTEGER :: IID, IRESP ! CALL FIND_FIELD_ID_FROM_MNHNAME(TRIM(HREC),IID,IRESP,ONOWARNING=.TRUE.) IF (IRESP==0) THEN - TPFIELD = TFIELDLIST(IID) + TPFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) !Modify and check CLONGNAME IF (TRIM(TPFIELD%CLONGNAME)/=TRIM(HREC) & .AND. TRIM(HREC)/='VERSION' .AND. TRIM(HREC)/='BUG') THEN @@ -71,7 +71,7 @@ IF (IRESP==0) THEN END IF ELSE CALL PRINT_MSG(NVERB_DEBUG,'IO',TRIM(HSUBR),TRIM(HREC)//' not found in FIELDLIST. Generating default metadata') - TPFIELD = TFIELDDATA( & + TPFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(HREC), & CSTDNAME = '', & CLONGNAME = TRIM(HREC), & @@ -140,7 +140,7 @@ END MODULE MODE_READ_SURF_MNH_TOOLS ! ------------ ! USE MODD_CONF, ONLY: CPROGRAM -use modd_field, only: tfielddata, tfieldlist, TYPEREAL +use modd_field, only: tfieldmetadata, tfieldlist, TYPEREAL USE MODD_GRID, ONLY: XRPK,XBETA,XLAT0,XLON0 USE MODD_IO_SURF_MNH, ONLY: TOUT, TPINFILE USE MODD_PARAMETERS, ONLY: JPHEXT, XUNDEF @@ -164,15 +164,15 @@ CHARACTER(LEN=*), INTENT(OUT) :: HCOMMENT ! comment ! !* 0.2 Declarations of local variables ! -INTEGER :: IGRID ! IGRID : grid indicator -INTEGER :: ILENCH ! ILENCH : length of comment string -INTEGER :: ILUOUT -INTEGER :: IID,IRESP -INTEGER :: IIMAX,IJMAX +INTEGER :: IGRID ! IGRID : grid indicator +INTEGER :: ILENCH ! ILENCH : length of comment string +INTEGER :: ILUOUT +INTEGER :: IID,IRESP +INTEGER :: IIMAX,IJMAX REAL,DIMENSION(:), ALLOCATABLE :: ZXHAT,ZYHAT -REAL :: ZLATOR,ZLONOR,ZXHATM,ZYHATM,ZLATORI,ZLONORI -REAL :: ZRPK, ZBETA, ZLAT0, ZLON0 -TYPE(TFIELDDATA) :: TZFIELD +REAL :: ZLATOR,ZLONOR,ZXHATM,ZYHATM,ZLATORI,ZLONORI +REAL :: ZRPK, ZBETA, ZLAT0, ZLON0 +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFX0_MNH',TRIM(TPINFILE%CNAME)//': reading '//TRIM(HREC)) @@ -202,12 +202,12 @@ IF (HREC=='LONORI' .OR. HREC=='LATORI') THEN CALL IO_Field_read(TPINFILE,'YHAT',ZYHAT) ! CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LONOR' CALL IO_Field_read(TPINFILE,TZFIELD,ZLONOR) ! CALL FIND_FIELD_ID_FROM_MNHNAME('LATORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LATOR' CALL IO_Field_read(TPINFILE,TZFIELD,ZLATOR) ! @@ -290,7 +290,7 @@ END SUBROUTINE READ_SURFX0_MNH ! ------------ ! USE MODD_CST, ONLY: XPI -use modd_field, only: tfielddata, tfieldlist, TYPEREAL +use modd_field, only: tfieldmetadata, tfieldlist, TYPEREAL USE MODD_IO_SURF_MNH, ONLY: TOUT, TPINFILE, NMASK, & NIU, NJU, NIB, NJB, NIE, NJE, & NIU_ALL, NJU_ALL, NIB_ALL, & @@ -336,11 +336,11 @@ REAL :: ZW ! work value CHARACTER(LEN=LEN_HREC) :: YREC CHARACTER(LEN=2) :: YSTORAGE_TYPE ! -INTEGER :: IID, IRESP -INTEGER :: IIU, IJU, IIB, IJB, IIE, IJE ! dimensions of horizontal fields +INTEGER :: IID, IRESP +INTEGER :: IIU, IJU, IIB, IJB, IIE, IJE ! dimensions of horizontal fields INTEGER, DIMENSION(:), ALLOCATABLE :: IMASK ! mask for packing -REAL :: ZUNDEF ! undefined value in SURFEX -TYPE(TFIELDDATA) :: TZFIELD +REAL :: ZUNDEF ! undefined value in SURFEX +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFX1_MNH',TRIM(TPINFILE%CNAME)//': reading '//TRIM(HREC)) @@ -391,7 +391,7 @@ ELSE IF (HREC=='XX') THEN ALLOCATE(ZWORK (IIU,IJU)) ZWORK(:,:) = 0. CALL FIND_FIELD_ID_FROM_MNHNAME('XHAT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) IF (HDIR/='A'.AND.HDIR/='E') THEN TZFIELD%CDIR = 'XX' ELSE @@ -411,7 +411,7 @@ ELSE IF (HREC=='DX') THEN ALLOCATE(ZWORK (IIU,IJU)) ZWORK(:,:) = 0. CALL FIND_FIELD_ID_FROM_MNHNAME('XHAT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) IF (HDIR/='A'.AND.HDIR/='E') THEN TZFIELD%CDIR = 'XX' ELSE @@ -431,7 +431,7 @@ ELSE IF (HREC=='YY') THEN ALLOCATE(ZWORK (IIU,IJU)) ZWORK(:,:) = 0. CALL FIND_FIELD_ID_FROM_MNHNAME('YHAT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) IF (HDIR/='A'.AND.HDIR/='E') THEN TZFIELD%CDIR = 'YY' ELSE @@ -451,7 +451,7 @@ ELSE IF (HREC=='DY') THEN ALLOCATE(ZWORK (IIU,IJU)) ZWORK(:,:) = 0. CALL FIND_FIELD_ID_FROM_MNHNAME('YHAT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) IF (HDIR/='A'.AND.HDIR/='E') THEN TZFIELD%CDIR = 'YY' ELSE @@ -580,7 +580,7 @@ END SUBROUTINE READ_SURFX1_MNH !* 0. DECLARATIONS ! ------------ ! -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO_SURF_MNH, ONLY: TOUT, TPINFILE, NMASK, NIU, NJU, NIB, NJB, NIE, NJE, & NIU_ALL, NJU_ALL, NIB_ALL, NJB_ALL, NIE_ALL, NJE_ALL, NMASK_ALL USE MODD_PARAMETERS, ONLY: XUNDEF @@ -610,14 +610,14 @@ CHARACTER(LEN=1), INTENT(IN) :: HDIR ! type of field : ! !* 0.2 Declarations of local variables ! -INTEGER :: IGRID ! IGRID : grid indicator -INTEGER :: ILENCH ! ILENCH : length of comment string -INTEGER :: ILUOUT -INTEGER :: JP ! loop index +INTEGER :: IGRID ! IGRID : grid indicator +INTEGER :: ILENCH ! ILENCH : length of comment string +INTEGER :: ILUOUT +INTEGER :: JP ! loop index REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZWORK ! work array read in the file -REAL :: ZUNDEF ! undefined value in SURFEX -TYPE(TFIELDDATA) :: TZFIELD +REAL :: ZUNDEF ! undefined value in SURFEX +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFX2_MNH',TRIM(TPINFILE%CNAME)//': reading '//TRIM(HREC)) @@ -716,7 +716,7 @@ END SUBROUTINE READ_SURFX2_MNH ! USE MODD_CST, ONLY: XPI USE MODD_DATA_COVER_PAR, ONLY: JPCOVER -use modd_field, only: tfielddata, TYPELOG, TYPEREAL +use modd_field, only: tfieldmetadata, TYPELOG, TYPEREAL USE MODD_IO_SURF_MNH, ONLY: TOUT, TPINFILE, NMASK, & NIU, NJU, NIB, NJB, NIE, NJE, & NIU_ALL, NJU_ALL, NIB_ALL, & @@ -765,7 +765,7 @@ REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZWORK3D INTEGER :: IRESP INTEGER :: IVERSION, IBUGFIX LOGICAL :: GCOVER_PACKED ! .T. if COVER are all packed into one field -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFX2COV_MNH',TRIM(TPINFILE%CNAME)//': reading '//TRIM(HREC)) @@ -809,7 +809,7 @@ CALL IO_Field_read(TPINFILE,'BUG', IBUGFIX) IF (IVERSION<7 .OR. (IVERSION==7 .AND. IBUGFIX==0)) THEN GCOVER_PACKED = .FALSE. ELSE - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'COVER_PACKED', & CSTDNAME = '', & CLONGNAME = 'COVER_PACKED', & @@ -825,7 +825,7 @@ END IF ! IF (.NOT. GCOVER_PACKED) THEN ICOVER=0 - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA(& CMNHNAME = 'generic no COVER_PACKED', & !Temporary name to ease identification CSTDNAME = '', & CUNITS = '', & @@ -913,7 +913,7 @@ END SUBROUTINE READ_SURFX2COV_MNH ! ------------ ! USE MODD_CST, ONLY: XPI -use modd_field, only: tfielddata, TYPELOG, TYPEREAL +use modd_field, only: tfieldmetadata, TYPELOG, TYPEREAL USE MODD_IO_SURF_MNH, ONLY: TOUT, TPINFILE, NMASK, & NIU, NJU, NIB, NJB, NIE, NJE, & NIU_ALL, NJU_ALL, NIB_ALL, & @@ -961,7 +961,7 @@ REAL,DIMENSION(:,:), ALLOCATABLE :: ZWORK2D INTEGER :: IVERSION, IBUGFIX LOGICAL :: GCOVER_PACKED ! .T. if COVER are all packed into one field CHARACTER(LEN=1) :: YDIR1 -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFX2COV_1COV_MNH',TRIM(TPINFILE%CNAME)//': reading '//TRIM(HREC)) @@ -1006,7 +1006,7 @@ CALL IO_Field_read(TPINFILE,'BUG', IBUGFIX) IF (IVERSION<7 .OR. (IVERSION==7 .AND. IBUGFIX==0)) THEN GCOVER_PACKED = .FALSE. ELSE - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'COVER_PACKED', & CSTDNAME = '', & CLONGNAME = 'COVER_PACKED', & @@ -1022,7 +1022,7 @@ END IF ! IF (.NOT. GCOVER_PACKED) THEN WRITE(YREC,'(A5,I3.3)') 'COVER',KCOVER - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(YREC), & CSTDNAME = '', & CLONGNAME = TRIM(YREC), & @@ -1098,7 +1098,7 @@ END SUBROUTINE READ_SURFX2COV_1COV_MNH ! ------------ ! USE MODD_CONF, ONLY: CPROGRAM -use modd_field, only: tfielddata, TYPEINT +use modd_field, only: tfieldmetadata, TYPEINT USE MODD_IO_SURF_MNH, ONLY: TOUT, TPINFILE, NMASK, & NIU, NJU, NIB, NJB, NIE, NJE @@ -1118,9 +1118,9 @@ CHARACTER(LEN=*), INTENT(OUT) :: HCOMMENT ! comment ! !* 0.2 Declarations of local variables ! -INTEGER :: IIMAX, IJMAX -INTEGER :: ILUOUT -TYPE(TFIELDDATA) :: TZFIELD +INTEGER :: IIMAX, IJMAX +INTEGER :: ILUOUT +TYPE(TFIELDMETADATA) :: TZFIELD ! !------------------------------------------------------------------------------- ! @@ -1193,7 +1193,7 @@ END SUBROUTINE READ_SURFN0_MNH !* 0. DECLARATIONS ! ------------ ! -use modd_field, only: tfielddata, TYPEINT +use modd_field, only: tfieldmetadata, TYPEINT USE MODD_IO_SURF_MNH, ONLY: TOUT, TPINFILE, NMASK, & NIU, NJU, NIB, NJB, NIE, NJE ! @@ -1224,7 +1224,7 @@ INTEGER :: ILENCH ! ILENCH : length of comment string INTEGER :: ILUOUT ! INTEGER, DIMENSION(:,:), ALLOCATABLE :: IWORK ! work array read in the file -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !--------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFN1_MNH',TRIM(TPINFILE%CNAME)//': reading '//TRIM(HREC)) @@ -1302,7 +1302,7 @@ END SUBROUTINE READ_SURFN1_MNH ! ------------ ! USE MODD_CONF, ONLY: LCARTESIAN, CPROGRAM -use modd_field, only: tfielddata, TYPECHAR +use modd_field, only: tfieldmetadata, TYPECHAR USE MODD_IO_SURF_MNH, ONLY: TOUT, TPINFILE USE MODD_LUNIT, ONLY: TPGDFILE @@ -1323,17 +1323,17 @@ CHARACTER(LEN=*), INTENT(OUT) :: HCOMMENT ! comment ! !* 0.2 Declarations of local variables ! -INTEGER :: IRESP ! return code -INTEGER :: IGRID ! IGRID : grid indicator -INTEGER :: ILENCH ! ILENCH : length of comment string -INTEGER :: ILUOUT +INTEGER :: IRESP ! return code +INTEGER :: IGRID ! IGRID : grid indicator +INTEGER :: ILENCH ! ILENCH : length of comment string +INTEGER :: ILUOUT ! -INTEGER :: ILUDES ! .des file logical unit +INTEGER :: ILUDES ! .des file logical unit ! -LOGICAL :: GFOUND -CHARACTER(LEN=4) :: CTURB,CRAD,CGROUND,CCLOUD,CDCONV,CELEC -CHARACTER(LEN=6) :: CSEA_FLUX -TYPE(TFIELDDATA) :: TZFIELD +LOGICAL :: GFOUND +CHARACTER(LEN=4) :: CTURB,CRAD,CGROUND,CCLOUD,CDCONV,CELEC +CHARACTER(LEN=6) :: CSEA_FLUX +TYPE(TFIELDMETADATA) :: TZFIELD ! NAMELIST/NAM_PARAMn/CTURB,CRAD,CGROUND,CCLOUD,CDCONV,CSEA_FLUX, CELEC !---------------------------------------------------------------------------- @@ -1457,7 +1457,7 @@ END SUBROUTINE READ_SURFC0_MNH !* 0. DECLARATIONS ! ------------ ! -use modd_field, only: tfielddata, TYPEINT, TYPELOG +use modd_field, only: tfieldmetadata, TYPEINT, TYPELOG USE MODD_IO_SURF_MNH, ONLY: TOUT, TPINFILE, NMASK, & NIU, NJU, NIB, NJB, NIE, NJE ! @@ -1483,12 +1483,12 @@ CHARACTER(LEN=1), INTENT(IN) :: HDIR ! type of field : ! !* 0.2 Declarations of local variables ! -INTEGER :: IGRID ! IGRID : grid indicator -INTEGER :: ILENCH ! ILENCH : length of comment string -INTEGER :: ILUOUT +INTEGER :: IGRID ! IGRID : grid indicator +INTEGER :: ILENCH ! ILENCH : length of comment string +INTEGER :: ILUOUT LOGICAL, DIMENSION(:,:), ALLOCATABLE :: GWORK ! work array read in the file INTEGER, DIMENSION(:,:), ALLOCATABLE :: IWORK ! work array read in the file -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFL1_MNH',TRIM(TPINFILE%CNAME)//': reading '//TRIM(HREC)) ! @@ -1573,7 +1573,7 @@ END SUBROUTINE READ_SURFL1_MNH !* 0. DECLARATIONS ! ------------ ! -use modd_field, only: tfielddata, TYPELOG +use modd_field, only: tfieldmetadata, TYPELOG USE MODD_IO_SURF_MNH, ONLY: TOUT, TPINFILE USE MODE_IO_FIELD_READ, only: IO_Field_read @@ -1592,7 +1592,7 @@ CHARACTER(LEN=*), INTENT(OUT) :: HCOMMENT ! comment !* 0.2 Declarations of local variables ! INTEGER :: ILUOUT -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFL0_MNH',TRIM(TPINFILE%CNAME)//': reading '//TRIM(HREC)) ! @@ -1669,7 +1669,7 @@ END SUBROUTINE READ_SURFL0_MNH !* 0. DECLARATIONS ! ------------ ! -use modd_field, only: tfielddata, TYPECHAR +use modd_field, only: tfieldmetadata, TYPECHAR USE MODD_IO_SURF_MNH, ONLY: TOUT, TPINFILE USE MODD_TYPE_DATE @@ -1697,9 +1697,9 @@ INTEGER :: ILUOUT CHARACTER(LEN=LEN_HREC) :: YRECFM ! Name of the article to be written CHARACTER(LEN=40) :: YFILETYPE40! MESONH file type CHARACTER(LEN=2) :: YFILETYPE2 ! MESONH file type -INTEGER, DIMENSION(3) :: ITDATE -TYPE(TFIELDDATA) :: TZFIELD -TYPE(DATE_TIME) :: TZDATETIME +INTEGER, DIMENSION(3) :: ITDATE +TYPE(TFIELDMETADATA) :: TZFIELD +TYPE(DATE_TIME) :: TZDATETIME !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFT0_MNH',TRIM(TPINFILE%CNAME)//': reading '//TRIM(HREC)) @@ -1710,7 +1710,7 @@ HCOMMENT = '' IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<6)) THEN CALL IO_Field_read(TPINFILE,'STORAGE_TYPE',YFILETYPE2) ELSE - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'STORAGETYPE', & CSTDNAME = '', & CLONGNAME = 'STORAGETYPE', & @@ -1793,7 +1793,7 @@ END SUBROUTINE READ_SURFT0_MNH !* 0. DECLARATIONS ! ------------ ! -use modd_field, only: tfielddata, TYPECHAR, TYPEINT, TYPEREAL +use modd_field, only: tfieldmetadata, TYPECHAR, TYPEINT, TYPEREAL USE MODD_IO_SURF_MNH, ONLY: TOUT, TPINFILE USE MODE_IO_FIELD_READ, only: IO_Field_read @@ -1822,8 +1822,8 @@ INTEGER :: ILUOUT CHARACTER(LEN=LEN_HREC) :: YRECFM ! Name of the article to be written CHARACTER(LEN=40) :: YFILETYPE40! MESONH file type CHARACTER(LEN=2) :: YFILETYPE2 ! MESONH file type -INTEGER, DIMENSION(3,KL1) :: ITDATE -TYPE(TFIELDDATA) :: TZFIELD +INTEGER, DIMENSION(3,KL1) :: ITDATE +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFT1_MNH',TRIM(TPINFILE%CNAME)//': reading '//TRIM(HREC)) @@ -1834,7 +1834,7 @@ HCOMMENT = '' IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<6)) THEN CALL IO_Field_read(TPINFILE,'STORAGE_TYPE',YFILETYPE2) ELSE - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'STORAGETYPE', & CSTDNAME = '', & CLONGNAME = 'STORAGETYPE', & @@ -1858,7 +1858,7 @@ END IF ! RETURN !END IF ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(HREC)//'%TDATE', & CSTDNAME = '', & CLONGNAME = TRIM(HREC)//'%TDATE', & @@ -1884,7 +1884,7 @@ IF (KRESP /=0) THEN WRITE(ILUOUT,*) ' ' ENDIF ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(HREC)//'%xtime', & CSTDNAME = '', & CLONGNAME = TRIM(HREC)//'%xtime', & diff --git a/src/MNH/set_grid.f90 b/src/MNH/set_grid.f90 index 80b75a18778e0127d1c9792f21fc9e387e76c193..3945848c8adb12b18354c86efb9cf7dadbd8c13c 100644 --- a/src/MNH/set_grid.f90 +++ b/src/MNH/set_grid.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2021 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. @@ -214,7 +214,7 @@ END MODULE MODI_SET_GRID USE MODD_CONF USE MODD_CONF_n USE MODD_DYN -use modd_field, only: tfielddata, tfieldlist +use modd_field, only: tfieldmetadata, tfieldlist USE MODD_GRID USE MODD_IO, ONLY: TFILEDATA,TOUTBAK USE MODD_LUNIT_n, ONLY: TLUOUT @@ -299,7 +299,7 @@ INTEGER :: IIUP,IJUP ,ISUP=1 ! size of working ! window arrays, ! supp. time steps ! -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! !* 1. READ GRID VARIABLES IN INITIAL FILE @@ -336,12 +336,12 @@ IF (.NOT.LCARTESIAN) THEN ! ELSE CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LONOR' CALL IO_Field_read(TPINIFILE,TZFIELD,PLONORI) ! CALL FIND_FIELD_ID_FROM_MNHNAME('LATORI',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'LATOR' CALL IO_Field_read(TPINIFILE,TZFIELD,PLATORI) ! diff --git a/src/MNH/shallow_mf_pack.f90 b/src/MNH/shallow_mf_pack.f90 index b898b4bdaab0735a360dc20236576f881651c5ae..47816c603a685f7f72d604818fbeee0f9047de6b 100644 --- a/src/MNH/shallow_mf_pack.f90 +++ b/src/MNH/shallow_mf_pack.f90 @@ -129,7 +129,7 @@ use modd_budget, only: lbudget_u, lbudget_v, lbudget_th, lbudget_rv, lb USE MODD_CONF USE MODD_CST USE MODD_IO, ONLY: TFILEDATA -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_NSV USE MODD_PARAMETERS USE MODD_PARAM_ICE, ONLY: CFRAC_ICE_SHALLOW_MF @@ -258,7 +258,7 @@ REAL, DIMENSION(SIZE(PTHM,1),SIZE(PTHM,2),SIZE(PTHM,3),SIZE(PSVM,4)) :: ZDSVDT INTEGER :: IIU, IJU, IKU, IKB, IKE, IRR, ISV INTEGER :: JK,JRR,JSV ! Loop counters -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------ !!! 1. Initialisation @@ -395,7 +395,7 @@ end if IF ( OMF_FLX .AND. tpfile%lopened ) THEN ! stores the conservative potential temperature vertical flux ZWORK(:,:,:)=RESHAPE(ZFLXZTHMF (:,:),(/ IIU,IJU,IKU /) ) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MF_THW_FLX', & CSTDNAME = '', & CLONGNAME = 'MF_THW_FLX', & @@ -410,7 +410,7 @@ IF ( OMF_FLX .AND. tpfile%lopened ) THEN ! ! stores the conservative mixing ratio vertical flux ZWORK(:,:,:)=RESHAPE(ZFLXZRMF(:,:),(/ IIU,IJU,IKU /) ) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MF_RCONSW_FLX', & CSTDNAME = '', & CLONGNAME = 'MF_RCONSW_FLX', & @@ -424,7 +424,7 @@ IF ( OMF_FLX .AND. tpfile%lopened ) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZWORK) ! ! stores the theta_v vertical flux - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MF_THVW_FLX', & CSTDNAME = '', & CLONGNAME = 'MF_THVW_FLX', & @@ -440,7 +440,7 @@ IF ( OMF_FLX .AND. tpfile%lopened ) THEN IF (OMIXUV) THEN ! stores the U momentum vertical flux ZWORK(:,:,:)=RESHAPE(ZFLXZUMF(:,:),(/ IIU,IJU,IKU /) ) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MF_UW_FLX', & CSTDNAME = '', & CLONGNAME = 'MF_UW_FLX', & @@ -455,7 +455,7 @@ IF ( OMF_FLX .AND. tpfile%lopened ) THEN ! ! stores the V momentum vertical flux ZWORK(:,:,:)=RESHAPE(ZFLXZVMF(:,:),(/ IIU,IJU,IKU /) ) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MF_VW_FLX', & CSTDNAME = '', & CLONGNAME = 'MF_VW_FLX', & diff --git a/src/MNH/spawn_field2.f90 b/src/MNH/spawn_field2.f90 index 44aa7c3ce0835e7c48c58e373e25a9c06ff8c636..360cb0e0ef851b75f9e4ccb6affb4050f17ff07a 100644 --- a/src/MNH/spawn_field2.f90 +++ b/src/MNH/spawn_field2.f90 @@ -172,7 +172,7 @@ USE MODD_CST USE MODD_CONF_n, ONLY: CONF_MODEL USE MODD_DUST, ONLY: CDUSTNAMES USE MODD_ELEC_DESCR, ONLY: CELECNAMES -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_FIELD_n, ONLY: FIELD_MODEL, XZWS_DEFAULT USE MODD_IO, ONLY: TFILEDATA USE MODD_LATZ_EDFLX @@ -279,7 +279,7 @@ LOGICAL :: GUSERV ! CHARACTER(LEN=15) :: YVAL CHARACTER(LEN=2) :: INDICE -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! !------------------------------------------------------------------------------- ! diff --git a/src/MNH/tke_eps_sources.f90 b/src/MNH/tke_eps_sources.f90 index 40a902d17e2e22391bd9d15a3fcb81b1615892c8..d2df4fcf722c387901192ec64770e3fb01132e3f 100644 --- a/src/MNH/tke_eps_sources.f90 +++ b/src/MNH/tke_eps_sources.f90 @@ -177,7 +177,7 @@ USE MODD_CONF USE MODD_CST USE MODD_CTURB USE MODD_DIAG_IN_RUN, ONLY: LDIAG_IN_RUN, XCURRENT_TKE_DISS -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_LES USE MODD_PARAMETERS @@ -255,7 +255,7 @@ INTEGER :: IIU,IJU,IKU ! array size in the 3 dimensions ! TYPE(LIST_ll), POINTER :: TZFIELDDISS_ll ! list of fields to exchange INTEGER :: IINFO_ll ! return code of parallel routine -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! !---------------------------------------------------------------------------- NULLIFY(TZFIELDDISS_ll) @@ -415,7 +415,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN ! ! stores the dynamic production ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'DP', & CSTDNAME = '', & CLONGNAME = 'DP', & @@ -430,7 +430,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN ! ! stores the thermal production ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TP', & CSTDNAME = '', & CLONGNAME = 'TP', & @@ -445,7 +445,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN ! ! stores the whole turbulent transport ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TR', & CSTDNAME = '', & CLONGNAME = 'TR', & @@ -460,7 +460,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN ! ! stores the dissipation of TKE ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'DISS', & CSTDNAME = '', & CLONGNAME = 'DISS', & diff --git a/src/MNH/turb.f90 b/src/MNH/turb.f90 index 44178ca883f98abe259e7d7ba18a87243a4d9a6d..639cd19a0b7724e63c64d472537254f37d74b73e 100644 --- a/src/MNH/turb.f90 +++ b/src/MNH/turb.f90 @@ -360,7 +360,7 @@ USE MODD_CONF USE MODD_CST USE MODD_CTURB USE MODD_DYN_n, ONLY : LOCEAN -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_LES USE MODD_NSV @@ -557,7 +557,7 @@ REAL :: ZALPHA ! work coefficient : REAL :: ZTIME1, ZTIME2 REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)):: ZTT,ZEXNE,ZLV,ZLS,ZCPH,ZCOR REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)):: ZSHEAR, ZDUDZ, ZDVDZ -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! !------------------------------------------------------------------------------------------ ALLOCATE ( & @@ -699,7 +699,7 @@ IF (KRRL >=1) THEN ! ! IF ( tpfile%lopened .AND. OTURB_DIAG ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ATHETA', & CSTDNAME = '', & CLONGNAME = 'ATHETA', & @@ -712,7 +712,7 @@ IF (KRRL >=1) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZATHETA) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'AMOIST', & CSTDNAME = '', & CLONGNAME = 'AMOIST', & @@ -1154,7 +1154,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN ! ! stores the mixing length ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'LM', & CSTDNAME = '', & CLONGNAME = 'LM', & @@ -1171,7 +1171,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN ! ! stores the conservative potential temperature ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THLM', & CSTDNAME = '', & CLONGNAME = 'THLM', & @@ -1186,7 +1186,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN ! ! stores the conservative mixing ratio ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RNPM', & CSTDNAME = '', & CLONGNAME = 'RNPM', & @@ -1825,7 +1825,7 @@ ENDIF ! ! Impression before modification of the mixing length IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'LM_CLEAR_SKY', & CSTDNAME = '', & CLONGNAME = 'LM_CLEAR_SKY', & @@ -1852,7 +1852,7 @@ WHERE (PCEI(:,:,:) == -1.) PLEM(:,:,:) = ZLM_CLOUD(:,:,:) ! ---------- ! IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'COEF_AMPL', & CSTDNAME = '', & CLONGNAME = 'COEF_AMPL', & @@ -1865,7 +1865,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZCOEF_AMPL) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'LM_CLOUD', & CSTDNAME = '', & CLONGNAME = 'LM_CLOUD', & diff --git a/src/MNH/turb_cloud_index.f90 b/src/MNH/turb_cloud_index.f90 index 44392d8fa556542c6c41bd4f56a148ca49eef659..18c0e8ffb0c22d9ea6f2512d1c382b023665d475 100644 --- a/src/MNH/turb_cloud_index.f90 +++ b/src/MNH/turb_cloud_index.f90 @@ -83,7 +83,7 @@ END MODULE MODI_TURB_CLOUD_INDEX ! !------------------------------------------------------------------------------- ! -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS, ONLY: JPVEXT ! @@ -133,7 +133,7 @@ INTEGER :: IIB,IJB,IKB ! Begin of physical dimensions INTEGER :: IIE,IJE,IKE ! End of physical dimensions INTEGER, DIMENSION(SIZE(PRM,1),SIZE(PRM,2),SIZE(PRM,3)) :: IMASK_CLOUD ! 0 except cloudy points or adjacent points (1) -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! !------------------------------------------------------------------------------- ! @@ -244,7 +244,7 @@ ENDDO !* 2.5 Writing ! IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RVCI', & CSTDNAME = '', & CLONGNAME = 'RVCI', & @@ -257,7 +257,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZRVCI) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'GX_RVCI', & CSTDNAME = '', & CLONGNAME = 'GX_RVCI', & @@ -270,7 +270,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZG_RVCI(:,:,:,1)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'GY_RVCI', & CSTDNAME = '', & CLONGNAME = 'GY_RVCI', & @@ -283,7 +283,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZG_RVCI(:,:,:,2)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'GNORM_RVCI', & CSTDNAME = '', & CLONGNAME = 'GNORM_RVCI', & @@ -296,7 +296,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZGNORM_RVCI) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'QX_RVCI', & CSTDNAME = '', & CLONGNAME = 'QX_RVCI', & @@ -309,7 +309,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZQ_RVCI(:,:,:,1)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'QY_RVCI', & CSTDNAME = '', & CLONGNAME = 'QY_RVCI', & @@ -322,7 +322,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZQ_RVCI(:,:,:,2)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'QNORM_RVCI', & CSTDNAME = '', & CLONGNAME = 'QNORM_RVCI', & @@ -335,7 +335,7 @@ IF ( OTURB_DIAG .AND. tpfile%lopened ) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZQNORM_RVCI) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CEI', & CSTDNAME = '', & CLONGNAME = 'CEI', & diff --git a/src/MNH/turb_hor_dyn_corr.f90 b/src/MNH/turb_hor_dyn_corr.f90 index a0c5ad948f0e4a9c3dd11fa1811298e69fdb962b..8c9cb916f5710fd5c265e974f447bdbc81c7aeb7 100644 --- a/src/MNH/turb_hor_dyn_corr.f90 +++ b/src/MNH/turb_hor_dyn_corr.f90 @@ -144,7 +144,7 @@ USE MODD_ARGSLIST_ll, ONLY: LIST_ll USE MODD_CST USE MODD_CONF USE MODD_CTURB -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS USE MODD_LES @@ -256,7 +256,7 @@ REAL :: ZTIME1, ZTIME2 REAL, DIMENSION(SIZE(PDZZ,1),SIZE(PDZZ,2),1+JPVEXT:3+JPVEXT) :: ZCOEFF , ZDZZ ! coefficients for the uncentred gradient ! computation near the ground -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! -------------------------------------------------------------------------- ! !* 1. PRELIMINARY COMPUTATIONS @@ -371,7 +371,7 @@ ZFLX(:,:,IKB-1) = 2. * ZFLX(:,:,IKB-1) - ZFLX(:,:,IKB) CALL UPDATE_HALO_ll(TZFIELDS_ll, IINFO_ll) IF ( tpfile%lopened .AND. OTURB_FLX ) THEN ! stores <U U> - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'U_VAR', & CSTDNAME = '', & CLONGNAME = 'U_VAR', & @@ -467,7 +467,7 @@ CALL UPDATE_HALO_ll(TZFIELDS_ll, IINFO_ll) ! IF ( tpfile%lopened .AND. OTURB_FLX ) THEN ! stores <V V> - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'V_VAR', & CSTDNAME = '', & CLONGNAME = 'V_VAR', & @@ -555,7 +555,7 @@ ZFLX(:,:,IKB-1) = 2. * ZFLX(:,:,IKB-1) - ZFLX(:,:,IKB) ! IF ( tpfile%lopened .AND. OTURB_FLX ) THEN ! stores <W W> - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'W_VAR', & CSTDNAME = '', & CLONGNAME = 'W_VAR', & diff --git a/src/MNH/turb_hor_sv_flux.f90 b/src/MNH/turb_hor_sv_flux.f90 index de501f779bb9bc71c51c4834e84178eca90e5ea3..c7db4b4b956acb3dbdf821bf083cfa5d6da530da 100644 --- a/src/MNH/turb_hor_sv_flux.f90 +++ b/src/MNH/turb_hor_sv_flux.f90 @@ -113,7 +113,7 @@ END MODULE MODI_TURB_HOR_SV_FLUX USE MODD_CST USE MODD_CONF USE MODD_CTURB -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS USE MODD_NSV, ONLY: NSV_LGBEG, NSV_LGEND @@ -187,7 +187,7 @@ REAL, DIMENSION(SIZE(PDZZ,1),SIZE(PDZZ,2),1+JPVEXT:3+JPVEXT) :: ZCOEFF ! CHARACTER(LEN=NMNHNAMELGTMAX) :: YMNHNAME INTEGER :: IKU -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD REAL :: ZTIME1, ZTIME2 ! --------------------------------------------------------------------------- ! @@ -250,7 +250,7 @@ DO JSV=1,ISV ! stores <U SVth> IF ( tpfile%lopened .AND. OTURB_FLX ) THEN WRITE(YMNHNAME,'("USV_FLX_",I3.3)') JSV - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM( YMNHNAME ), & CSTDNAME = '', & CLONGNAME = TRIM( YMNHNAME ), & @@ -303,7 +303,7 @@ DO JSV=1,ISV ! stores <V SVth> IF ( tpfile%lopened .AND. OTURB_FLX ) THEN WRITE(YMNHNAME,'("VSV_FLX_",I3.3)') JSV - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM( YMNHNAME ), & CSTDNAME = '', & CLONGNAME = TRIM(TZFIELD%CMNHNAME), & diff --git a/src/MNH/turb_hor_thermo_corr.f90 b/src/MNH/turb_hor_thermo_corr.f90 index d5102212b4abbf325a821e18f3fcec74cc005142..a59829330235639ef11ca65548c887caaeb736cb 100644 --- a/src/MNH/turb_hor_thermo_corr.f90 +++ b/src/MNH/turb_hor_thermo_corr.f90 @@ -121,7 +121,7 @@ END MODULE MODI_TURB_HOR_THERMO_CORR USE MODD_CST USE MODD_CONF USE MODD_CTURB -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS USE MODD_LES @@ -197,7 +197,7 @@ REAL, DIMENSION(SIZE(PDZZ,1),SIZE(PDZZ,2),1+JPVEXT:3+JPVEXT) :: ZCOEFF ! coefficients for the uncentred gradient ! computation near the ground REAL :: ZTIME1, ZTIME2 -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! ! --------------------------------------------------------------------------- ! @@ -266,7 +266,7 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. tpfile%lopened ) & ! ! stores <THl THl> IF ( OTURB_FLX .AND. tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THL_HVAR', & CSTDNAME = '', & CLONGNAME = 'THL_HVAR', & @@ -355,7 +355,7 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. tpfile%lopened ) & ! ! stores <THl Rnp> IF ( OTURB_FLX .AND. tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THLR_HCOR', & CSTDNAME = '', & CLONGNAME = 'THLR_HCOR', & @@ -424,7 +424,7 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. tpfile%lopened ) & ! ! stores <Rnp Rnp> IF ( OTURB_FLX .AND. tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'R_HVAR', & CSTDNAME = '', & CLONGNAME = 'R_HVAR', & diff --git a/src/MNH/turb_hor_thermo_flux.f90 b/src/MNH/turb_hor_thermo_flux.f90 index a4dd3bdee5b758465a901e69eda9ffd064b8f5f8..66191d4f581a25ca144d9b15c299cacffe19e51f 100644 --- a/src/MNH/turb_hor_thermo_flux.f90 +++ b/src/MNH/turb_hor_thermo_flux.f90 @@ -130,7 +130,7 @@ END MODULE MODI_TURB_HOR_THERMO_FLUX USE MODD_CST USE MODD_CONF USE MODD_CTURB -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS USE MODD_LES @@ -214,7 +214,7 @@ REAL, DIMENSION(SIZE(PDZZ,1),SIZE(PDZZ,2),1+JPVEXT:3+JPVEXT) :: ZCOEFF ! computation near the ground ! REAL :: ZTIME1, ZTIME2 -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! --------------------------------------------------------------------------- ! !* 1. PRELIMINARY COMPUTATIONS @@ -311,7 +311,7 @@ END IF ! ! stores the horizontal <U THl> IF ( tpfile%lopened .AND. OTURB_FLX ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UTHL_FLX', & CSTDNAME = '', & CLONGNAME = 'UTHL_FLX', & @@ -415,7 +415,7 @@ IF (KRR/=0) THEN ! ! stores the horizontal <U Rnp> IF ( tpfile%lopened .AND. OTURB_FLX ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UR_FLX', & CSTDNAME = '', & CLONGNAME = 'UR_FLX', & @@ -465,7 +465,7 @@ END IF !! ! !! ! stores the horizontal <U VPT> !! IF ( tpfile%lopened .AND. OTURB_FLX ) THEN -!! TZFIELD = TFIELDDATA( & +!! TZFIELD = TFIELDMETADATA( & !! CMNHNAME = 'UVPT_FLX', & !! CSTDNAME = '', & !! CLONGNAME = 'UVPT_FLX', & @@ -569,7 +569,7 @@ END IF ! ! stores the horizontal <V THl> IF ( tpfile%lopened .AND. OTURB_FLX ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VTHL_FLX', & CSTDNAME = '', & CLONGNAME = 'VTHL_FLX', & @@ -682,7 +682,7 @@ IF (KRR/=0) THEN ! ! stores the horizontal <V Rnp> IF ( tpfile%lopened .AND. OTURB_FLX ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VR_FLX', & CSTDNAME = '', & CLONGNAME = 'VR_FLX', & @@ -736,7 +736,7 @@ END IF !! ! !! ! stores the horizontal <V VPT> !! IF ( tpfile%lopened .AND. OTURB_FLX ) THEN -!! TZFIELD = TFIELDDATA( & +!! TZFIELD = TFIELDMETADATA( & !! CMNHNAME = 'VVPT_FLX', & !! CSTDNAME = '', & !! CLONGNAME = 'VVPT_FLX', & diff --git a/src/MNH/turb_hor_uv.f90 b/src/MNH/turb_hor_uv.f90 index 112c60c853405f299f0f15a946b3dbdf9c1a1b9f..6c09be2ea016a76b4fcbad618e21b12fe4915b78 100644 --- a/src/MNH/turb_hor_uv.f90 +++ b/src/MNH/turb_hor_uv.f90 @@ -126,7 +126,7 @@ END MODULE MODI_TURB_HOR_UV USE MODD_CST USE MODD_CONF USE MODD_CTURB -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS USE MODD_LES @@ -208,7 +208,7 @@ REAL, DIMENSION(SIZE(PUM,1),SIZE(PUM,2),SIZE(PUM,3)) :: GY_U_UV_PUM REAL, DIMENSION(SIZE(PVM,1),SIZE(PVM,2),SIZE(PVM,3)) :: GX_V_UV_PVM ! REAL :: ZTIME1, ZTIME2 -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! --------------------------------------------------------------------------- ! !* 1. PRELIMINARY COMPUTATIONS @@ -270,7 +270,7 @@ ZFLX(:,:,IKB-1:IKB-1) = 2. * MXM( MYM( ZFLX(:,:,IKB-1:IKB-1) ) ) & ! ! stores <U V> IF ( tpfile%lopened .AND. OTURB_FLX ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UV_FLX', & CSTDNAME = '', & CLONGNAME = 'UV_FLX', & diff --git a/src/MNH/turb_hor_uw.f90 b/src/MNH/turb_hor_uw.f90 index f1289d73a5b72763dcd883dd0d3f8f5e7e8945b6..9f467784eba3a3716e351db6157404d8b66f3b44 100644 --- a/src/MNH/turb_hor_uw.f90 +++ b/src/MNH/turb_hor_uw.f90 @@ -117,7 +117,7 @@ END MODULE MODI_TURB_HOR_UW USE MODD_CST USE MODD_CONF USE MODD_CTURB -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS USE MODD_LES @@ -187,7 +187,7 @@ INTEGER :: JSV ! scalar loop counter REAL, DIMENSION(SIZE(PWM,1),SIZE(PWM,2),SIZE(PWM,3)) :: GX_W_UW_PWM ! REAL :: ZTIME1, ZTIME2 -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! --------------------------------------------------------------------------- ! !* 1. PRELIMINARY COMPUTATIONS @@ -220,7 +220,7 @@ ZFLX(:,:,IKB-1)=2.*ZFLX(:,:,IKB)- ZFLX(:,:,IKB+1) ! ! stores <U W> IF ( tpfile%lopened .AND. OTURB_FLX ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UW_HFLX', & CSTDNAME = '', & CLONGNAME = 'UW_HFLX', & diff --git a/src/MNH/turb_hor_vw.f90 b/src/MNH/turb_hor_vw.f90 index 48f5be9bc674643cf316ff6eecee5347a16a77f6..92939a5497f54333dfb1ba646f2cebed860175e6 100644 --- a/src/MNH/turb_hor_vw.f90 +++ b/src/MNH/turb_hor_vw.f90 @@ -113,7 +113,7 @@ END MODULE MODI_TURB_HOR_VW USE MODD_CST USE MODD_CONF USE MODD_CTURB -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS USE MODD_LES @@ -182,7 +182,7 @@ INTEGER :: JSV ! scalar loop counter REAL, DIMENSION(SIZE(PWM,1),SIZE(PWM,2),SIZE(PWM,3)) :: GY_W_VW_PWM ! REAL :: ZTIME1, ZTIME2 -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! --------------------------------------------------------------------------- ! !* 1. PRELIMINARY COMPUTATIONS @@ -222,7 +222,7 @@ ZFLX(:,:,IKB-1)= 2.*ZFLX(:,:,IKB) - ZFLX(:,:,IKB+1) ! ! stores <V W> IF ( tpfile%lopened .AND. OTURB_FLX ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VW_HFLX', & CSTDNAME = '', & CLONGNAME = 'VW_HFLX', & diff --git a/src/MNH/turb_ver.f90 b/src/MNH/turb_ver.f90 index d7b0f4800d91c9ef28218d1b8ca4bcf43703b618..f701567c8aab8724095ae21eb851a1c86ebe6fee 100644 --- a/src/MNH/turb_ver.f90 +++ b/src/MNH/turb_ver.f90 @@ -320,7 +320,7 @@ END MODULE MODI_TURB_VER USE MODD_CST USE MODD_CTURB USE MODD_DYN_n, ONLY: LOCEAN -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS USE MODD_LES @@ -475,7 +475,7 @@ INTEGER :: IKB,IKE ! index value for the Beginning INTEGER :: JSV ! loop counter on scalar variables REAL :: ZTIME1 REAL :: ZTIME2 -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !---------------------------------------------------------------------------- ALLOCATE ( ZBETA(SIZE(PTHLM,1),SIZE(PTHLM,2),SIZE(PTHLM,3)) ,& ZSQRT_TKE(SIZE(PTHLM,1),SIZE(PTHLM,2),SIZE(PTHLM,3)),& @@ -696,7 +696,7 @@ IF ( OTURB_FLX .AND. tpfile%lopened ) THEN ! ! stores the Turbulent Prandtl number ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'PHI3', & CSTDNAME = '', & CLONGNAME = 'PHI3', & @@ -711,7 +711,7 @@ IF ( OTURB_FLX .AND. tpfile%lopened ) THEN ! ! stores the Turbulent Schmidt number ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'PSI3', & CSTDNAME = '', & CLONGNAME = 'PSI3', & @@ -727,7 +727,7 @@ IF ( OTURB_FLX .AND. tpfile%lopened ) THEN ! ! stores the Turbulent Schmidt number for the scalar variables ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for SV in turb_ver', & !Temporary name to ease identification CSTDNAME = '', & CUNITS = '1', & diff --git a/src/MNH/turb_ver_dyn_flux.f90 b/src/MNH/turb_ver_dyn_flux.f90 index ad27b69f246f248369013f7a0d9b68a065f04c85..fcf13abe7585b884c72bd6a2dbb91cd07c326bd4 100644 --- a/src/MNH/turb_ver_dyn_flux.f90 +++ b/src/MNH/turb_ver_dyn_flux.f90 @@ -290,7 +290,7 @@ USE MODD_CONF USE MODD_CST USE MODD_CTURB USE MODD_DYN_n, ONLY: LOCEAN -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_LES USE MODD_NSV @@ -404,7 +404,7 @@ REAL, DIMENSION(SIZE(PDZZ,1),SIZE(PDZZ,2),1) :: ZCOEFFLXU, & INTEGER :: IIU,IJU ! size of array in x,y,z directions ! REAL :: ZTIME1, ZTIME2 -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !---------------------------------------------------------------------------- ! !* 1. PRELIMINARIES @@ -541,7 +541,7 @@ END IF ! IF ( OTURB_FLX .AND. tpfile%lopened ) THEN ! stores the U wind component vertical flux - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UW_VFLX', & CSTDNAME = '', & CLONGNAME = 'UW_VFLX', & @@ -770,7 +770,7 @@ END IF ! IF ( OTURB_FLX .AND. tpfile%lopened ) THEN ! stores the V wind component vertical flux - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VW_VFLX', & CSTDNAME = '', & CLONGNAME = 'VW_VFLX', & @@ -908,7 +908,7 @@ IF ( OTURB_FLX .AND. tpfile%lopened .AND. HTURBDIM == '1DIM') THEN ! to be tested & ! +XCMFB*(4./3.)*PLM(:,:,:)/SQRT(PTKEM(:,:,:))*PTP(:,:,:) ! stores the W variance - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'W_VVAR', & CSTDNAME = '', & CLONGNAME = 'W_VVAR', & diff --git a/src/MNH/turb_ver_sv_flux.f90 b/src/MNH/turb_ver_sv_flux.f90 index 08491bc73559c564df3a771d1a8ab2580a6bed4c..8a742e1855d7c87f5678b69489a9b061e0987860 100644 --- a/src/MNH/turb_ver_sv_flux.f90 +++ b/src/MNH/turb_ver_sv_flux.f90 @@ -270,7 +270,7 @@ END MODULE MODI_TURB_VER_SV_FLUX ! USE MODD_CST USE MODD_CTURB -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS USE MODD_LES @@ -360,7 +360,7 @@ REAL :: ZCSVP = 4.0 ! constant for scalar flux presso-correlation (RS81) REAL :: ZCSV !constant for the scalar flux ! CHARACTER(LEN=NMNHNAMELGTMAX) :: YMNHNAME -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !---------------------------------------------------------------------------- ! !* 1. PRELIMINARIES @@ -455,7 +455,7 @@ DO JSV=1,ISV IF (OTURB_FLX .AND. tpfile%lopened) THEN ! stores the JSVth vertical flux WRITE(YMNHNAME,'("WSV_FLX_",I3.3)') JSV - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM( YMNHNAME ), & CSTDNAME = '', & CLONGNAME = TRIM( YMNHNAME ), & diff --git a/src/MNH/turb_ver_thermo_corr.f90 b/src/MNH/turb_ver_thermo_corr.f90 index 0175f76c95571d69f5670de6b7599c7977140d4f..031c9cd2f0bc14cab6bd5271e5cf45079b94f6fc 100644 --- a/src/MNH/turb_ver_thermo_corr.f90 +++ b/src/MNH/turb_ver_thermo_corr.f90 @@ -312,7 +312,7 @@ END MODULE MODI_TURB_VER_THERMO_CORR ! USE MODD_CST USE MODD_CTURB -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS USE MODD_CONF @@ -439,7 +439,7 @@ LOGICAL :: GFWTH ! flag to use w'2th' LOGICAL :: GFR2 ! flag to use w'r'2 LOGICAL :: GFWR ! flag to use w'2r' LOGICAL :: GFTHR ! flag to use w'th'r' -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !---------------------------------------------------------------------------- ! !* 1. PRELIMINARIES @@ -568,7 +568,7 @@ END IF ! ! stores <THl THl> IF ( OTURB_FLX .AND. tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THL_VVAR', & CSTDNAME = '', & CLONGNAME = 'THL_VVAR', & @@ -696,7 +696,7 @@ END IF END IF ! stores <THl Rnp> IF ( OTURB_FLX .AND. tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THLRCONS_VCOR', & CSTDNAME = '', & CLONGNAME = 'THLRCONS_VCOR', & @@ -804,7 +804,7 @@ END IF END IF ! stores <Rnp Rnp> IF ( OTURB_FLX .AND. tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RTOT_VVAR', & CSTDNAME = '', & CLONGNAME = 'RTOT_VVAR', & diff --git a/src/MNH/turb_ver_thermo_flux.f90 b/src/MNH/turb_ver_thermo_flux.f90 index 816cb9a4e205ae778e4b23fc34c6d36d6d7401e4..aa53f08222efb391a810c39dba484166dfeb9c61 100644 --- a/src/MNH/turb_ver_thermo_flux.f90 +++ b/src/MNH/turb_ver_thermo_flux.f90 @@ -338,7 +338,7 @@ END MODULE MODI_TURB_VER_THERMO_FLUX ! USE MODD_CST USE MODD_CTURB -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_GRID_n, ONLY: XZS, XXHAT, XYHAT USE MODD_IO, ONLY: TFILEDATA USE MODD_METRICS_n, ONLY: XDXX, XDYY, XDZX, XDZY, XDZZ @@ -522,7 +522,7 @@ LOGICAL :: GFWTH ! flag to use w'2th' LOGICAL :: GFR2 ! flag to use w'r'2 LOGICAL :: GFWR ! flag to use w'2r' LOGICAL :: GFTHR ! flag to use w'th'r' -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !---------------------------------------------------------------------------- ! !* 1. PRELIMINARIES @@ -753,7 +753,7 @@ END IF ! IF ( OTURB_FLX .AND. tpfile%lopened ) THEN ! stores the conservative potential temperature vertical flux - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THW_FLX', & CSTDNAME = '', & CLONGNAME = 'THW_FLX', & @@ -990,7 +990,7 @@ IF (KRR /= 0) THEN ! IF ( OTURB_FLX .AND. tpfile%lopened ) THEN ! stores the conservative mixing ratio vertical flux - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RCONSW_FLX', & CSTDNAME = '', & CLONGNAME = 'RCONSW_FLX', & @@ -1080,7 +1080,7 @@ IF ( ((OTURB_FLX .AND. tpfile%lopened) .OR. LLES_CALL) .AND. (KRRL > 0) ) THEN ! ! store the liquid water mixing ratio vertical flux IF ( OTURB_FLX .AND. tpfile%lopened ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RCW_FLX', & CSTDNAME = '', & CLONGNAME = 'RCW_FLX', & diff --git a/src/MNH/uv_to_zonal_and_merid.f90 b/src/MNH/uv_to_zonal_and_merid.f90 index 6ce72b8c276368ca96f11d8626d9e8477081a170..95d768766915625a2ce9908eecc8aa0048ff246e 100644 --- a/src/MNH/uv_to_zonal_and_merid.f90 +++ b/src/MNH/uv_to_zonal_and_merid.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2000-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2000-2021 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. @@ -9,31 +9,31 @@ INTERFACE UV_TO_ZONAL_AND_MERID SUBROUTINE UV_TO_ZONAL_AND_MERID3D(PU,PV,KGRID,PZC,PMC,TPFILE,TZFIELDS) ! -use modd_field, only: tfielddata +use modd_field, only: tfieldmetadata use modd_io, only: tfiledata ! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PU ! Input U component -REAL, DIMENSION(:,:,:), INTENT(IN) :: PV ! Input V component -INTEGER, INTENT(IN) :: KGRID ! Grid positions of components -REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PZC ! Output U component -REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PMC ! Output V component -TYPE(TFILEDATA), OPTIONAL, INTENT(IN) :: TPFILE ! Output file -TYPE(TFIELDDATA),DIMENSION(2), OPTIONAL, INTENT(IN) :: TZFIELDS ! Fields characteristics +REAL, DIMENSION(:,:,:), INTENT(IN) :: PU ! Input U component +REAL, DIMENSION(:,:,:), INTENT(IN) :: PV ! Input V component +INTEGER, INTENT(IN) :: KGRID ! Grid positions of components +REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PZC ! Output U component +REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PMC ! Output V component +TYPE(TFILEDATA), OPTIONAL, INTENT(IN) :: TPFILE ! Output file +TYPE(TFIELDMETADATA), DIMENSION(2), OPTIONAL, INTENT(IN) :: TZFIELDS ! Fields characteristics ! END SUBROUTINE UV_TO_ZONAL_AND_MERID3D ! SUBROUTINE UV_TO_ZONAL_AND_MERID2D(PU,PV,KGRID,PZC,PMC,TPFILE,TZFIELDS) ! -use modd_field, only: tfielddata +use modd_field, only: tfieldmetadata use modd_io, only: tfiledata ! -REAL, DIMENSION(:,:), INTENT(IN) :: PU ! Input U component -REAL, DIMENSION(:,:), INTENT(IN) :: PV ! Input V component -INTEGER, INTENT(IN) :: KGRID ! Grid positions of components -REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PZC ! Output U component -REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PMC ! Output V component -TYPE(TFILEDATA), OPTIONAL, INTENT(IN) :: TPFILE ! Output file -TYPE(TFIELDDATA),DIMENSION(2), OPTIONAL, INTENT(IN) :: TZFIELDS ! Fields characteristics +REAL, DIMENSION(:,:), INTENT(IN) :: PU ! Input U component +REAL, DIMENSION(:,:), INTENT(IN) :: PV ! Input V component +INTEGER, INTENT(IN) :: KGRID ! Grid positions of components +REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PZC ! Output U component +REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PMC ! Output V component +TYPE(TFILEDATA), OPTIONAL, INTENT(IN) :: TPFILE ! Output file +TYPE(TFIELDMETADATA), DIMENSION(2), OPTIONAL, INTENT(IN) :: TZFIELDS ! Fields characteristics ! END SUBROUTINE UV_TO_ZONAL_AND_MERID2D ! @@ -47,16 +47,16 @@ INTERFACE ! SUBROUTINE UV_TO_ZONAL_AND_MERID3D(PU,PV,KGRID,PZC,PMC,TPFILE,TZFIELDS) ! -use modd_field, only: tfielddata +use modd_field, only: tfieldmetadata use modd_io, only: tfiledata ! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PU ! Input U component -REAL, DIMENSION(:,:,:), INTENT(IN) :: PV ! Input V component -INTEGER, INTENT(IN) :: KGRID ! Grid positions of components -REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PZC ! Output U component -REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PMC ! Output V component -TYPE(TFILEDATA), OPTIONAL, INTENT(IN) :: TPFILE ! Output file -TYPE(TFIELDDATA),DIMENSION(2), OPTIONAL, INTENT(IN) :: TZFIELDS ! Fields characteristics +REAL, DIMENSION(:,:,:), INTENT(IN) :: PU ! Input U component +REAL, DIMENSION(:,:,:), INTENT(IN) :: PV ! Input V component +INTEGER, INTENT(IN) :: KGRID ! Grid positions of components +REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PZC ! Output U component +REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PMC ! Output V component +TYPE(TFILEDATA), OPTIONAL, INTENT(IN) :: TPFILE ! Output file +TYPE(TFIELDMETADATA), DIMENSION(2), OPTIONAL, INTENT(IN) :: TZFIELDS ! Fields characteristics ! END SUBROUTINE UV_TO_ZONAL_AND_MERID3D END INTERFACE @@ -103,7 +103,7 @@ END MODULE MODI_UV_TO_ZONAL_AND_MERID3D USE MODD_CONF USE MODD_CST USE MODD_DIM_n -use modd_field, only: tfielddata +use modd_field, only: tfieldmetadata USE MODD_GRID USE MODD_GRID_n USE MODD_IO, ONLY: TFILEDATA @@ -119,13 +119,13 @@ IMPLICIT NONE ! !* 0.1 declarations of arguments ! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PU ! Input U component -REAL, DIMENSION(:,:,:), INTENT(IN) :: PV ! Input V component -INTEGER, INTENT(IN) :: KGRID ! Grid positions of components -REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PZC ! Output U component -REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PMC ! Output V component -TYPE(TFILEDATA), OPTIONAL, INTENT(IN) :: TPFILE ! Output file -TYPE(TFIELDDATA),DIMENSION(2), OPTIONAL, INTENT(IN) :: TZFIELDS ! Fields characteristics +REAL, DIMENSION(:,:,:), INTENT(IN) :: PU ! Input U component +REAL, DIMENSION(:,:,:), INTENT(IN) :: PV ! Input V component +INTEGER, INTENT(IN) :: KGRID ! Grid positions of components +REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PZC ! Output U component +REAL, DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PMC ! Output V component +TYPE(TFILEDATA), OPTIONAL, INTENT(IN) :: TPFILE ! Output file +TYPE(TFIELDMETADATA), DIMENSION(2), OPTIONAL, INTENT(IN) :: TZFIELDS ! Fields characteristics ! !* 0.2 declarations of local variables ! @@ -276,7 +276,7 @@ END SUBROUTINE UV_TO_ZONAL_AND_MERID3D !* 0. DECLARATIONS ! ------------ ! -use modd_field, only: tfielddata +use modd_field, only: tfieldmetadata USE MODD_IO, ONLY: TFILEDATA, NVERB_WARNING USE MODD_LUNIT_n, ONLY: TLUOUT ! @@ -289,13 +289,13 @@ IMPLICIT NONE ! !* 0.1 declarations of arguments ! -REAL, DIMENSION(:,:), INTENT(IN) :: PU ! Input U component -REAL, DIMENSION(:,:), INTENT(IN) :: PV ! Input V component -INTEGER, INTENT(IN) :: KGRID ! Grid positions of components -REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PZC ! Output U component -REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PMC ! Output V component -TYPE(TFILEDATA), OPTIONAL, INTENT(IN) :: TPFILE ! Output file -TYPE(TFIELDDATA),DIMENSION(2), OPTIONAL, INTENT(IN) :: TZFIELDS ! Fields characteristics +REAL, DIMENSION(:,:), INTENT(IN) :: PU ! Input U component +REAL, DIMENSION(:,:), INTENT(IN) :: PV ! Input V component +INTEGER, INTENT(IN) :: KGRID ! Grid positions of components +REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PZC ! Output U component +REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PMC ! Output V component +TYPE(TFILEDATA), OPTIONAL, INTENT(IN) :: TPFILE ! Output file +TYPE(TFIELDMETADATA), DIMENSION(2), OPTIONAL, INTENT(IN) :: TZFIELDS ! Fields characteristics ! !* 0.2 declarations of local variables ! diff --git a/src/MNH/ver_thermo.f90 b/src/MNH/ver_thermo.f90 index d7462dd35207a773b4059a42187be5dbefcd877e..a4e8ee654b3f55e81978ab3442703e3816afd7ce 100644 --- a/src/MNH/ver_thermo.f90 +++ b/src/MNH/ver_thermo.f90 @@ -159,7 +159,7 @@ USE MODD_CONF USE MODD_CONF_n USE MODD_CST USE MODD_DYN_n -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_FIELD_n, ONLY: XTHT,XRT,XPABST,XDRYMASST USE MODD_GRID_n USE MODD_IO, ONLY: TFILEDATA,TFILE_DUMMY @@ -227,7 +227,7 @@ INTEGER :: IISIZEXF,IJSIZEXF,IISIZEXFU,IJSIZEXFU ! dimensions of the INTEGER :: IISIZEX4,IJSIZEX4,IISIZEX2,IJSIZEX2 ! West-east LB arrays INTEGER :: IISIZEYF,IJSIZEYF,IISIZEYFV,IJSIZEYFV ! dimensions of the INTEGER :: IISIZEY4,IJSIZEY4,IISIZEY2,IJSIZEY2 ! North-south LB arrays -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! @@ -295,7 +295,7 @@ DO JRR=1,SIZE(XRT,4) END DO ! IF (NVERB>=10) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THV', & CSTDNAME = '', & CLONGNAME = 'THV', & diff --git a/src/MNH/write_balloonn.f90 b/src/MNH/write_balloonn.f90 index cc6d8269c28c8eb58813c46fd0d321ddd02612ae..8d20985f5eb51776b70e49c86b16246b84c74366 100644 --- a/src/MNH/write_balloonn.f90 +++ b/src/MNH/write_balloonn.f90 @@ -96,7 +96,7 @@ CONTAINS !------------------------------------------------------------------------------- SUBROUTINE WRITE_LFI_BALLOON(TPFLYER) ! -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODE_IO_FIELD_WRITE, only: IO_Field_write ! TYPE(FLYER), INTENT(IN) :: TPFLYER @@ -104,16 +104,16 @@ TYPE(FLYER), INTENT(IN) :: TPFLYER ! !* 0.2 Declarations of local variables ! -REAL :: ZLAT ! latitude of the balloon -REAL :: ZLON ! longitude of the balloon -TYPE(TFIELDDATA) :: TZFIELD +REAL :: ZLAT ! latitude of the balloon +REAL :: ZLON ! longitude of the balloon +TYPE(TFIELDMETADATA) :: TZFIELD ! ! CALL SM_LATLON(XLATORI,XLONORI, & TPFLYER%X_CUR,TPFLYER%Y_CUR,ZLAT,ZLON) ! ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(TPFLYER%TITLE)//'LAT', & CSTDNAME = '', & CLONGNAME = TRIM(TPFLYER%TITLE)//'LAT', & @@ -126,7 +126,7 @@ TZFIELD = TFIELDDATA( & LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZLAT) ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(TPFLYER%TITLE)//'LON', & CSTDNAME = '', & CLONGNAME = TRIM(TPFLYER%TITLE)//'LON', & @@ -139,7 +139,7 @@ TZFIELD = TFIELDDATA( & LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZLON) ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(TPFLYER%TITLE)//'ALT', & CSTDNAME = '', & CLONGNAME = TRIM(TPFLYER%TITLE)//'ALT', & @@ -152,7 +152,7 @@ TZFIELD = TFIELDDATA( & LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,TPFLYER%Z_CUR) ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(TPFLYER%TITLE)//'WASCENT', & CSTDNAME = '', & CLONGNAME = TRIM(TPFLYER%TITLE)//'WASCENT', & @@ -165,7 +165,7 @@ TZFIELD = TFIELDDATA( & LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,TPFLYER%WASCENT) ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(TPFLYER%TITLE)//'RHO', & CSTDNAME = '', & CLONGNAME = TRIM(TPFLYER%TITLE)//'RHO', & diff --git a/src/MNH/write_budget.f90 b/src/MNH/write_budget.f90 index 9f82ff30cfcaa284da84f66a215591b441fa62d6..3f09ddc78e4b62d152446330041552e6e94e8ac8 100644 --- a/src/MNH/write_budget.f90 +++ b/src/MNH/write_budget.f90 @@ -105,7 +105,7 @@ subroutine Write_budget( tpdiafile, tpdtcur, ptstep, ksv ) tbudgets, tburhodj use modd_field, only: NMNHDIM_ONE, NMNHDIM_NI, NMNHDIM_NJ, & NMNHDIM_BUDGET_TIME, NMNHDIM_BUDGET_MASK_NBUMASK, NMNHDIM_UNUSED, & - tfielddata, TYPEINT, TYPEREAL + tfieldmetadata, TYPEINT, TYPEREAL use modd_io, only: tfiledata use modd_lunit_n, only: tluout use modd_parameters, only: NCOMMENTLGTMAX, NMNHNAMELGTMAX @@ -135,8 +135,8 @@ subroutine Write_budget( tpdiafile, tpdtcur, ptstep, ksv ) real, dimension(:), allocatable :: zworktemp real, dimension(:,:,:,:,:,:), allocatable :: zrhodjn, zworkmask type(date_time), dimension(:), allocatable :: tzdates - type(tfielddata) :: tzfield - type(tfiledata) :: tzfile + type(tfieldmetadata) :: tzfield + type(tfiledata) :: tzfile ! !------------------------------------------------------------------------------- ! @@ -147,7 +147,7 @@ subroutine Write_budget( tpdiafile, tpdtcur, ptstep, ksv ) !* Write TSTEP and BULEN ! --------------------- ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TSTEP', & CSTDNAME = '', & CLONGNAME = 'TSTEP', & @@ -160,7 +160,7 @@ subroutine Write_budget( tpdiafile, tpdtcur, ptstep, ksv ) LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPDIAFILE,TZFIELD,PTSTEP) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'BULEN', & CSTDNAME = '', & CLONGNAME = 'BULEN', & @@ -251,7 +251,7 @@ subroutine Write_budget( tpdiafile, tpdtcur, ptstep, ksv ) Write( ymnhname, fmt = "( 'MASK_', i4.4, '.MASK' )" ) nbutshift Write( ycomment, fmt = "( 'X_Y_MASK', i4.4 )" ) nbutshift - tzfield = tfielddata( & + tzfield = tfieldmetadata( & cmnhname = Trim( ymnhname ), & cstdname = '', & clongname = Trim( ymnhname ), & @@ -276,7 +276,7 @@ subroutine Write_budget( tpdiafile, tpdtcur, ptstep, ksv ) tzfile = tpdiafile tzfile%cformat = 'NETCDF4' - tzfield = tfielddata( & + tzfield = tfieldmetadata( & cmnhname = CMASK_VARNAME, & cstdname = '', & clongname = CMASK_VARNAME, & diff --git a/src/MNH/write_diachro.f90 b/src/MNH/write_diachro.f90 index 9265bd855dbac115e3b46c3162184b40b70fa5ba..95503006843f0eb9a8b142132c1ca4e2215040ae 100644 --- a/src/MNH/write_diachro.f90 +++ b/src/MNH/write_diachro.f90 @@ -146,7 +146,7 @@ use modd_budget, only: NLVL_CATEGORY, NLVL_GROUP, NLVL_SHAPE, nbumask, n use modd_field, only: NMNHDIM_ONE, NMNHDIM_UNKNOWN, NMNHDIM_BUDGET_LES_MASK, & NMNHDIM_FLYER_TIME, NMNHDIM_NOTLISTED, NMNHDIM_UNUSED, & TYPECHAR, TYPEINT, TYPEREAL, & - tfieldmetadata_base, tfielddata + tfieldmetadata_base, tfieldmetadata use modd_io, only: tfiledata use modd_les, only: nles_current_iinf, nles_current_isup, nles_current_jinf, nles_current_jsup, & nles_k, xles_current_z @@ -196,7 +196,7 @@ logical :: gdistributed real, dimension(:,:), allocatable :: ztimes real, dimension(:,:), allocatable :: zdatime real, dimension(:,:,:), allocatable :: ztrajz -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD type(tfiledata) :: tzfile call Print_msg( NVERB_DEBUG, 'BUD', 'Write_diachro_lfi', 'called' ) @@ -408,7 +408,7 @@ ILENCOMMENT = LFICOMMENTLGT ! ! 1er enregistrement TYPE ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.TYPE', & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.TYPE', & @@ -423,7 +423,7 @@ CALL IO_Field_write(tzfile,TZFIELD,YTYPE) ! ! 2eme enregistrement DIMENSIONS des MATRICES et LONGUEUR des TABLEAUX de CARACTERES et FLAGS de COMPRESSION sur les DIFFERENTS AXES ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.DIM', & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.DIM', & @@ -490,7 +490,7 @@ END SELECT ! ! 3eme enregistrement TITRE ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.TITRE', & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.TITRE', & @@ -508,7 +508,7 @@ deallocate( ytitles ) ! ! 4eme enregistrement UNITE ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.UNITE', & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.UNITE', & @@ -526,7 +526,7 @@ deallocate( yunits ) ! ! 5eme enregistrement COMMENT ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.COMMENT', & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.COMMENT', & @@ -569,7 +569,7 @@ DO J = 1,IP WRITE(YJ,'(I3)')J ENDIF IF ( gdistributed ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.PROC'//YJ, & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.PROC'//YJ, & @@ -584,7 +584,7 @@ DO J = 1,IP CALL IO_Field_write_BOX(tzfile,TZFIELD,'BUDGET',PVAR(:,:,:,:,:,J), & iil+JPHEXT,iih+JPHEXT,ijl+JPHEXT,ijh+JPHEXT) ELSE - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.PROC'//YJ, & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.PROC'//YJ, & @@ -603,7 +603,7 @@ ENDDO ! ! 7eme enregistrement TRAJT ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.TRAJT', & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.TRAJT', & @@ -643,7 +643,7 @@ deallocate( ztimes ) ! 8eme enregistrement TRAJX ! IF(PRESENT(tpflyer))THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.TRAJX', & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.TRAJX', & @@ -656,7 +656,7 @@ IF(PRESENT(tpflyer))THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(tzfile,TZFIELD, Reshape( tpflyer%x, [1, Size( tpflyer%x), 1] ) ) ELSE IF ( ycategory == 'LES_budgets' .and. tpbudiachro%clevels(NLVL_SHAPE) == 'Cartesian' ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.TRAJX', & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.TRAJX', & @@ -676,7 +676,7 @@ ENDIF ! 9eme enregistrement TRAJY ! IF(PRESENT(tpflyer))THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.TRAJY', & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.TRAJY', & @@ -689,7 +689,7 @@ IF(PRESENT(tpflyer))THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(tzfile,TZFIELD, Reshape( tpflyer%y, [1, Size( tpflyer%y), 1] ) ) ELSE IF ( ycategory == 'LES_budgets' .and. tpbudiachro%clevels(NLVL_SHAPE) == 'Cartesian' ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.TRAJY', & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.TRAJY', & @@ -709,7 +709,7 @@ ENDIF ! 10eme enregistrement TRAJZ ! IF(PRESENT(tpflyer))THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.TRAJZ', & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.TRAJZ', & @@ -722,7 +722,7 @@ IF(PRESENT(tpflyer))THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(tzfile,TZFIELD, Reshape( tpflyer%z, [1, Size( tpflyer%z), 1] ) ) ELSE IF ( ycategory == 'LES_budgets' .and. tpbudiachro%clevels(NLVL_SHAPE) == 'Cartesian' ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.TRAJZ', & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.TRAJZ', & @@ -744,7 +744,7 @@ ENDIF ! ! 11eme enregistrement PDATIME ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(ygroup)//'.DATIM', & CSTDNAME = '', & CLONGNAME = TRIM(ygroup)//'.DATIM', & @@ -834,7 +834,7 @@ integer(kind=CDFINT), dimension(0:NMAXLEVELS) :: ilevelids ! ids of the differen logical :: gdistributed logical :: gsplit logical, dimension(0:NMAXLEVELS) :: gleveldefined ! Are the different groups/levels already defined in the netCDF file -type(tfielddata) :: tzfield +type(tfieldmetadata) :: tzfield type(tfiledata) :: tzfile call Print_msg( NVERB_DEBUG, 'BUD', 'Write_diachro_nc4', 'called' ) @@ -1495,7 +1495,7 @@ if ( Present( tpflyer ) ) then ystdnameprefix = 'projection' endif - tzfield = tfielddata( & + tzfield = tfieldmetadata( & cmnhname = 'X', & cstdname = Trim( ystdnameprefix ) // '_x_coordinate', & clongname = 'x-position of the flyer', & @@ -1523,7 +1523,7 @@ end subroutine Write_diachro_nc4 subroutine Diachro_one_field_write_nc4( tpfile, tpbudiachro, tpfield, pvar, kdims, osplit, odistributed, & kil, kih, kjl, kjh, kkl, kkh ) use modd_budget, only: NLVL_CATEGORY, NLVL_GROUP, NLVL_SHAPE, nbutshift, nbusubwrite, tbudiachrometadata -use modd_field, only: tfielddata, tfieldmetadata_base +use modd_field, only: tfieldmetadata, tfieldmetadata_base use modd_io, only: isp, tfiledata use modd_parameters, only: jphext @@ -1552,7 +1552,7 @@ real, dimension(:,:), allocatable :: zdata2d real, dimension(:,:,:), allocatable :: zdata3d real, dimension(:,:,:,:), allocatable :: zdata4d real, dimension(:,:,:,:,:), allocatable :: zdata5d -type(tfielddata) :: tzfield +type(tfieldmetadata) :: tzfield idims = Size( kdims ) @@ -1770,10 +1770,10 @@ end subroutine Diachro_one_field_write_nc4 subroutine Prepare_diachro_write( tpfieldin, tpfieldout, kdims, osplit, odistributed, kbutimepos ) -use modd_field, only: NMNHDIM_BUDGET_TIME, NMNHDIM_UNUSED, NMNHMAXDIMS, tfielddata, tfieldmetadata_base +use modd_field, only: NMNHDIM_BUDGET_TIME, NMNHDIM_UNUSED, NMNHMAXDIMS, tfieldmetadata, tfieldmetadata_base class(tfieldmetadata_base), intent(in) :: tpfieldin -type(tfielddata), intent(out) :: tpfieldout +type(tfieldmetadata), intent(out) :: tpfieldout integer, dimension(:), intent(in) :: kdims ! List of indices of dimensions to use logical, intent(in) :: osplit logical, intent(in) :: odistributed ! .true. if data is distributed among all the processes diff --git a/src/MNH/write_dummy_gr_fieldn.f90 b/src/MNH/write_dummy_gr_fieldn.f90 index 6b9aa7949011367de58b2566a31baa7c53866606..c3e6096e080d00f316bfea2feaa87ea904664598 100644 --- a/src/MNH/write_dummy_gr_fieldn.f90 +++ b/src/MNH/write_dummy_gr_fieldn.f90 @@ -63,7 +63,7 @@ END MODULE MODI_WRITE_DUMMY_GR_FIELD_n ! USE MODD_DUMMY_GR_FIELD_n, ONLY: NDUMMY_GR_NBR, CDUMMY_GR_NAME, & CDUMMY_GR_AREA, XDUMMY_GR_FIELDS -use modd_field, only: tfielddata, TYPEINT, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEINT, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS, ONLY: NMNHNAMELGTMAX ! @@ -87,7 +87,7 @@ CHARACTER(LEN=3) :: YSTRING03 ! REAL, DIMENSION(:,:), ALLOCATABLE :: ZWORK2D ! -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD ! !------------------------------------------------------------------------------- ! @@ -104,7 +104,7 @@ ALLOCATE(ZWORK2D(SIZE(XDUMMY_GR_FIELDS,1),SIZE(XDUMMY_GR_FIELDS,2))) !* 3. Dummy fields : ! ------------ ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = 'DUMMY_GR_NBR', & CSTDNAME = '', & CLONGNAME = 'DUMMY_GR_NBR', & @@ -122,7 +122,7 @@ DO JDUMMY=1,NDUMMY_GR_NBR YSTRING20=CDUMMY_GR_NAME(JDUMMY) YSTRING03=CDUMMY_GR_AREA(JDUMMY) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(YRECFM), & CSTDNAME = '', & CLONGNAME = TRIM(YRECFM), & diff --git a/src/MNH/write_lbn.f90 b/src/MNH/write_lbn.f90 index f3614c14a1f560b534970b1e1b820311d3169838..001d85f1d874f645bc10f208aed0dfd6fe6ed42c 100644 --- a/src/MNH/write_lbn.f90 +++ b/src/MNH/write_lbn.f90 @@ -121,7 +121,7 @@ USE MODI_DUSTLFI_n USE MODI_SALTLFI_n USE MODD_PARAMETERS, ONLY: JPHEXT USE MODD_IO, ONLY: TFILEDATA -use modd_field, only: tfielddata, TYPELOG, TYPEREAL +use modd_field, only: tfieldmetadata, TYPELOG, TYPEREAL ! ! IMPLICIT NONE @@ -152,8 +152,8 @@ INTEGER :: IIB, IIE, IJB, IJE, IKB, IKE INTEGER :: IIU, IJU, IKU REAL, DIMENSION(SIZE(XLBXSVM,1), SIZE(XLBXSVM,2), SIZE(XLBXSVM,3)) :: ZLBXZZ REAL, DIMENSION(SIZE(XLBYSVM,1), SIZE(XLBYSVM,2), SIZE(XLBYSVM,3)) :: ZLBYZZ -CHARACTER(LEN=100) :: YMSG -TYPE(TFIELDDATA) :: TZFIELD +CHARACTER(LEN=100) :: YMSG +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! !* 1. SOME INITIALIZATIONS @@ -213,7 +213,7 @@ IF (NRR >=1) THEN LHORELAX_RI .OR. LHORELAX_RS .OR. LHORELAX_RG .OR. & LHORELAX_RH ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HORELAX_R', & CSTDNAME = '', & CLONGNAME = 'HORELAX_R', & @@ -269,7 +269,7 @@ END IF IF (NSV >=1) THEN GHORELAX_SV=ANY ( LHORELAX_SV ) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HORELAX_SV', & CSTDNAME = '', & CLONGNAME = 'HORELAX_SV', & diff --git a/src/MNH/write_lfifm1_for_diag.f90 b/src/MNH/write_lfifm1_for_diag.f90 index 6f4d6d5c4beb33c4453189186badcd5fecaede2b..e94351e1e9c7117b0c95218d7b1d9d30b6964b8f 100644 --- a/src/MNH/write_lfifm1_for_diag.f90 +++ b/src/MNH/write_lfifm1_for_diag.f90 @@ -156,7 +156,7 @@ END MODULE MODI_WRITE_LFIFM1_FOR_DIAG USE MODD_DIM_n USE MODD_CONF USE MODD_CONF_n -use modd_field, only: tfielddata, tfieldlist, TYPEINT, TYPEREAL +use modd_field, only: tfieldmetadata, tfieldlist, TYPEINT, TYPEREAL USE MODD_GRID USE MODD_GRID_n USE MODD_IO, ONLY : TFILEDATA @@ -343,8 +343,8 @@ INTEGER :: ILUOUT0 ! Logical unit number for output-listing CHARACTER(LEN=2) :: INDICE CHARACTER(LEN=100) :: YMSG INTEGER :: IID -TYPE(TFIELDDATA) :: TZFIELD -TYPE(TFIELDDATA),DIMENSION(2) :: TZFIELD2 +TYPE(TFIELDMETADATA) :: TZFIELD +TYPE(TFIELDMETADATA), DIMENSION(2) :: TZFIELD2 ! ! LIMA LIDAR REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZTMP1, ZTMP2, ZTMP3, ZTMP4 @@ -511,7 +511,7 @@ ZPOVO(:,:,:)= ZPOVO(:,:,:)*1E6/XRHODREF(:,:,:) ZPOVO(:,:,1) =-1.E+11 ZPOVO(:,:,IKU)=-1.E+11 IF (INDEX(CISO,'EV') /= 0) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'POVOT', & CSTDNAME = '', & CLONGNAME = 'POVOT', & @@ -531,7 +531,7 @@ IF (LVAR_RS) THEN CALL IO_Field_write(TPFILE,'VT',XVT) ! IF (LWIND_ZM) THEN - TZFIELD2(1) = TFIELDDATA( & + TZFIELD2(1) = TFIELDMETADATA( & CMNHNAME = 'UM_ZM', & CSTDNAME = '', & CLONGNAME = 'UM_ZM', & @@ -543,7 +543,7 @@ IF (LVAR_RS) THEN NDIMS = 3, & LTIMEDEP = .TRUE. ) ! - TZFIELD2(2) = TFIELDDATA( & + TZFIELD2(2) = TFIELDMETADATA( & CMNHNAME = 'VM_ZM', & CSTDNAME = '', & CLONGNAME = 'VM_ZM', & @@ -603,7 +603,7 @@ IF (LVAR_PR .AND. LUSERR .AND. SIZE(XINPRR)>0 ) THEN ! explicit species ! CALL FIND_FIELD_ID_FROM_MNHNAME('INPRR',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XINPRR*3.6E6) ! @@ -611,7 +611,7 @@ IF (LVAR_PR .AND. LUSERR .AND. SIZE(XINPRR)>0 ) THEN CALL IO_Field_write(TPFILE,'EVAP3D', XEVAP3D) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRR',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XACPRR*1.0E3) ! @@ -619,56 +619,56 @@ IF (LVAR_PR .AND. LUSERR .AND. SIZE(XINPRR)>0 ) THEN CCLOUD == 'KHKO' .OR. CCLOUD == 'LIMA') THEN IF (SIZE(XINPRC) /= 0 ) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('INPRC',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XINPRC*3.6E6) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRC',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XACPRC*1.0E3) END IF IF (SIZE(XINDEP) /= 0 ) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('INDEP',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XINDEP*3.6E6) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACDEP',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XACDEP*1.0E3) END IF END IF IF (CCLOUD(1:3) == 'ICE' .OR. CCLOUD == 'C3R5' .OR. CCLOUD == 'LIMA') THEN CALL FIND_FIELD_ID_FROM_MNHNAME('INPRS',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XINPRS*3.6E6) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRS',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XACPRS*1.0E3) ! CALL FIND_FIELD_ID_FROM_MNHNAME('INPRG',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XINPRG*3.6E6) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRG',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XACPRG*1.0E3) ! IF (SIZE(XINPRH) /= 0 ) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('INPRH',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XINPRH*3.6E6) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRH',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XACPRH*1.0E3) ENDIF @@ -679,7 +679,7 @@ IF (LVAR_PR .AND. LUSERR .AND. SIZE(XINPRR)>0 ) THEN IF (SIZE(XINPRH) /= 0 ) & ZWORK21(:,:) = ZWORK21(:,:) + XINPRH(:,:) CALL FIND_FIELD_ID_FROM_MNHNAME('INPRT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,ZWORK21*3.6E6) ! @@ -690,7 +690,7 @@ IF (LVAR_PR .AND. LUSERR .AND. SIZE(XINPRR)>0 ) THEN ZWORK21(:,:) = ZWORK21(:,:) + XACPRH(:,:) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,ZWORK21*1.0E3) ! @@ -700,17 +700,17 @@ IF (LVAR_PR .AND. LUSERR .AND. SIZE(XINPRR)>0 ) THEN ! IF (CDCONV /= 'NONE') THEN CALL FIND_FIELD_ID_FROM_MNHNAME('PRCONV',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XPRCONV*3.6E6) ! CALL FIND_FIELD_ID_FROM_MNHNAME('PACCONV',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XPACCONV*1.0E3) ! CALL FIND_FIELD_ID_FROM_MNHNAME('PRSCONV',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XPRSCONV*3.6E6) END IF @@ -740,7 +740,7 @@ IF (LVAR_PR ) THEN ZWORK23(:,:) = 0. END DO !* Precipitable water in kg/m**2 - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'PRECIP_WAT', & CSTDNAME = '', & CLONGNAME = 'PRECIP_WAT', & @@ -820,7 +820,7 @@ IF (LHU_FLX) THEN ENDIF ! Ecriture ! composantes U et V du flux surfacique d'humidité - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UM90', & CSTDNAME = '', & CLONGNAME = 'UM90', & @@ -833,7 +833,7 @@ IF (LHU_FLX) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK31) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VM90', & CSTDNAME = '', & CLONGNAME = 'VM90', & @@ -846,7 +846,7 @@ IF (LHU_FLX) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK32) ! composantes U et V du flux d'humidité intégré sur 3000 metres - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UM91', & CSTDNAME = '', & CLONGNAME = 'UM91', & @@ -859,7 +859,7 @@ IF (LHU_FLX) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK21) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VM91', & CSTDNAME = '', & CLONGNAME = 'VM91', & @@ -873,7 +873,7 @@ IF (LHU_FLX) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZWORK22) ! ! Convergence d'humidité - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HMCONV', & CSTDNAME = '', & CLONGNAME = 'HMCONV', & @@ -887,7 +887,7 @@ IF (LHU_FLX) THEN CALL IO_Field_write(TPFILE,TZFIELD,-ZWORK35) ! ! Convergence d'humidité intégré sur 3000 mètres - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HMCONV3000', & CSTDNAME = '', & CLONGNAME = 'HMCONV3000', & @@ -902,7 +902,7 @@ IF (LHU_FLX) THEN ! IF (CCLOUD(1:3) == 'ICE' .OR. CCLOUD == 'LIMA') THEN ! composantes U et V du flux surfacique d'hydrométéores - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UM92', & CSTDNAME = '', & CLONGNAME = 'UM92', & @@ -915,7 +915,7 @@ IF (LHU_FLX) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK33) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VM92', & CSTDNAME = '', & CLONGNAME = 'VM92', & @@ -928,7 +928,7 @@ IF (LHU_FLX) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK34) ! composantes U et V du flux d'hydrométéores intégré sur 3000 metres - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UM93', & CSTDNAME = '', & CLONGNAME = 'UM93', & @@ -941,7 +941,7 @@ IF (LHU_FLX) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK23) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VM93', & CSTDNAME = '', & CLONGNAME = 'VM93', & @@ -954,7 +954,7 @@ IF (LHU_FLX) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK24) ! Convergence d'hydrométéores - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HMCONV_TT', & CSTDNAME = '', & CLONGNAME = 'HMCONV_TT', & @@ -967,7 +967,7 @@ IF (LHU_FLX) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,-ZWORK36) ! Convergence d'hydrométéores intégré sur 3000 mètres - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HMCONV3000_TT', & CSTDNAME = '', & CLONGNAME = 'HMCONV3000_TT', & @@ -987,7 +987,7 @@ ENDIF IF (LVAR_MRW .OR. LLIMA_DIAG) THEN IF (NRR >=1) THEN ! Moist variables are written individually in file - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for moist variables', & !Temporary name to ease identification CSTDNAME = '', & CDIR = 'XY', & @@ -1068,7 +1068,7 @@ END IF ! User scalar variables ! individually in the file IF (LVAR_MRSV) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for scalar variables', & !Temporary name to ease identification CSTDNAME = '', & CUNITS = 'g kg-1', & @@ -1203,7 +1203,7 @@ IF (LLIMA_DIAG) THEN END DO ! IF (LUSERC) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'LWC', & CSTDNAME = '', & CLONGNAME = 'LWC', & @@ -1219,7 +1219,7 @@ IF (LLIMA_DIAG) THEN END IF ! IF (LUSERI) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'IWC', & CSTDNAME = '', & CLONGNAME = 'IWC', & @@ -1346,7 +1346,7 @@ END IF ! Blowing snow variables ! IF(LBLOWSNOW) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SNWSUBL3D', & CSTDNAME = '', & CLONGNAME = 'SNWSUBL3D', & @@ -1366,7 +1366,7 @@ IF(LBLOWSNOW) THEN END DO ZWORK21(:,:) = ZWORK21(:,:)*1000. ! vapor water in mm unit ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'COL_SNWSUBL', & CSTDNAME = '', & CLONGNAME = 'COL_SNWSUBL', & @@ -1389,7 +1389,7 @@ IF(LBLOWSNOW) THEN CALL PPP2SNOW(XSVT(:,:,:,NSV_SNWBEG:NSV_SNWEND),XRHODREF,& PBET3D=ZBET_SNW, PRG3D=ZRG_SNW, PM3D=ZMA_SNW) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SNWRGA', & CSTDNAME = '', & CLONGNAME = 'SNWRGA', & @@ -1402,7 +1402,7 @@ IF(LBLOWSNOW) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZRG_SNW(:,:,:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SNWBETA', & CSTDNAME = '', & CLONGNAME = 'SNWBETA', & @@ -1415,7 +1415,7 @@ IF(LBLOWSNOW) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZBET_SNW(:,:,:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SNWNOA', & CSTDNAME = '', & CLONGNAME = 'SNWNOA', & @@ -1428,7 +1428,7 @@ IF(LBLOWSNOW) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZMA_SNW(:,:,:,1)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SNWMASS', & CSTDNAME = '', & CLONGNAME = 'SNWMASS', & @@ -1447,7 +1447,7 @@ IF(LBLOWSNOW) THEN (XZZ(:,:,JK+1)-XZZ(:,:,JK))/XRHOLW END DO ZWORK21(:,:) = ZWORK21(:,:)*1000. ! vapor water in mm unit - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THDS', & CSTDNAME = '', & CLONGNAME = 'THDS', & @@ -2066,7 +2066,7 @@ IF (LVAR_LS) THEN CALL IO_Field_write(TPFILE,'LSVM', XLSVM) ! IF (LWIND_ZM) THEN - TZFIELD2(1) = TFIELDDATA( & + TZFIELD2(1) = TFIELDMETADATA( & CMNHNAME = 'LSUM_ZM', & CSTDNAME = '', & CLONGNAME = 'LSUM_ZM', & @@ -2078,7 +2078,7 @@ IF (LVAR_LS) THEN NDIMS = 3, & LTIMEDEP = .TRUE. ) ! - TZFIELD2(2) = TFIELDDATA( & + TZFIELD2(2) = TFIELDMETADATA( & CMNHNAME = 'LSVM_ZM', & CSTDNAME = '', & CLONGNAME = 'LSVM_ZM', & @@ -2098,7 +2098,7 @@ IF (LVAR_LS) THEN ! IF (LUSERV) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('LSRVM',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'g kg-1' CALL IO_Field_write(TPFILE,TZFIELD,XLSRVM(:,:,:)*1.E3) END IF @@ -2111,7 +2111,7 @@ IF (LVAR_FRC .AND. LFORCING) THEN DO JT=1,NFRC WRITE (YFRC,'(I3.3)') JT ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'UFRC'//YFRC, & @@ -2124,7 +2124,7 @@ IF (LVAR_FRC .AND. LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XUFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'VFRC'//YFRC, & @@ -2137,7 +2137,7 @@ IF (LVAR_FRC .AND. LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XVFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'WFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'WFRC'//YFRC, & @@ -2150,7 +2150,7 @@ IF (LVAR_FRC .AND. LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XWFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'THFRC'//YFRC, & @@ -2163,7 +2163,7 @@ IF (LVAR_FRC .AND. LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XTHFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RVFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'RVFRC'//YFRC, & @@ -2176,7 +2176,7 @@ IF (LVAR_FRC .AND. LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XRVFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TENDTHFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'TENDTHFRC'//YFRC, & @@ -2189,7 +2189,7 @@ IF (LVAR_FRC .AND. LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XTENDTHFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TENDRVFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'TENDRVFRC'//YFRC, & @@ -2202,7 +2202,7 @@ IF (LVAR_FRC .AND. LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XTENDRVFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'GXTHFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'GXTHFRC'//YFRC, & @@ -2215,7 +2215,7 @@ IF (LVAR_FRC .AND. LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XGXTHFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'GYTHFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'GYTHFRC'//YFRC, & @@ -2228,7 +2228,7 @@ IF (LVAR_FRC .AND. LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XGYTHFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'PGROUNDFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'PGROUNDFRC'//YFRC, & @@ -2251,7 +2251,7 @@ END IF IF (LTPZH .OR. LCOREF) THEN ! !* Temperature in celsius - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TEMP', & CSTDNAME = 'air_temperature', & CLONGNAME = 'TEMP', & @@ -2267,7 +2267,7 @@ IF (LTPZH .OR. LCOREF) THEN ! !* Pressure in hPa CALL FIND_FIELD_ID_FROM_MNHNAME('PABST',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'PRES' TZFIELD%CUNITS = 'hPa' CALL IO_Field_write(TPFILE,TZFIELD,XPABST(:,:,:)*1E-2) @@ -2291,7 +2291,7 @@ IF (LTPZH .OR. LCOREF) THEN END WHERE END IF ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'REHU', & CSTDNAME = 'relative_humidity', & CLONGNAME = 'REHU', & @@ -2304,7 +2304,7 @@ IF (LTPZH .OR. LCOREF) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK32) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VPRES', & CSTDNAME = 'water_vapor_partial_pressure_in_air', & CLONGNAME = 'VPRES', & @@ -2322,7 +2322,7 @@ IF (LTPZH .OR. LCOREF) THEN ZWORK33(:,:,:)=(77.6*( XPABST(:,:,:)*1E-2 & +ZWORK33(:,:,:)*4810/ZTEMP(:,:,:)) & -6*ZWORK33(:,:,:) )/ZTEMP(:,:,:) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'COREF', & CSTDNAME = '', & CLONGNAME = 'COREF', & @@ -2336,7 +2336,7 @@ IF (LTPZH .OR. LCOREF) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZWORK33) ! ZWORK33(:,:,:)=ZWORK33(:,:,:)+MZF(XZZ(:,:,:))*1E6/XRADIUS - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MCOREF', & CSTDNAME = '', & CLONGNAME = 'MCOREF', & @@ -2378,7 +2378,7 @@ IF ( LMOIST_V .OR. LMSLP .OR. CBLTOP/='NONE' ) THEN ! IF (LMOIST_V .AND. NRR > 0) THEN ! Virtual potential temperature - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THETAV', & CSTDNAME = '', & CLONGNAME = 'THETAV', & @@ -2412,7 +2412,7 @@ IF (LVISI) THEN ZVISIKUN(:,:,:) =0.027/(XRT(:,:,:,2)*XRHODREF(:,:,:))**0.88*1000. END WHERE ! Visibity Kunkel - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VISIKUN', & CSTDNAME = '', & CLONGNAME = 'VISIKUN', & @@ -2433,7 +2433,7 @@ IF (LVISI) THEN ZVISIZHA(:,:,:) =0.187/(XRT(:,:,:,2)*XRHODREF(:,:,:)*XSVT(:,:,:,NSV_C2R2BEG+1))**0.34*1000. END WHERE ! Visibity Gultepe - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VISIGUL', & CSTDNAME = '', & CLONGNAME = 'VISIGUL', & @@ -2446,7 +2446,7 @@ IF (LVISI) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZVISIGUL) ! Visibity Zhang - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VISIZHA', & CSTDNAME = '', & CLONGNAME = 'VISIZHA', & @@ -2482,7 +2482,7 @@ IF (( LMOIST_E .OR. LBV_FR ) .AND. (NRR>0)) THEN *ZWORK31(:,:,:) *(1. +0.81 *ZWORK31(:,:,:)) ) ! IF (LMOIST_E) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THETAE', & CSTDNAME = '', & CLONGNAME = 'THETAE', & @@ -2509,7 +2509,7 @@ IF (LMOIST_ES .AND. (NRR>0)) THEN -4.805 ) ) + 55. ZTHETAES(:,:,:)= XTHT(:,:,:) * EXP( (3376. / ZTHETAE(:,:,:) - 2.54) & *ZWORK31(:,:,:) *(1. +0.81 *ZWORK31(:,:,:)) ) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THETAES', & CSTDNAME = '', & CLONGNAME = 'THETAES', & @@ -2561,7 +2561,7 @@ IF ( LMOIST_L .OR. LMOIST_S1 .OR. LMOIST_S2 ) THEN ! IF (LMOIST_L .AND. NRR > 0) THEN ! Liquid-Water potential temperature - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THETAL', & CSTDNAME = '', & CLONGNAME = 'THETAL', & @@ -2617,7 +2617,7 @@ IF ( LMOIST_S1 .OR. LMOIST_S2 ) THEN END IF IF (LMOIST_S1) THEN ! The Moist-air Entropy potential temperature (1st order) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THETAS1', & CSTDNAME = '', & CLONGNAME = 'THETAS1', & @@ -2632,7 +2632,7 @@ IF ( LMOIST_S1 .OR. LMOIST_S2 ) THEN END IF IF (LMOIST_S2) THEN ! The Moist-air Entropy potential temperature (2nd order) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THETAS2', & CSTDNAME = '', & CLONGNAME = 'THETAS2', & @@ -2656,7 +2656,7 @@ END IF IF (LVORT) THEN ! Vorticity x ZWORK31(:,:,:)=MYF(MZF(MXM(ZVOX(:,:,:)))) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UM1', & CSTDNAME = '', & CLONGNAME = 'UM1', & @@ -2671,7 +2671,7 @@ IF (LVORT) THEN ! ! Vorticity y ZWORK32(:,:,:)=MZF(MXF(MYM(ZVOY(:,:,:)))) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VM1', & CSTDNAME = '', & CLONGNAME = 'VM1', & @@ -2685,7 +2685,7 @@ IF (LVORT) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZWORK32) ! IF (LWIND_ZM) THEN - TZFIELD2(1) = TFIELDDATA( & + TZFIELD2(1) = TFIELDMETADATA( & CMNHNAME = 'UM1_ZM', & CSTDNAME = '', & CLONGNAME = 'UM1_ZM', & @@ -2697,7 +2697,7 @@ IF (LVORT) THEN NDIMS = 3, & LTIMEDEP = .TRUE. ) ! - TZFIELD2(2) = TFIELDDATA( & + TZFIELD2(2) = TFIELDMETADATA( & CMNHNAME = 'VM1_ZM', & CSTDNAME = '', & CLONGNAME = 'VM1_ZM', & @@ -2714,7 +2714,7 @@ IF (LVORT) THEN ! ! Vorticity z ZWORK31(:,:,:)=MXF(MYF(MZM(ZVOZ(:,:,:)))) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'WM1', & CSTDNAME = '', & CLONGNAME = 'WM1', & @@ -2729,7 +2729,7 @@ IF (LVORT) THEN ! ! Absolute Vorticity ZWORK31(:,:,:)=MYF(MXF(ZVOZ(:,:,:))) + ZCORIOZ(:,:,:) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ABVOR', & CSTDNAME = '', & CLONGNAME = 'ABVOR', & @@ -2762,7 +2762,7 @@ IF ( LMEAN_POVO ) THEN END WHERE END DO WHERE (IWORK1(:,:)>0) ZWORK21(:,:)=ZWORK21(:,:)/REAL( IWORK1(:,:) ) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MEAN_POVO', & CSTDNAME = '', & CLONGNAME = 'MEAN_POVO', & @@ -2785,7 +2785,7 @@ IF (LMOIST_V .AND. (NRR>0) ) THEN + ZWORK32(:,:,:)*MZF(MXF(ZVOY(:,:,:))) & + ZWORK33(:,:,:)*(MYF(MXF(ZVOZ(:,:,:))) + ZCORIOZ(:,:,:)) ZWORK34(:,:,:)=ZWORK34(:,:,:)*1E6/XRHODREF(:,:,:) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'POVOV', & CSTDNAME = '', & CLONGNAME = 'POVOV', & @@ -2808,7 +2808,7 @@ IF (LMOIST_V .AND. (NRR>0) ) THEN END WHERE END DO WHERE(IWORK1(:,:)>0) ZWORK21(:,:)=ZWORK21(:,:)/REAL( IWORK1(:,:) ) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MEAN_POVOV', & CSTDNAME = '', & CLONGNAME = 'MEAN_POVOV', & @@ -2833,7 +2833,7 @@ IF (LMOIST_E .AND. (NRR>0) ) THEN + ZWORK32(:,:,:)*MZF(MXF(ZVOY(:,:,:))) & + ZWORK33(:,:,:)*(MYF(MXF(ZVOZ(:,:,:))) + ZCORIOZ(:,:,:)) ZWORK34(:,:,:)=ZWORK34(:,:,:)*1E6/XRHODREF(:,:,:) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'POVOE', & CSTDNAME = '', & CLONGNAME = 'POVOE', & @@ -2856,7 +2856,7 @@ IF (LMOIST_E .AND. (NRR>0) ) THEN END WHERE END DO WHERE(IWORK1(:,:)>0) ZWORK21(:,:)=ZWORK21(:,:)/REAL( IWORK1(:,:) ) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MEAN_POVOE', & CSTDNAME = '', & CLONGNAME = 'MEAN_POVOE', & @@ -2882,7 +2882,7 @@ IF (LMOIST_ES .AND. (NRR>0) ) THEN + ZWORK32(:,:,:)*MZF(MXF(ZVOY(:,:,:))) & + ZWORK33(:,:,:)*(MYF(MXF(ZVOZ(:,:,:))) + ZCORIOZ(:,:,:)) ZWORK34(:,:,:)=ZWORK34(:,:,:)*1E6/XRHODREF(:,:,:) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'POVOES', & CSTDNAME = '', & CLONGNAME = 'POVOES', & @@ -2904,7 +2904,7 @@ ENDIF IF (LDIV) THEN ! ZWORK31=GX_U_M(XUT,XDXX,XDZZ,XDZX) + GY_V_M(XVT,XDYY,XDZZ,XDZY) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HDIV', & CSTDNAME = '', & CLONGNAME = 'HDIV', & @@ -2918,7 +2918,7 @@ IF (LDIV) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZWORK31) ! IF (LUSERV) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HMDIV', & CSTDNAME = '', & CLONGNAME = 'HMDIV', & @@ -2954,7 +2954,7 @@ IF (LCLSTR) THEN CALL CLUSTERING(GBOTUP,GCLOUD,XWT,ICLUSTERID,ICLUSTERLV,ZCLDSIZE) PRINT *,'GOT OUT OF CLUSTERING' ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CLUSTERID', & CSTDNAME = '', & CLONGNAME = 'CLUSTERID', & @@ -2967,7 +2967,7 @@ IF (LCLSTR) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ICLUSTERID) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CLUSTERLV', & CSTDNAME = '', & CLONGNAME = 'CLUSTERLV', & @@ -2980,7 +2980,7 @@ IF (LCLSTR) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ICLUSTERLV) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CLDSIZE', & CSTDNAME = '', & CLONGNAME = 'CLDSIZE', & @@ -3034,7 +3034,7 @@ IF (LGEO .OR. LAGEO) THEN DEALLOCATE(ZPHI) ! IF (LGEO) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UM88', & CSTDNAME = '', & CLONGNAME = 'UM88', & @@ -3047,7 +3047,7 @@ IF (LGEO .OR. LAGEO) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK31) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VM88', & CSTDNAME = '', & CLONGNAME = 'VM88', & @@ -3061,7 +3061,7 @@ IF (LGEO .OR. LAGEO) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZWORK32) ! IF (LWIND_ZM) THEN - TZFIELD2(1) = TFIELDDATA( & + TZFIELD2(1) = TFIELDMETADATA( & CMNHNAME = 'UM88_ZM', & CSTDNAME = '', & CLONGNAME = 'UM88_ZM', & @@ -3073,7 +3073,7 @@ IF (LGEO .OR. LAGEO) THEN NDIMS = 3, & LTIMEDEP = .TRUE. ) ! - TZFIELD2(2) = TFIELDDATA( & + TZFIELD2(2) = TFIELDMETADATA( & CMNHNAME = 'VM88_ZM', & CSTDNAME = '', & CLONGNAME = 'VM88_ZM', & @@ -3090,7 +3090,7 @@ IF (LGEO .OR. LAGEO) THEN ! ! wm necessary to plot vertical cross sections of wind vectors CALL FIND_FIELD_ID_FROM_MNHNAME('WT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'WM88' TZFIELD%CLONGNAME = 'WM88' CALL IO_Field_write(TPFILE,TZFIELD,XWT) @@ -3100,7 +3100,7 @@ IF (LGEO .OR. LAGEO) THEN ZWORK31(:,:,:)=XUT(:,:,:)-ZWORK31(:,:,:) ZWORK32(:,:,:)=XVT(:,:,:)-ZWORK32(:,:,:) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UM89', & CSTDNAME = '', & CLONGNAME = 'UM89', & @@ -3113,7 +3113,7 @@ IF (LGEO .OR. LAGEO) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK31) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VM89', & CSTDNAME = '', & CLONGNAME = 'VM89', & @@ -3127,7 +3127,7 @@ IF (LGEO .OR. LAGEO) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZWORK32) ! IF (LWIND_ZM) THEN - TZFIELD2(1) = TFIELDDATA( & + TZFIELD2(1) = TFIELDMETADATA( & CMNHNAME = 'UM89_ZM', & CSTDNAME = '', & CLONGNAME = 'UM89_ZM', & @@ -3139,7 +3139,7 @@ IF (LGEO .OR. LAGEO) THEN NDIMS = 3, & LTIMEDEP = .TRUE. ) ! - TZFIELD2(2) = TFIELDDATA( & + TZFIELD2(2) = TFIELDMETADATA( & CMNHNAME = 'VM89_ZM', & CSTDNAME = '', & CLONGNAME = 'VM89_ZM', & @@ -3156,7 +3156,7 @@ IF (LGEO .OR. LAGEO) THEN ! ! wm necessary to plot vertical cross sections of wind vectors CALL FIND_FIELD_ID_FROM_MNHNAME('WT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CMNHNAME = 'WM89' TZFIELD%CLONGNAME = 'WM89' CALL IO_Field_write(TPFILE,TZFIELD,XWT) @@ -3173,7 +3173,7 @@ IF(LWIND_CONTRAV) THEN!$ CALL CONTRAV ((/"TEST","TEST"/),(/"TEST","TEST"/),XUT,XVT,XWT,XDXX,XDYY,XDZZ,XDZX,XDZY, & ZWORK31,ZWORK32,ZWORK33,2) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'WNORM', & CSTDNAME = '', & CLONGNAME = 'WNORM', & @@ -3207,7 +3207,7 @@ IF (LMSLP) THEN ! sea level pressure (hPa) ZWORK22(:,:) = 1.E-2*ZWORK21(:,:)*EXP(XG*XZS(:,:)/(XRD*ZWORK22(:,:))) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'MSLP', & CSTDNAME = 'air_pressure_at_sea_level', & CLONGNAME = 'MSLP', & @@ -3233,7 +3233,7 @@ IF (LTHW) THEN (XZZ(:,:,JK+1)-XZZ(:,:,JK))/XRHOLW END DO ZWORK21(:,:) = ZWORK21(:,:)*1000. ! vapor water in mm unit - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THVW', & CSTDNAME = '', & CLONGNAME = 'THVW', & @@ -3254,7 +3254,7 @@ IF (LTHW) THEN (XZZ(:,:,JK+1)-XZZ(:,:,JK))/XRHOLW END DO ZWORK21(:,:) = ZWORK21(:,:)*1000. ! cloud water in mm unit - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THCW', & CSTDNAME = '', & CLONGNAME = 'THCW', & @@ -3275,7 +3275,7 @@ IF (LTHW) THEN (XZZ(:,:,JK+1)-XZZ(:,:,JK))/XRHOLW END DO ZWORK21(:,:) = ZWORK21(:,:)*1000. ! rain water in mm unit - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THRW', & CSTDNAME = '', & CLONGNAME = 'THRW', & @@ -3296,7 +3296,7 @@ IF (LTHW) THEN (XZZ(:,:,JK+1)-XZZ(:,:,JK))/XRHOLW END DO ZWORK21(:,:) = ZWORK21(:,:)*1000. ! ice thickness in mm unit - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THIC', & CSTDNAME = '', & CLONGNAME = 'THIC', & @@ -3317,7 +3317,7 @@ IF (LTHW) THEN (XZZ(:,:,JK+1)-XZZ(:,:,JK))/XRHOLW END DO ZWORK21(:,:) = ZWORK21(:,:)*1000. ! snow thickness in mm unit - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THSN', & CSTDNAME = '', & CLONGNAME = 'THSN', & @@ -3338,7 +3338,7 @@ IF (LTHW) THEN (XZZ(:,:,JK+1)-XZZ(:,:,JK))/XRHOLW END DO ZWORK21(:,:) = ZWORK21(:,:)*1000. ! graupel thickness in mm unit - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THGR', & CSTDNAME = '', & CLONGNAME = 'THGR', & @@ -3359,7 +3359,7 @@ IF (LTHW) THEN (XZZ(:,:,JK+1)-XZZ(:,:,JK))/XRHOLW END DO ZWORK21(:,:) = ZWORK21(:,:)*1000. ! hail thickness in mm unit - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THHA', & CSTDNAME = '', & CLONGNAME = 'THHA', & @@ -3401,7 +3401,7 @@ IF (LTOTAL_PR .AND. SIZE (XACPRR)>0 ) THEN END IF IF (LUSERR .OR. CCLOUD(1:3) == 'ICE' .OR. CCLOUD == 'C3R5' .OR. & CCLOUD == 'LIMA' .OR. CDCONV /= 'NONE') THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ACTOPR', & CSTDNAME = '', & CLONGNAME = 'ACTOPR', & @@ -3421,7 +3421,7 @@ IF (LTOTAL_PR .AND. SIZE (XACPRR)>0 ) THEN ! calculation of the mean accumulated precipitations in the mesh-grid of a !large-scale model IF (LMEAN_PR .AND. LUSERR) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CSTDNAME = 'generic LS_ACTOPR', & !Temporary name to ease identification CUNITS = 'mm', & CDIR = 'XY', & @@ -3469,7 +3469,7 @@ IF (LTOTAL_PR .AND. SIZE (XACPRR)>0 ) THEN END IF IF (LUSERR .OR. CCLOUD(1:3) == 'ICE' .OR. CCLOUD == 'C3R5' .OR. & CCLOUD == 'LIMA' .OR. CDCONV /= 'NONE') THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'INTOPR', & CSTDNAME = '', & CLONGNAME = 'INTOPR', & @@ -3491,7 +3491,7 @@ IF (LTOTAL_PR .AND. SIZE (XACPRR)>0 ) THEN IF (LMEAN_PR .AND. LUSERR) THEN CALL COMPUTE_MEAN_PRECIP(ZWORK21,XMEAN_PR,ZWORK22,TZFIELD%NGRID) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'LS_INTOPR', & CSTDNAME = '', & CLONGNAME = 'LS_INTOPR', & @@ -3521,7 +3521,7 @@ IF (NCAPE >=0 .AND. LUSERV) THEN ZWORK32(:,:,IKB:IKE),ZWORK33(:,:,IKB:IKE), & ZWORK34(:,:,IKB:IKE),ZWORK21,ZWORK22 ) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CAPEMAX', & CSTDNAME = '', & CLONGNAME = 'CAPEMAX', & @@ -3534,7 +3534,7 @@ IF (NCAPE >=0 .AND. LUSERV) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK21) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CINMAX', & CSTDNAME = '', & CLONGNAME = 'CINMAX', & @@ -3548,7 +3548,7 @@ IF (NCAPE >=0 .AND. LUSERV) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZWORK22) ! IF (NCAPE >=1) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CAPE3D', & CSTDNAME = 'atmosphere_convective_available_potential_energy', & CLONGNAME = 'CAPE3D', & @@ -3561,7 +3561,7 @@ IF (NCAPE >=0 .AND. LUSERV) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK32) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CIN3D', & CSTDNAME = 'atmosphere_convective_inhibition', & CLONGNAME = 'CIN3D', & @@ -3574,7 +3574,7 @@ IF (NCAPE >=0 .AND. LUSERV) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK33) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'DCAPE3D', & CSTDNAME = '', & CLONGNAME = 'DCAPE3D', & @@ -3593,7 +3593,7 @@ IF (NCAPE >=0 .AND. LUSERV) THEN ZWORK31(:,:,IKU) = 0. ZWORK31=0.5*ZWORK31**2 ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VKE', & CSTDNAME = '', & CLONGNAME = 'VKE', & @@ -3626,7 +3626,7 @@ IF (LBV_FR) THEN ENDDO ENDDO ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'BV', & CSTDNAME = '', & CLONGNAME = 'BV', & @@ -3653,7 +3653,7 @@ IF (LBV_FR) THEN ENDDO ENDDO ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'BVE', & CSTDNAME = '', & CLONGNAME = 'BVE', & @@ -3682,7 +3682,7 @@ IF ( NGPS>=0 ) THEN YFGRI=ADJUSTL(ADJUSTR(TPFILE%CNAME)//'GPS') CALL GPS_ZENITH (YFGRI,XRT(:,:,:,1),ZTEMP,XPABST,ZWORK21,ZWORK22,ZWORK23,ZWORK24) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ZTD', & CSTDNAME = '', & CLONGNAME = 'ZTD', & @@ -3696,7 +3696,7 @@ IF ( NGPS>=0 ) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZWORK22) ! IF (NGPS>=1) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ZHD', & CSTDNAME = '', & CLONGNAME = 'ZHD', & @@ -3709,7 +3709,7 @@ IF ( NGPS>=0 ) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK23) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ZWD', & CSTDNAME = '', & CLONGNAME = 'ZWD', & @@ -3755,7 +3755,7 @@ IF(LRADAR .AND. LUSERR) THEN ZWORK33, ZWORK34 ) ENDIF ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RARE', & CSTDNAME = 'equivalent_reflectivity_factor', & CLONGNAME = 'RARE', & @@ -3768,7 +3768,7 @@ IF(LRADAR .AND. LUSERR) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK31) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VDOP', & CSTDNAME = '', & CLONGNAME = 'VDOP', & @@ -3781,7 +3781,7 @@ IF(LRADAR .AND. LUSERR) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK32) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ZDR', & CSTDNAME = '', & CLONGNAME = 'ZDR', & @@ -3794,7 +3794,7 @@ IF(LRADAR .AND. LUSERR) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK33) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'KDP', & CSTDNAME = '', & CLONGNAME = 'KDP', & @@ -4103,7 +4103,7 @@ IF (LLIDAR) THEN IF( ALLOCATED(ZTMP3) ) DEALLOCATE(ZTMP3) IF( ALLOCATED(ZTMP4) ) DEALLOCATE(ZTMP4) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'LIDAR', & CSTDNAME = '', & CLONGNAME = 'LIDAR', & @@ -4116,7 +4116,7 @@ IF (LLIDAR) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZWORK31) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'LIPAR', & CSTDNAME = '', & CLONGNAME = 'LIPAR', & @@ -4161,7 +4161,7 @@ IF (CBLTOP == 'THETA') THEN ZSHMIX(:,:)=ZSHMIX(:,:)-XZS(:,:) ZSHMIX(:,:)=MAX(ZSHMIX(:,:),50.0) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HBLTOP', & CSTDNAME = 'atmosphere_boundary_layer_thickness', & CLONGNAME = 'HBLTOP', & @@ -4206,7 +4206,7 @@ ELSEIF (CBLTOP == 'RICHA') THEN END DO ZSHMIX(:,:)=ZSHMIX(:,:)-XZS(:,:) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HBLTOP', & CSTDNAME = 'atmosphere_boundary_layer_thickness', & CLONGNAME = 'HBLTOP', & diff --git a/src/MNH/write_lfifm1_for_diag_supp.f90 b/src/MNH/write_lfifm1_for_diag_supp.f90 index 456337d787dc9c02a2201bbe12750c8f5924601f..f24f10f5b41c473331f2e42b791bc0dd73d1d3f2 100644 --- a/src/MNH/write_lfifm1_for_diag_supp.f90 +++ b/src/MNH/write_lfifm1_for_diag_supp.f90 @@ -97,7 +97,7 @@ END MODULE MODI_WRITE_LFIFM1_FOR_DIAG_SUPP ! USE MODE_ll USE MODD_CST -use modd_field, only: NMNHDIM_UNUSED, tfielddata, tfieldlist, TYPEINT, TYPEREAL +use modd_field, only: NMNHDIM_UNUSED, tfieldmetadata, tfieldlist, TYPEINT, TYPEREAL USE MODD_IO, ONLY: TFILEDATA USE MODD_PARAMETERS USE MODD_CONF_n @@ -208,8 +208,8 @@ REAL, DIMENSION(:), ALLOCATABLE :: ZTH REAL,DIMENSION(SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) :: ZPOVO REAL,DIMENSION(SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) :: ZVOX,ZVOY,ZVOZ REAL,DIMENSION(SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) :: ZCORIOZ -TYPE(TFIELDDATA) :: TZFIELD -TYPE(TFIELDDATA),DIMENSION(2) :: TZFIELD2 +TYPE(TFIELDMETADATA) :: TZFIELD +TYPE(TFIELDMETADATA), DIMENSION(2) :: TZFIELD2 ! ! variables needed for altitude interpolation INTEGER :: IAL @@ -256,7 +256,7 @@ IF (NCONV_KF >= 0) THEN IF (NCLTOPCONV(JI,JJ)/=0) ZWORK21(JI,JJ)= XZZ(JI,JJ,NCLTOPCONV(JI,JJ))/1.E3 END DO END DO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CLTOPCONV', & CSTDNAME = 'convective_cloud_top_altitude', & CLONGNAME = 'CLTOPCONV', & @@ -276,7 +276,7 @@ IF (NCONV_KF >= 0) THEN IF (NCLBASCONV(JI,JJ)/=0) ZWORK21(JI,JJ)= XZZ(JI,JJ,NCLBASCONV(JI,JJ))/1.E3 END DO END DO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'CLBASCONV', & CSTDNAME = 'convective_cloud_base_altitude', & CLONGNAME = 'CLBASCONV', & @@ -458,7 +458,7 @@ IF (LCLD_COV .AND. LUSERC) THEN ! 0 if there is no cloud ZWORK21(:,:)=ZWORK21(:,:)/1.E3 ! height (km) of explicit clouds ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HECL', & CSTDNAME = '', & CLONGNAME = 'HECL', & @@ -496,7 +496,7 @@ IF (LCLD_COV .AND. LUSERC) THEN ! 0 if there is no cloud ZWORK21(:,:)=ZWORK21(:,:)/1.E3 ! max. cloud height (km) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'HCL', & CSTDNAME = 'cloud_top_altitude', & CLONGNAME = 'HCL', & @@ -510,7 +510,7 @@ IF (LCLD_COV .AND. LUSERC) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZWORK21) ENDIF ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TCL', & CSTDNAME = 'air_temperature_at_cloud_top', & CLONGNAME = 'TCL', & @@ -532,7 +532,7 @@ IF (LCLD_COV .AND. LUSERC) THEN ZWORK31(:,:,:)=3.9E3/(144.7*(XRHODREF(:,:,:)*1.E3*XRT(:,:,:,2)/(1.+XRT(:,:,:,2)))**0.88) END WHERE ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VISI_HOR', & CSTDNAME = 'visibility_in_air', & CLONGNAME = 'VISI_HOR', & @@ -568,7 +568,7 @@ IF (NRAD_3D >= 0) THEN ! CALL PRINT_MSG(NVERB_INFO,'IO','WRITE_LFIFM1_FOR_DIAG_SUPP','EMIS: writing only first band') CALL FIND_FIELD_ID_FROM_MNHNAME('EMIS',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%NDIMS = 2 TZFIELD%NDIMLIST(3) = TZFIELD%NDIMLIST(4) TZFIELD%NDIMLIST(4) = NMNHDIM_UNUSED @@ -588,7 +588,7 @@ IF (NRAD_3D >= 1) THEN IKRAD = JK - JPVEXT ZWORK31(:,:,JK)= XAER(:,:,IKRAD,3) END DO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'DSTAOD3D', & CSTDNAME = '', & CLONGNAME = 'DSTAOD3D', & @@ -610,7 +610,7 @@ IF (NRAD_3D >= 1) THEN ENDDO ENDDO ENDDO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'DSTAOD2D', & CSTDNAME = '', & CLONGNAME = 'DSTAOD2D', & @@ -627,7 +627,7 @@ IF (NRAD_3D >= 1) THEN IKRAD = JK - JPVEXT ZWORK31(:,:,JK)= XAER(:,:,IKRAD,3)/(XZZ(:,:,JK+1)-XZZ(:,:,JK))*1.D3 ENDDO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'DSTEXT', & CSTDNAME = '', & CLONGNAME = 'DSTEXT', & @@ -647,7 +647,7 @@ IF (NRAD_3D >= 1) THEN IKRAD = JK - JPVEXT ZWORK31(:,:,JK)= XAER(:,:,IKRAD,2) END DO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SLTAOD3D', & CSTDNAME = '', & CLONGNAME = 'SLTAOD3D', & @@ -669,7 +669,7 @@ IF (NRAD_3D >= 1) THEN ENDDO ENDDO ENDDO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SLTAOD2D', & CSTDNAME = '', & CLONGNAME = 'SLTAOD2D', & @@ -686,7 +686,7 @@ IF (NRAD_3D >= 1) THEN IKRAD = JK - JPVEXT ZWORK31(:,:,JK)= XAER(:,:,IKRAD,2)/(XZZ(:,:,JK+1)-XZZ(:,:,JK))*1.D3 ENDDO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SLTEXT', & CSTDNAME = '', & CLONGNAME = 'SLTEXT', & @@ -706,7 +706,7 @@ IF (NRAD_3D >= 1) THEN IKRAD = JK - JPVEXT ZWORK31(:,:,JK)= XAER(:,:,IKRAD,4) END DO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'AERAOD3D', & CSTDNAME = '', & CLONGNAME = 'AERAOD3D', & @@ -728,7 +728,7 @@ IF (NRAD_3D >= 1) THEN ENDDO ENDDO ENDDO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'AERAOD2D', & CSTDNAME = '', & CLONGNAME = 'AERAOD2D', & @@ -745,7 +745,7 @@ IF (NRAD_3D >= 1) THEN IKRAD = JK - JPVEXT ZWORK31(:,:,JK)= XAER(:,:,IKRAD,4)/(XZZ(:,:,JK+1)-XZZ(:,:,JK))*1.D3 ENDDO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'AEREXT', & CSTDNAME = '', & CLONGNAME = 'AEREXT', & @@ -829,7 +829,7 @@ IF (LEN_TRIM(CRAD_SAT) /= 0 .AND. NRR /=0) THEN LSUBG_COND, LRAD_SUBG_COND, ZIRBT, ZWVBT, & INDGEO(JI), VSIGQSAT ) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(YNAM_SAT(JI))//'_IRBT', & CSTDNAME = '', & CLONGNAME = TRIM(YNAM_SAT(JI))//'_IRBT', & @@ -842,7 +842,7 @@ IF (LEN_TRIM(CRAD_SAT) /= 0 .AND. NRR /=0) THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZIRBT) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(YNAM_SAT(JI))//'_WVBT', & CSTDNAME = '', & CLONGNAME = TRIM(YNAM_SAT(JI))//'_WVBT', & @@ -918,7 +918,7 @@ IF (CSURF=='EXTE') THEN ! in this case (argument KGRID=0), input winds are ZONal and MERidian ! and, output ones are in MesoNH grid IF (.NOT. LCARTESIAN) THEN - TZFIELD2(1) = TFIELDDATA( & + TZFIELD2(1) = TFIELDMETADATA( & CMNHNAME = 'UM10', & CSTDNAME = '', & CLONGNAME = 'UM10', & @@ -930,7 +930,7 @@ IF (CSURF=='EXTE') THEN NDIMS = 2, & LTIMEDEP = .TRUE. ) ! - TZFIELD2(2) = TFIELDDATA( & + TZFIELD2(2) = TFIELDMETADATA( & CMNHNAME = 'VM10', & CSTDNAME = '', & CLONGNAME = 'VM10', & @@ -944,7 +944,7 @@ IF (CSURF=='EXTE') THEN ! CALL UV_TO_ZONAL_AND_MERID(XCURRENT_ZON10M,XCURRENT_MER10M,KGRID=0,TPFILE=TPFILE,TZFIELDS=TZFIELD2) ELSE - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UM10', & CSTDNAME = '', & CLONGNAME = 'UM10', & @@ -957,7 +957,7 @@ IF (CSURF=='EXTE') THEN LTIMEDEP = .TRUE. ) CALL IO_Field_write(TPFILE,TZFIELD,XCURRENT_ZON10M) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VM10', & CSTDNAME = '', & CLONGNAME = 'VM10', & @@ -974,7 +974,7 @@ IF (CSURF=='EXTE') THEN IF (SIZE(XTKET)>0) THEN ZWORK21(:,:) = SQRT(XCURRENT_ZON10M(:,:)**2+XCURRENT_MER10M(:,:)**2) ZWORK21(:,:) = ZWORK21(:,:) + 4. * SQRT(XTKET(:,:,IKB)) - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'FF10MAX', & CSTDNAME = '', & CLONGNAME = 'FF10MAX', & @@ -989,7 +989,7 @@ IF (CSURF=='EXTE') THEN END IF ! IF(ANY(XCURRENT_SFCO2/=XUNDEF))THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SFCO2', & CSTDNAME = '', & CLONGNAME = 'SFCO2', & @@ -1004,7 +1004,7 @@ IF (CSURF=='EXTE') THEN END IF ! IF(ANY(XCURRENT_SWD/=XUNDEF))THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SWD', & CSTDNAME = '', & CLONGNAME = 'SWD', & @@ -1019,7 +1019,7 @@ IF (CSURF=='EXTE') THEN END IF ! IF(ANY(XCURRENT_SWU/=XUNDEF))THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SWU', & CSTDNAME = '', & CLONGNAME = 'SWU', & @@ -1034,7 +1034,7 @@ IF (CSURF=='EXTE') THEN END IF ! IF(ANY(XCURRENT_LWD/=XUNDEF))THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'LWD', & CSTDNAME = '', & CLONGNAME = 'LWD', & @@ -1049,7 +1049,7 @@ IF (CSURF=='EXTE') THEN END IF ! IF(ANY(XCURRENT_LWU/=XUNDEF))THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'LWU', & CSTDNAME = '', & CLONGNAME = 'LWU', & @@ -1099,7 +1099,7 @@ ALLOCATE(ZWORK34(IIU,IJU,IKU)) END DO PRINT *,'PRESSURE LEVELS WHERE TO INTERPOLATE=',ZPRES(1,1,:) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA(& CMNHNAME = 'variables at pressure levels', & !Temporary name to ease identification CSTDNAME = '', & CDIR = 'XY', & @@ -1206,7 +1206,7 @@ ALLOCATE(ZWORK34(IIU,IJU,IKU)) PRINT *,'POTENTIAL TEMPERATURE LEVELS WHERE TO INTERPOLATE=',ZTH(:) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA(& CMNHNAME = 'variables at pot. temp. levels', & !Temporary name to ease identification CSTDNAME = '', & CDIR = 'XY', & @@ -1310,7 +1310,7 @@ IF (LISOAL .AND.XISOAL(1)/=0.) THEN ! ********************* ! Altitude ! ********************* - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ALT_ALT', & CSTDNAME = '', & CLONGNAME = 'ALT_ALT', & @@ -1334,7 +1334,7 @@ IF (LISOAL .AND.XISOAL(1)/=0.) THEN ZWORK31(:,:,:) = ZWORK31(:,:,:)*1.E3 CALL ZINTER(ZWORK31, XZZ, ZWAL, ZAL, IIU, IJU, IKU, IKB, IAL, XUNDEF) WHERE(ZWAL.EQ.XUNDEF) ZWAL=ZFILLVAL - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ALT_CLOUD', & CSTDNAME = '', & CLONGNAME = 'ALT_CLOUD', & @@ -1357,7 +1357,7 @@ IF (LISOAL .AND.XISOAL(1)/=0.) THEN ZWORK31(:,:,:) = ZWORK31(:,:,:)*1.E3 CALL ZINTER(ZWORK31, XZZ, ZWAL, ZAL, IIU, IJU, IKU, IKB, IAL, XUNDEF) WHERE(ZWAL.EQ.XUNDEF) ZWAL=ZFILLVAL - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ALT_PRECIP', & CSTDNAME = '', & CLONGNAME = 'ALT_PRECIP', & @@ -1374,7 +1374,7 @@ IF (LISOAL .AND.XISOAL(1)/=0.) THEN ! ********************* CALL ZINTER(XTHT, XZZ, ZWAL, ZAL, IIU, IJU, IKU, IKB, IAL, XUNDEF) WHERE(ZWAL.EQ.XUNDEF) ZWAL=ZFILLVAL - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ALT_THETA', & CSTDNAME = '', & CLONGNAME = 'ALT_THETA', & @@ -1391,7 +1391,7 @@ IF (LISOAL .AND.XISOAL(1)/=0.) THEN ! ********************* CALL ZINTER(XPABST, XZZ, ZWAL, ZAL, IIU, IJU, IKU, IKB, IAL, XUNDEF) WHERE(ZWAL.EQ.XUNDEF) ZWAL=ZFILLVAL - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ALT_PRESSURE', & CSTDNAME = '', & CLONGNAME = 'ALT_PRESSURE', & @@ -1425,7 +1425,7 @@ IF (LISOAL .AND.XISOAL(1)/=0.) THEN ZPOVO(:,:,IKU)=-1.E+11 CALL ZINTER(ZPOVO, XZZ, ZWAL, ZAL, IIU, IJU, IKU, IKB, IAL, XUNDEF) WHERE(ZWAL.EQ.XUNDEF) ZWAL=ZFILLVAL - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ALT_PV', & CSTDNAME = '', & CLONGNAME = 'ALT_PV', & @@ -1443,7 +1443,7 @@ IF (LISOAL .AND.XISOAL(1)/=0.) THEN ZWORK31(:,:,:) = MXF(XUT(:,:,:)) CALL ZINTER(ZWORK31, XZZ, ZWAL, ZAL, IIU, IJU, IKU, IKB, IAL, XUNDEF) WHERE(ZWAL.EQ.XUNDEF) ZWAL=ZFILLVAL - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ALT_U', & CSTDNAME = '', & CLONGNAME = 'ALT_U', & @@ -1459,7 +1459,7 @@ IF (LISOAL .AND.XISOAL(1)/=0.) THEN ZWORK31(:,:,:) = MYF(XVT(:,:,:)) CALL ZINTER(ZWORK31, XZZ, ZWAL, ZAL, IIU, IJU, IKU, IKB, IAL, XUNDEF) WHERE(ZWAL.EQ.XUNDEF) ZWAL=ZFILLVAL - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ALT_V', & CSTDNAME = '', & CLONGNAME = 'ALT_V', & @@ -1481,7 +1481,7 @@ IF (LISOAL .AND.XISOAL(1)/=0.) THEN ENDDO CALL ZINTER(ZWORK31, XZZ, ZWAL, ZAL, IIU, IJU, IKU, IKB, IAL, XUNDEF) WHERE(ZWAL.EQ.XUNDEF) ZWAL=ZFILLVAL - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ALT_DSTEXT', & CSTDNAME = '', & CLONGNAME = 'ALT_DSTEXT', & @@ -1524,7 +1524,7 @@ IF (LCOARSE) THEN CALL BLOCKAVG(XTKET,IDX,IDX,ZWORK31) ZWORK31=0.5*( ZUU_AVG+ZVV_AVG+ZWW_AVG ) + ZWORK31 WRITE (YDX,FMT='(I3.3)') IDX - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TKEBAVG'//YDX, & CSTDNAME = '', & CLONGNAME = 'TKEBAVG'//YDX, & @@ -1555,7 +1555,7 @@ IF (LCOARSE) THEN CALL MOVINGAVG(XTKET,IDX,IDX,ZWORK31) ZWORK31=0.5*( ZUU_AVG+ZVV_AVG+ZWW_AVG ) + ZWORK31 WRITE (YDX,FMT='(I3.3)') 2*IDX+1 - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TKEMAVG'//YDX, & CSTDNAME = '', & CLONGNAME = 'TKEMAVG'//YDX, & diff --git a/src/MNH/write_lfin.f90 b/src/MNH/write_lfin.f90 index 4e80261f8e36b3fb6bc4d28841fbef411c1584ca..6b1823d8c1db42bcae9b04371e35a3811c66edee 100644 --- a/src/MNH/write_lfin.f90 +++ b/src/MNH/write_lfin.f90 @@ -188,7 +188,7 @@ END MODULE MODI_WRITE_LFIFM_n USE MODD_DIM_n USE MODD_CONF USE MODD_CONF_n -use modd_field, only: NMNHDIM_UNUSED, tfielddata, tfieldlist, TYPEDATE, TYPEINT, TYPELOG, TYPEREAL +use modd_field, only: NMNHDIM_UNUSED, tfieldmetadata, tfieldlist, TYPEDATE, TYPEINT, TYPELOG, TYPEREAL USE MODD_GRID USE MODD_GRID_n USE MODD_TIME @@ -332,9 +332,9 @@ INTEGER :: IKRAD INTEGER :: JI,JJ,JK ! loop index INTEGER :: IIU,IJU,IKU,IIB,IJB,IKB,IIE,IJE,IKE ! Arrays bounds ! -CHARACTER(LEN=2) :: INDICE -INTEGER :: IID -TYPE(TFIELDDATA) :: TZFIELD +CHARACTER(LEN=2) :: INDICE +INTEGER :: IID +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! !* 0. Initialization @@ -445,7 +445,7 @@ CALL IO_Field_write(TPFILE,'SURF', CSURF) CALL IO_Field_write(TPFILE,'CPL_AROME',LCPL_AROME) CALL IO_Field_write(TPFILE,'COUPLING', LCOUPLING) ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RECYCLING', & CLONGNAME = 'RECYCLING', & CSTDNAME = '', & @@ -493,7 +493,7 @@ END IF ! IF (LIBM .OR. LIBM_LSF) THEN ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'LSFP', & CLONGNAME = 'LSFP', & CSTDNAME = '', & @@ -511,7 +511,7 @@ ENDIF ! IF (LRECYCL) THEN ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RCOUNT', & CLONGNAME = 'RCOUNT', & CSTDNAME = '', & @@ -525,7 +525,7 @@ IF (LRECYCL) THEN CALL IO_Field_write(TPFILE,TZFIELD,NR_COUNT) ! IF (LRECYCLW) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'URECYCLW', & CLONGNAME = 'URECYCLW', & CSTDNAME = '', & @@ -539,7 +539,7 @@ IF (LRECYCL) THEN ! CALL IO_Field_write(TPFILE,TZFIELD,XUMEANW(:,:,:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VRECYCLW', & CLONGNAME = 'VRECYCLW', & CSTDNAME = '', & @@ -553,7 +553,7 @@ IF (LRECYCL) THEN ! CALL IO_Field_write(TPFILE,TZFIELD,XVMEANW(:,:,:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'WRECYCLW', & CLONGNAME = 'WRECYCLW', & CSTDNAME = '', & @@ -569,7 +569,7 @@ IF (LRECYCL) THEN ! ENDIF IF (LRECYCLN) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'URECYCLN', & CLONGNAME = 'URECYCLN', & CSTDNAME = '', & @@ -583,7 +583,7 @@ IF (LRECYCL) THEN ! CALL IO_Field_write(TPFILE,TZFIELD,XUMEANN(:,:,:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VRECYCLN', & CLONGNAME = 'VRECYCLN', & CSTDNAME = '', & @@ -597,7 +597,7 @@ IF (LRECYCL) THEN ! CALL IO_Field_write(TPFILE,TZFIELD,XVMEANN(:,:,:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'WRECYCLN', & CLONGNAME = 'WRECYCLN', & CSTDNAME = '', & @@ -613,7 +613,7 @@ IF (LRECYCL) THEN ! ENDIF IF (LRECYCLE) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'URECYCLE', & CLONGNAME = 'URECYCLE', & CSTDNAME = '', & @@ -627,7 +627,7 @@ IF (LRECYCL) THEN ! CALL IO_Field_write(TPFILE,TZFIELD,XUMEANE(:,:,:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VRECYCLE', & CLONGNAME = 'VRECYCLE', & CSTDNAME = '', & @@ -641,7 +641,7 @@ IF (LRECYCL) THEN ! CALL IO_Field_write(TPFILE,TZFIELD,XVMEANE(:,:,:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'WRECYCLE', & CLONGNAME = 'WRECYCLE', & CSTDNAME = '', & @@ -657,7 +657,7 @@ IF (LRECYCL) THEN ! ENDIF IF (LRECYCLS) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'URECYCLS', & CLONGNAME = 'URECYCLS', & CSTDNAME = '', & @@ -671,7 +671,7 @@ IF (LRECYCL) THEN ! CALL IO_Field_write(TPFILE,TZFIELD,XUMEANS(:,:,:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VRECYCLS', & CLONGNAME = 'VRECYCLS', & CSTDNAME = '', & @@ -685,7 +685,7 @@ IF (LRECYCL) THEN ! CALL IO_Field_write(TPFILE,TZFIELD,XVMEANS(:,:,:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'WRECYCLS', & CLONGNAME = 'WRECYCLS', & CSTDNAME = '', & @@ -702,7 +702,7 @@ ENDIF ! IF (MEAN_COUNT /= 0) THEN ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for mean_count variables', & !Temporary name to ease identification CSTDNAME = '', & CDIR = 'XY', & @@ -1044,7 +1044,7 @@ IF (NSV >=1) THEN ! ZWORK2D(:,:) = XRHOLW*XINPRR(:,:)*XSVT(:,:,2,NSV_LIMA_SCAVMASS)/ & max( 1.e-20,XRT(:,:,2,3) ) !~2=at ground level - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'INPBP', & CSTDNAME = '', & CLONGNAME = 'INPBP', & @@ -1093,7 +1093,7 @@ IF (NSV >=1) THEN CALL IO_Field_write(TPFILE,'EFIELDV',XEFIELDV) CALL IO_Field_write(TPFILE,'EFIELDW',XEFIELDW) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'EMODULE', & CSTDNAME = '', & CLONGNAME = 'EMODULE', & @@ -1108,22 +1108,22 @@ IF (NSV >=1) THEN CALL IO_Field_write(TPFILE,TZFIELD,ZWORK3D) ! CALL FIND_FIELD_ID_FROM_MNHNAME('NI_IAGGS',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'pC m-3 s-1' CALL IO_Field_write(TPFILE,TZFIELD,XNI_IAGGS*1.E12) ! CALL FIND_FIELD_ID_FROM_MNHNAME('NI_IDRYG',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'pC m-3 s-1' CALL IO_Field_write(TPFILE,TZFIELD,XNI_IDRYG*1.E12) ! CALL FIND_FIELD_ID_FROM_MNHNAME('NI_SDRYG',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'pC m-3 s-1' CALL IO_Field_write(TPFILE,TZFIELD,XNI_SDRYG*1.E12) ! CALL FIND_FIELD_ID_FROM_MNHNAME('INDUC_CG',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'pC m-3 s-1' CALL IO_Field_write(TPFILE,TZFIELD,XIND_RATE*1.E12) ! @@ -1507,7 +1507,7 @@ IF (NSV >=1) THEN DO JSV=1,ICH_NBR WRITE(ILUOUT,*)JSV,TRIM(YCHNAMES(JSV)) END DO - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'NSV.DIM', & CSTDNAME = '', & CLONGNAME = 'NSV.DIM', & @@ -1521,7 +1521,7 @@ IF (NSV >=1) THEN CALL IO_Field_write(TPFILE,TZFIELD,ICH_NBR) ! IF (ICH_NBR/=0) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'NSV.TITRE', & CSTDNAME = '', & CLONGNAME = 'NSV.TITRE', & @@ -1632,7 +1632,7 @@ END IF ! IF (NSV >=1) THEN ! DO JSV = NSV_C2R2BEG,NSV_C2R2END ! IF (JSV == NSV_C2R2BEG ) THEN -! TZFIELD = TFIELDDATA( & +! TZFIELD = TFIELDMETADATA( & ! CMNHNAME = 'RSVS_CLD1', & ! CSTDNAME = '', & ! CLONGNAME = 'RSVS_CLD1', & @@ -1646,7 +1646,7 @@ END IF ! CALL IO_Field_write(TPFILE,TZFIELD,XRRS_CLD(:,:,:,IRR)) ! END IF ! IF (JSV == NSV_C2R2END ) THEN -! TZFIELD = TFIELDDATA( & +! TZFIELD = TFIELDMETADATA( & ! CMNHNAME = 'RSVS_CLD2', & ! CSTDNAME = '', & ! CLONGNAME = 'RSVS_CLD2', & @@ -1683,7 +1683,7 @@ IF (CRAD /= 'NONE') THEN ! CALL PRINT_MSG(NVERB_INFO,'IO','WRITE_LFIFM_n','EMIS: writing only first band') CALL FIND_FIELD_ID_FROM_MNHNAME('EMIS',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%NDIMS = 2 TZFIELD%NDIMLIST(3) = TZFIELD%NDIMLIST(4) TZFIELD%NDIMLIST(4) = NMNHDIM_UNUSED @@ -1713,17 +1713,17 @@ IF (CDCONV /= 'NONE' .OR. CSCONV == 'KAFR') THEN CALL IO_Field_write(TPFILE,'DRICONV', XDRICONV) ! CALL FIND_FIELD_ID_FROM_MNHNAME('PRCONV',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XPRCONV*3.6E6) ! CALL FIND_FIELD_ID_FROM_MNHNAME('PACCONV',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XPACCONV*1.0E3) ! CALL FIND_FIELD_ID_FROM_MNHNAME('PRSCONV',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XPRSCONV*3.6E6) ! @@ -1838,12 +1838,12 @@ IF (CPROGRAM /= 'IDEAL') THEN IF (ASSOCIATED(XINPRC)) THEN IF (SIZE(XINPRC) /= 0 ) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('INPRC',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XINPRC*3.6E6) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRC',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XACPRC*1.0E3) ! @@ -1853,12 +1853,12 @@ IF (CPROGRAM /= 'IDEAL') THEN IF (ASSOCIATED(XINDEP)) THEN IF (SIZE(XINDEP) /= 0 ) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('INDEP',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XINDEP*3.6E6) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACDEP',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XACDEP*1.0E3) ! @@ -1868,7 +1868,7 @@ IF (CPROGRAM /= 'IDEAL') THEN IF (ASSOCIATED(XINPRR)) THEN IF (SIZE(XINPRR) /= 0 ) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('INPRR',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XINPRR*3.6E6) ! @@ -1876,7 +1876,7 @@ IF (CPROGRAM /= 'IDEAL') THEN CALL IO_Field_write(TPFILE,'EVAP3D', XEVAP3D) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRR',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XACPRR*1.0E3) ! @@ -1886,12 +1886,12 @@ IF (CPROGRAM /= 'IDEAL') THEN IF (ASSOCIATED(XINPRS)) THEN IF (SIZE(XINPRS) /= 0 ) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('INPRS',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XINPRS*3.6E6) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRS',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XACPRS*1.0E3) END IF @@ -1900,12 +1900,12 @@ IF (CPROGRAM /= 'IDEAL') THEN IF (ASSOCIATED(XINPRG)) THEN IF (SIZE(XINPRG) /= 0 ) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('INPRG',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XINPRG*3.6E6) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRG',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XACPRG*1.0E3) END IF @@ -1914,12 +1914,12 @@ IF (CPROGRAM /= 'IDEAL') THEN IF (ASSOCIATED(XINPRH)) THEN IF (SIZE(XINPRH) /= 0 ) THEN CALL FIND_FIELD_ID_FROM_MNHNAME('INPRH',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,XINPRH*3.6E6) ! CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRH',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,XACPRH*1.0E3) ENDIF @@ -1932,7 +1932,7 @@ IF (CPROGRAM /= 'IDEAL') THEN IF (SIZE(XINPRH) /= 0 ) ZWORK2D = ZWORK2D + XINPRH IF (SIZE(XINPRC) /= 0 ) ZWORK2D = ZWORK2D + XINPRC CALL FIND_FIELD_ID_FROM_MNHNAME('INPRT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm hour-1' CALL IO_Field_write(TPFILE,TZFIELD,ZWORK2D*3.6E6) ! @@ -1941,7 +1941,7 @@ IF (CPROGRAM /= 'IDEAL') THEN IF (SIZE(XINPRH) /= 0 ) ZWORK2D = ZWORK2D + XACPRH IF (SIZE(XINPRC) /= 0 ) ZWORK2D = ZWORK2D + XACPRC CALL FIND_FIELD_ID_FROM_MNHNAME('ACPRT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CUNITS = 'mm' CALL IO_Field_write(TPFILE,TZFIELD,ZWORK2D*1.0E3) END IF @@ -1952,7 +1952,7 @@ END IF IF(LBLOWSNOW) THEN IF (ASSOCIATED(XSNWSUBL3D)) THEN IF (SIZE(XSNWSUBL3D) /= 0 ) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SNWSUBL3D', & CSTDNAME = '', & CLONGNAME = 'SNWSUBL3D', & @@ -1971,7 +1971,7 @@ IF(LBLOWSNOW) THEN END DO ZWORK2D(:,:) = ZWORK2D(:,:)*1000. ! vapor water in mm unit ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'COL_SNWSUBL', & CSTDNAME = '', & CLONGNAME = 'COL_SNWSUBL', & @@ -1993,7 +1993,7 @@ IF ((.NOT.LCOUPLES).AND.LOCEAN) THEN CALL IO_Field_write(TPFILE,'NFRCLT',NFRCLT) CALL IO_Field_write(TPFILE,'NINFRT',NINFRT) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SSUFL_T', & CSTDNAME = '', & CLONGNAME = 'SSUFL', & @@ -2006,7 +2006,7 @@ IF ((.NOT.LCOUPLES).AND.LOCEAN) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XSSUFL_T(:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SSVFL_T', & CSTDNAME = '', & CLONGNAME = 'SSVFL', & @@ -2019,7 +2019,7 @@ IF ((.NOT.LCOUPLES).AND.LOCEAN) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XSSVFL_T(:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SSTFL_T', & CSTDNAME = '', & CLONGNAME = 'SSTFL', & @@ -2032,7 +2032,7 @@ IF ((.NOT.LCOUPLES).AND.LOCEAN) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XSSTFL_T(:)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'SSOLA_T', & CSTDNAME = '', & CLONGNAME = 'SSOLA', & @@ -2057,7 +2057,7 @@ IF (LFORCING) THEN ! WRITE (YFRC,'(I3.3)') JT ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'DTFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'DTFRC'//YFRC, & @@ -2070,7 +2070,7 @@ IF (LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,TDTFRC(JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'UFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'UFRC'//YFRC, & @@ -2083,7 +2083,7 @@ IF (LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XUFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'VFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'VFRC'//YFRC, & @@ -2096,7 +2096,7 @@ IF (LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XVFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'WFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'WFRC'//YFRC, & @@ -2109,7 +2109,7 @@ IF (LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XWFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'THFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'THFRC'//YFRC, & @@ -2122,7 +2122,7 @@ IF (LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XTHFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'RVFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'RVFRC'//YFRC, & @@ -2135,7 +2135,7 @@ IF (LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XRVFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TENDTHFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'TENDTHFRC'//YFRC, & @@ -2148,7 +2148,7 @@ IF (LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XTENDTHFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TENDRVFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'TENDRVFRC'//YFRC, & @@ -2161,7 +2161,7 @@ IF (LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XTENDRVFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'GXTHFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'GXTHFRC'//YFRC, & @@ -2174,7 +2174,7 @@ IF (LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XGXTHFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'GYTHFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'GYTHFRC'//YFRC, & @@ -2187,7 +2187,7 @@ IF (LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XGYTHFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'PGROUNDFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'PGROUNDFRC'//YFRC, & @@ -2200,7 +2200,7 @@ IF (LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XPGROUNDFRC(JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TENDUFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'TENDUFRC'//YFRC, & @@ -2213,7 +2213,7 @@ IF (LFORCING) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XTENDUFRC(:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TENDVFRC'//YFRC, & CSTDNAME = '', & CLONGNAME = 'TENDVFRC'//YFRC, & @@ -2234,7 +2234,7 @@ END IF ! ------------------------------------------------------------------------- IF ( L2D_ADV_FRC ) THEN ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'NADVFRC1', & CSTDNAME = '', & CLONGNAME = 'NADVFRC1', & @@ -2251,7 +2251,7 @@ IF ( L2D_ADV_FRC ) THEN ! WRITE (YFRC,'(I3.3)') JT ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'DTADV'//YFRC, & CSTDNAME = '', & CLONGNAME = 'DTADV'//YFRC, & @@ -2264,7 +2264,7 @@ IF ( L2D_ADV_FRC ) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,TDTADVFRC(JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TH_ADV'//YFRC, & CSTDNAME = '', & CLONGNAME = 'TH_ADV'//YFRC, & @@ -2277,7 +2277,7 @@ IF ( L2D_ADV_FRC ) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XDTHFRC(:,:,:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'Q_ADV'//YFRC, & CSTDNAME = '', & CLONGNAME = 'Q_ADV'//YFRC, & @@ -2295,7 +2295,7 @@ ENDIF ! IF ( L2D_REL_FRC ) THEN ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'NRELFRC1', & CSTDNAME = '', & CLONGNAME = 'NRELFRC1', & @@ -2312,7 +2312,7 @@ IF ( L2D_REL_FRC ) THEN ! WRITE (YFRC,'(I3.3)') JT ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'DTREL'//YFRC, & CSTDNAME = '', & CLONGNAME = 'DTREL'//YFRC, & @@ -2325,7 +2325,7 @@ IF ( L2D_REL_FRC ) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,TDTRELFRC(JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'TH_REL'//YFRC, & CSTDNAME = '', & CLONGNAME = 'TH_REL'//YFRC, & @@ -2338,7 +2338,7 @@ IF ( L2D_REL_FRC ) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,XTHREL(:,:,:,JT)) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'Q_REL'//YFRC, & CSTDNAME = '', & CLONGNAME = 'Q_REL'//YFRC, & @@ -2417,7 +2417,7 @@ IF ( CPROGRAM=='REAL ' ) THEN !* 1.16 Dummy variables in PREP_REAL_CASE ! IF (ALLOCATED(CDUMMY_2D)) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for CDUMMY_2D variables', & !Temporary name to ease identification CSTDNAME = '', & CUNITS = '', & @@ -2442,7 +2442,7 @@ END IF ! i) Main ! IF (LMAIN_EOL .AND. IMI == NMODEL_EOL) THEN - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for wind turbine variables', & !Temporary name to ease identification CSTDNAME = '', & CUNITS = 'N', & @@ -2489,7 +2489,7 @@ SELECT CASE(CMETH_EOL) ! CASE('ADNR') ! Actuator Disc Non-Rotating ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for ADNR variables', & !Temporary name to ease identification CSTDNAME = '', & CUNITS = '1', & @@ -2529,7 +2529,7 @@ SELECT CASE(CMETH_EOL) ! CASE('ALM') ! Actuator Line Method ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for ALM variables', & !Temporary name to ease identification CSTDNAME = '', & CDIR = '--', & @@ -2599,7 +2599,7 @@ SELECT CASE(CMETH_EOL) ! IF (MEAN_COUNT /= 0) THEN ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for ALM mean variables', & !Temporary name to ease identification CSTDNAME = '', & CDIR = '--', & diff --git a/src/MNH/write_surf_mnh.f90 b/src/MNH/write_surf_mnh.f90 index 21ac274afdbbd60c631f68f70466281fd8b6c5d9..5ede529c594b532b286d72ec910a020335333bbe 100644 --- a/src/MNH/write_surf_mnh.f90 +++ b/src/MNH/write_surf_mnh.f90 @@ -11,7 +11,7 @@ CONTAINS SUBROUTINE PREPARE_METADATA_WRITE_SURF(HREC,HDIR,HCOMMENT,KGRID,KTYPE,KDIMS,HSUBR,TPFIELD) ! -use modd_field, only: tfielddata, tfieldlist +use modd_field, only: tfieldmetadata, tfieldlist use mode_field, only: Find_field_id_from_mnhname USE MODE_MSG @@ -23,7 +23,7 @@ INTEGER, INTENT(IN) :: KGRID ! Localization on the model grid INTEGER, INTENT(IN) :: KTYPE ! Datatype INTEGER, INTENT(IN) :: KDIMS ! Number of dimensions CHARACTER(LEN=*), INTENT(IN) :: HSUBR ! name of the subroutine calling -TYPE(TFIELDDATA), INTENT(OUT) :: TPFIELD ! metadata of field +TYPE(TFIELDMETADATA), INTENT(OUT) :: TPFIELD ! metadata of field ! CHARACTER(LEN=32) :: YTXT INTEGER :: IDX,IID, IRESP @@ -99,7 +99,7 @@ IF (IRESP==0) THEN END IF ELSE CALL PRINT_MSG(NVERB_DEBUG,'IO',TRIM(HSUBR),TRIM(HREC)//' not found in FIELDLIST. Generating default metadata') - TPFIELD = TFIELDDATA( & + TPFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(HREC), & CSTDNAME = '', & CLONGNAME = TRIM(HREC), & @@ -175,7 +175,7 @@ END MODULE MODE_WRITE_SURF_MNH_TOOLS ! USE MODD_CONF, ONLY: CPROGRAM USE MODD_CONF_n, ONLY: CSTORAGE_TYPE -use modd_field, only: tfielddata,TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_GRID USE MODD_IO, ONLY: TFILE_SURFEX @@ -194,9 +194,9 @@ CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! Comment string ! !* 0.2 Declarations of local variables ! -CHARACTER(LEN=5) :: YMSG -INTEGER :: IID, IRESP -TYPE(TFIELDDATA) :: TZFIELD +CHARACTER(LEN=5) :: YMSG +INTEGER :: IID, IRESP +TYPE(TFIELDMETADATA) :: TZFIELD ! !------------------------------------------------------------------------------- ! @@ -285,7 +285,7 @@ END SUBROUTINE WRITE_SURFX0_MNH ! ------------ ! USE MODD_CONF_n, ONLY: CSTORAGE_TYPE -use modd_field, only: tfielddata, tfieldlist, TYPEREAL +use modd_field, only: tfieldmetadata, tfieldlist, TYPEREAL USE MODD_GRID_n, ONLY: XXHAT, XYHAT USE MODD_IO, ONLY: TFILE_SURFEX USE MODD_IO_SURF_MNH, ONLY :NMASK, CMASK, & @@ -334,8 +334,8 @@ INTEGER :: IIU, IJU, IIB, IJB, IIE, IJE ! dimensions of horizontal fie INTEGER, DIMENSION(:), ALLOCATABLE :: IMASK ! mask for unpacking REAL :: ZUNDEF ! undefined value in SURFEX ! -CHARACTER(LEN=5) :: YMSG -TYPE(TFIELDDATA) :: TZFIELD +CHARACTER(LEN=5) :: YMSG +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','WRITE_SURFX1_MNH',TRIM(TFILE_SURFEX%CNAME)//': writing '//TRIM(HREC)) @@ -437,7 +437,7 @@ IF ( (CSTORAGE_TYPE=='PG' .OR. CSTORAGE_TYPE=='SU') & ! IF (HDIR=='A') THEN CALL FIND_FIELD_ID_FROM_MNHNAME('XHAT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CDIR = '--' CALL IO_Field_write(TFILE_SURFEX,TZFIELD,ZW1D(:),KRESP) END IF @@ -468,7 +468,7 @@ ELSE IF ( (CSTORAGE_TYPE=='PG' .OR. CSTORAGE_TYPE=='SU') & END IF IF (HDIR=='A') THEN CALL FIND_FIELD_ID_FROM_MNHNAME('YHAT',IID,IRESP) - TZFIELD = TFIELDLIST(IID) + TZFIELD = TFIELDMETADATA( TFIELDLIST(IID) ) TZFIELD%CDIR = '--' CALL IO_Field_write(TFILE_SURFEX,TZFIELD,ZW1D(:),KRESP) END IF @@ -549,7 +549,7 @@ END SUBROUTINE WRITE_SURFX1_MNH ! ------------ ! USE MODD_CONF_n, ONLY: CSTORAGE_TYPE -use modd_field, only: tfielddata, TYPELOG, TYPEREAL +use modd_field, only: tfieldmetadata, TYPELOG, TYPEREAL USE MODD_DATA_COVER_PAR, ONLY: JPCOVER USE MODD_IO, ONLY: TFILE_SURFEX USE MODD_IO_SURF_MNH, ONLY: NMASK, CMASK, & @@ -603,8 +603,8 @@ REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZWORK3D !JUANZ LOGICAL :: GCOVER_PACKED ! .T. if cover fields are all packed together ! -CHARACTER(LEN=5) :: YMSG -TYPE(TFIELDDATA) :: TZFIELD +CHARACTER(LEN=5) :: YMSG +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','WRITE_SURFX2COV_MNH',TRIM(TFILE_SURFEX%CNAME)//': writing '//TRIM(HREC)) @@ -641,7 +641,7 @@ END IF !GCOVER_PACKED = ( NB_PROCIO_W /= 1 ) GCOVER_PACKED = .FALSE. ! -TZFIELD = TFIELDDATA( & +TZFIELD = TFIELDMETADATA( & CMNHNAME = 'COVER_PACKED', & CSTDNAME = '', & CLONGNAME = 'COVER_PACKED', & @@ -672,7 +672,7 @@ END DO ! IF (.NOT. GCOVER_PACKED) THEN ICOVER=0 - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'generic for COVER variables', & !Temporary name to ease identification CSTDNAME = '', & CUNITS = '', & @@ -754,7 +754,7 @@ END SUBROUTINE WRITE_SURFX2COV_MNH ! USE MODD_CONF_n, ONLY: CSTORAGE_TYPE USE MODD_DATA_COVER_PAR, ONLY: JPCOVER -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY: TFILE_SURFEX USE MODD_IO_SURF_MNH, ONLY: NMASK, CMASK, & NIU, NJU, NIB, NJB, NIE, NJE, & @@ -797,8 +797,8 @@ INTEGER :: IIU, IJU, IIB, IJB, IIE, IJE ! dimensions of horizontal fie INTEGER, DIMENSION(:), ALLOCATABLE :: IMASK ! mask for unpacking REAL :: ZUNDEF ! undefined value in SURFEX ! -CHARACTER(LEN=5) :: YMSG -TYPE(TFIELDDATA) :: TZFIELD +CHARACTER(LEN=5) :: YMSG +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','WRITE_SURFX2_MNH',TRIM(TFILE_SURFEX%CNAME)//': writing '//TRIM(HREC)) @@ -904,7 +904,7 @@ END SUBROUTINE WRITE_SURFX2_MNH ! ------------ ! USE MODD_CONF_n, ONLY: CSTORAGE_TYPE -use modd_field, only: tfielddata, TYPEINT +use modd_field, only: tfieldmetadata, TYPEINT USE MODD_IO, ONLY: TFILE_SURFEX USE MODD_IO_SURF_MNH, ONLY: NIU_ALL, NJU_ALL USE MODD_PARAMETERS, ONLY: JPHEXT @@ -924,9 +924,9 @@ CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! Comment string ! !* 0.2 Declarations of local variables ! -INTEGER :: IFIELD -TYPE(TFIELDDATA) :: TZFIELD -CHARACTER(LEN=5) :: YMSG +INTEGER :: IFIELD +TYPE(TFIELDMETADATA) :: TZFIELD +CHARACTER(LEN=5) :: YMSG !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','WRITE_SURFN0_MNH',TRIM(TFILE_SURFEX%CNAME)//': writing '//TRIM(HREC)) @@ -998,7 +998,7 @@ END SUBROUTINE WRITE_SURFN0_MNH !* 0. DECLARATIONS ! ------------ ! -use modd_field, only: tfielddata, TYPEINT +use modd_field, only: tfieldmetadata, TYPEINT USE MODD_IO, ONLY: TFILE_SURFEX USE MODD_IO_SURF_MNH, ONLY: NMASK, CMASK, & NIU, NJU, NIB, NJB, NIE, NJE @@ -1028,8 +1028,8 @@ CHARACTER(LEN=1), INTENT(IN) :: HDIR ! type of field : ! INTEGER, DIMENSION(:,:), ALLOCATABLE :: IWORK ! work array written in the file ! -CHARACTER(LEN=5) :: YMSG -TYPE(TFIELDDATA) :: TZFIELD +CHARACTER(LEN=5) :: YMSG +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','WRITE_SURFN1_MNH',TRIM(TFILE_SURFEX%CNAME)//': writing '//TRIM(HREC)) @@ -1102,7 +1102,7 @@ END SUBROUTINE WRITE_SURFN1_MNH ! ------------ ! USE MODD_CONF_n, ONLY: CSTORAGE_TYPE -use modd_field, only: tfielddata, TYPECHAR, TYPELOG +use modd_field, only: tfieldmetadata, TYPECHAR, TYPELOG USE MODD_IO, ONLY: TFILE_SURFEX USE MODD_IO_SURF_MNH, ONLY: NIU_ALL, NJU_ALL @@ -1121,9 +1121,9 @@ CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! Comment string ! !* 0.2 Declarations of local variables ! -LOGICAL :: GCARTESIAN -TYPE(TFIELDDATA) :: TZFIELD -CHARACTER(LEN=5) :: YMSG +LOGICAL :: GCARTESIAN +TYPE(TFIELDMETADATA) :: TZFIELD +CHARACTER(LEN=5) :: YMSG !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','WRITE_SURFC0_MNH',TRIM(TFILE_SURFEX%CNAME)//': writing '//TRIM(HREC)) @@ -1198,7 +1198,7 @@ END SUBROUTINE WRITE_SURFC0_MNH ! ------------ ! USE MODD_CONF_n, ONLY: CSTORAGE_TYPE -use modd_field, only: tfielddata, TYPEINT, TYPELOG +use modd_field, only: tfieldmetadata, TYPEINT, TYPELOG USE MODD_IO, ONLY: TFILE_SURFEX USE MODD_IO_SURF_MNH, ONLY: NMASK, CMASK, & NIU, NJU, NIB, NJB, NIE, NJE @@ -1228,8 +1228,8 @@ CHARACTER(LEN=1), INTENT(IN) :: HDIR ! type of field : LOGICAL, DIMENSION(:,:), ALLOCATABLE :: GWORK ! work array written in the file INTEGER, DIMENSION(:,:), ALLOCATABLE :: IWORK ! work array written in the file ! -CHARACTER(LEN=5) :: YMSG -TYPE(TFIELDDATA) :: TZFIELD +CHARACTER(LEN=5) :: YMSG +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','WRITE_SURFL1_MNH',TRIM(TFILE_SURFEX%CNAME)//': writing '//TRIM(HREC)) @@ -1313,7 +1313,7 @@ END SUBROUTINE WRITE_SURFL1_MNH ! ------------ ! USE MODD_CONF_n, ONLY: CSTORAGE_TYPE -use modd_field, only: tfielddata, TYPELOG +use modd_field, only: tfieldmetadata, TYPELOG USE MODD_IO, ONLY: TFILE_SURFEX USE MODD_IO_SURF_MNH, ONLY: CMASK @@ -1332,8 +1332,8 @@ CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! Comment string ! !* 0.2 Declarations of local variables ! -CHARACTER(LEN=5) :: YMSG -TYPE(TFIELDDATA) :: TZFIELD +CHARACTER(LEN=5) :: YMSG +TYPE(TFIELDMETADATA) :: TZFIELD ! CALL PRINT_MSG(NVERB_DEBUG,'IO','WRITE_SURFL0_MNH',TRIM(TFILE_SURFEX%CNAME)//': writing '//TRIM(HREC)) ! @@ -1396,7 +1396,7 @@ END SUBROUTINE WRITE_SURFL0_MNH ! ------------ ! USE MODD_CONF_n, ONLY: CSTORAGE_TYPE -use modd_field, only: tfielddata, TYPEDATE +use modd_field, only: tfieldmetadata, TYPEDATE USE MODD_IO, ONLY: TFILE_SURFEX USE MODD_TYPE_DATE @@ -1420,11 +1420,11 @@ CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! Comment string !* 0.2 Declarations of local variables ! ! -CHARACTER(LEN=LEN_HREC) :: YRECFM ! Name of the article to be written -INTEGER, DIMENSION(3) :: ITDATE -CHARACTER(LEN=5) :: YMSG -TYPE (DATE_TIME) :: TZDATA -TYPE(TFIELDDATA) :: TZFIELD +CHARACTER(LEN=LEN_HREC) :: YRECFM ! Name of the article to be written +INTEGER, DIMENSION(3) :: ITDATE +CHARACTER(LEN=5) :: YMSG +TYPE (DATE_TIME) :: TZDATA +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','WRITE_SURFT0_MNH',TRIM(TFILE_SURFEX%CNAME)//': writing '//TRIM(HREC)) @@ -1490,7 +1490,7 @@ END SUBROUTINE WRITE_SURFT0_MNH !* 0. DECLARATIONS ! ------------ ! -use modd_field, only: tfielddata, TYPEINT, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEINT, TYPEREAL USE MODD_IO, ONLY: TFILE_SURFEX USE MODD_CONF_n, ONLY: CSTORAGE_TYPE @@ -1514,9 +1514,9 @@ CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! Comment string !* 0.2 Declarations of local variables ! ! -INTEGER, DIMENSION(3,KL1) :: ITDATE -CHARACTER(LEN=5) :: YMSG -TYPE(TFIELDDATA) :: TZFIELD +CHARACTER(LEN=5) :: YMSG +INTEGER, DIMENSION(3,KL1) :: ITDATE +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! CALL PRINT_MSG(NVERB_DEBUG,'IO','WRITE_SURFT1_MNH',TRIM(TFILE_SURFEX%CNAME)//': writing '//TRIM(HREC)) @@ -1530,7 +1530,7 @@ ELSE ITDATE(2,:) = KMONTH (:) ITDATE(3,:) = KDAY (:) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(HREC)//'%TDATE', & CSTDNAME = '', & CLONGNAME = TRIM(HREC)//'%TDATE', & @@ -1549,7 +1549,7 @@ ELSE CALL PRINT_MSG(NVERB_ERROR,'IO','WRITE_SURFT1_MNH','error when writing article '//TRIM(HREC)//' KRESP='//YMSG) END IF ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(HREC)//'%xtime', & CSTDNAME = '', & CLONGNAME = TRIM(HREC)//'%xtime', & diff --git a/src/MNH/zsmt_pgd.f90 b/src/MNH/zsmt_pgd.f90 index c6c85422fe121d1f6e29de82b05ef0d72c67b5ca..3aea708e68726cdae989f5b7320123247ef02daa 100644 --- a/src/MNH/zsmt_pgd.f90 +++ b/src/MNH/zsmt_pgd.f90 @@ -67,7 +67,7 @@ END MODULE MODI_ZSMT_PGD ! !* 0. DECLARATIONS ! -use modd_field, only: tfielddata, TYPEREAL +use modd_field, only: tfieldmetadata, TYPEREAL USE MODD_IO, ONLY : TFILEDATA USE MODD_PARAMETERS, ONLY : JPHEXT, XUNDEF ! @@ -122,7 +122,7 @@ INTEGER :: INFO_ll ! error return code INTEGER :: IIB,IIE,IJB,IJE REAL, DIMENSION(:), ALLOCATABLE :: ZXHAT REAL, DIMENSION(:), ALLOCATABLE :: ZYHAT -TYPE(TFIELDDATA) :: TZFIELD +TYPE(TFIELDMETADATA) :: TZFIELD !------------------------------------------------------------------------------- ! !* 1. Read orography in the file @@ -334,7 +334,7 @@ IF(OHSLOP) THEN END DO ! ! Writes filtred orography and slopes along i and j - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ZSLOPEX', & CSTDNAME = '', & CLONGNAME = 'ZSLOPEX', & @@ -347,7 +347,7 @@ IF(OHSLOP) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZSLOPEX) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ZSLOPEY', & CSTDNAME = '', & CLONGNAME = 'ZSLOPEY', & @@ -360,7 +360,7 @@ IF(OHSLOP) THEN LTIMEDEP = .FALSE. ) CALL IO_Field_write(TPFILE,TZFIELD,ZSLOPEY) ! - TZFIELD = TFIELDDATA( & + TZFIELD = TFIELDMETADATA( & CMNHNAME = 'ZS_FILTR', & CSTDNAME = '', & CLONGNAME = 'ZS_FILTR', &