diff --git a/src/MNH/mode_les_diachro.f90 b/src/MNH/mode_les_diachro.f90 index bf7af4a955bdcf6648077a73cff4178bb2b89881..c4a3ea4cfccea35611d9eb18c24c89c64e84776f 100644 --- a/src/MNH/mode_les_diachro.f90 +++ b/src/MNH/mode_les_diachro.f90 @@ -753,9 +753,9 @@ end if end subroutine Les_diachro_2D -!################################################################################################################# -subroutine Les_diachro_3D( tpdiafile, tpfield, hgroup, hgroupcomment, odoavg, odonorm, pfield, hsuffixes, hmasks ) -!################################################################################################################# +!################################################################################################################### +subroutine Les_diachro_3D( tpdiafile, tpfield, hgroup, hgroupcomment, odoavg, odonorm, pfield, hfieldnames, hmasks ) +!################################################################################################################### use modd_field, only: NMNHDIM_BUDGET_LES_LEVEL, NMNHDIM_BUDGET_LES_MASK, NMNHDIM_BUDGET_LES_SV, & NMNHDIM_BUDGET_LES_TIME, NMNHDIM_BUDGET_TERM, NMNHDIM_UNUSED, & @@ -769,7 +769,7 @@ character(len=*), intent(in) :: hgroupcomment logical, intent(in) :: odoavg ! Compute and store time average logical, intent(in) :: odonorm ! Compute and store normalized field real, dimension(:,:,:), intent(in) :: pfield ! Data array -character(len=*), dimension(:), optional, intent(in) :: hsuffixes +character(len=*), dimension(:), optional, intent(in) :: hfieldnames character(len=*), dimension(:), optional, intent(in) :: hmasks type(tfield_metadata_base) :: tzfield @@ -804,23 +804,23 @@ if ( tzfield%ndimlist(1) == NMNHDIM_BUDGET_LES_LEVEL & else if ( tzfield%ndimlist(1) == NMNHDIM_BUDGET_LES_LEVEL & .and. tzfield%ndimlist(2) == NMNHDIM_BUDGET_LES_TIME & .and. tzfield%ndimlist(3) == NMNHDIM_BUDGET_TERM ) then - if ( .not. Present( hsuffixes ) ) & + if ( .not. Present( hfieldnames ) ) & call Print_msg( NVERB_ERROR, 'IO', 'Les_diachro_3D', & - 'optional dummy argument hsuffixes is needed for tpfield (' // Trim( tzfield%cmnhname ) // ')' ) + 'optional dummy argument hfieldnames is needed for tpfield (' // Trim( tzfield%cmnhname ) // ')' ) - if ( Size( hsuffixes ) /= Size( pfield, 3) ) & - call Print_msg( NVERB_FATAL, 'IO', 'Les_diachro_3D', 'wrong size for hsuffixes (' // Trim( tzfield%cmnhname ) // ')' ) + if ( Size( hfieldnames ) /= Size( pfield, 3) ) & + call Print_msg( NVERB_FATAL, 'IO', 'Les_diachro_3D', 'wrong size for hfieldnames (' // Trim( tzfield%cmnhname ) // ')' ) tzfield%ndimlist(4) = NMNHDIM_UNUSED call Les_diachro_common( tpdiafile, tzfield, hgroup, hgroupcomment, & reshape( pfield, [ size( pfield, 1 ), size( pfield, 2 ), size( pfield, 3 ), 1 ] ), & - odoavg, odonorm, hsuffixes = hsuffixes ) + odoavg, odonorm, hfieldnames = hfieldnames ) else if ( tzfield%ndimlist(1) == NMNHDIM_BUDGET_LES_LEVEL & .and. tzfield%ndimlist(2) == NMNHDIM_BUDGET_LES_TIME & .and. tzfield%ndimlist(3) == NMNHDIM_BUDGET_LES_SV ) then - if ( Present( hsuffixes ) ) & + if ( Present( hfieldnames ) ) & call Print_msg( NVERB_ERROR, 'IO', 'Les_diachro_3D', & - 'optional dummy argument hsuffixes is not needed for tpfield (' // Trim( tzfield%cmnhname ) // ')' ) + 'optional dummy argument hfieldnames is not needed for tpfield (' // Trim( tzfield%cmnhname ) // ')' ) if ( Present( hmasks ) ) & call Print_msg( NVERB_ERROR, 'IO', 'Les_diachro_3D', & @@ -838,9 +838,9 @@ end if end subroutine Les_diachro_3D -!################################################################################################################# -subroutine Les_diachro_4D( tpdiafile, tpfield, hgroup, hgroupcomment, odoavg, odonorm, pfield, hsuffixes, hmasks ) -!################################################################################################################# +!################################################################################################################### +subroutine Les_diachro_4D( tpdiafile, tpfield, hgroup, hgroupcomment, odoavg, odonorm, pfield, hfieldnames, hmasks ) +!################################################################################################################### use modd_field, only: NMNHDIM_BUDGET_LES_LEVEL, NMNHDIM_BUDGET_LES_MASK, NMNHDIM_BUDGET_LES_PDF, NMNHDIM_BUDGET_LES_SV, & NMNHDIM_BUDGET_LES_TIME, NMNHDIM_BUDGET_TERM, NMNHDIM_UNUSED, & @@ -854,7 +854,7 @@ character(len=*), intent(in) :: hgroupcomment logical, intent(in) :: odoavg ! Compute and store time average logical, intent(in) :: odonorm ! Compute and store normalized field real, dimension(:,:,:,:), intent(in) :: pfield ! Data array -character(len=*), dimension(:), optional, intent(in) :: hsuffixes +character(len=*), dimension(:), optional, intent(in) :: hfieldnames character(len=*), dimension(:), optional, intent(in) :: hmasks type(tfield_metadata_base) :: tzfield @@ -880,9 +880,9 @@ if ( tzfield%ndimlist(1) == NMNHDIM_BUDGET_LES_LEVEL& call Print_msg( NVERB_ERROR, 'IO', 'Les_diachro_4D', & 'optional dummy argument hmasks is needed for tpfield (' // Trim( tzfield%cmnhname ) // ')' ) - if ( Present( hsuffixes ) ) & + if ( Present( hfieldnames ) ) & call Print_msg( NVERB_ERROR, 'IO', 'Les_diachro_4D', & - 'optional dummy argument hsuffixes is not needed for tpfield (' // Trim( tzfield%cmnhname ) // ')' ) + 'optional dummy argument hfieldnames is not needed for tpfield (' // Trim( tzfield%cmnhname ) // ')' ) if ( Size( hmasks ) /= Size( pfield, 3) ) & call Print_msg( NVERB_FATAL, 'IO', 'Les_diachro_4D', 'wrong size for hmasks (' // Trim( tzfield%cmnhname ) // ')' ) @@ -891,16 +891,16 @@ else if ( tzfield%ndimlist(1) == NMNHDIM_BUDGET_LES_LEVEL & .and. tzfield%ndimlist(2) == NMNHDIM_BUDGET_LES_TIME & .and. tzfield%ndimlist(3) == NMNHDIM_BUDGET_TERM & .and. tzfield%ndimlist(4) == NMNHDIM_BUDGET_LES_SV ) then - if ( .not. Present( hsuffixes ) ) & + if ( .not. Present( hfieldnames ) ) & call Print_msg( NVERB_ERROR, 'IO', 'Les_diachro_4D', & - 'optional dummy argument hsuffixes is needed for tpfield (' // Trim( tzfield%cmnhname ) // ')' ) + 'optional dummy argument hfieldnames is needed for tpfield (' // Trim( tzfield%cmnhname ) // ')' ) if ( Present( hmasks ) ) & call Print_msg( NVERB_ERROR, 'IO', 'Les_diachro_4D', & 'optional dummy argument hmasks is not needed for tpfield (' // Trim( tzfield%cmnhname ) // ')' ) - if ( Size( hsuffixes ) /= Size( pfield, 3) ) & - call Print_msg( NVERB_FATAL, 'IO', 'Les_diachro_4D', 'wrong size for hsuffixes (' // Trim( tzfield%cmnhname ) // ')' ) + if ( Size( hfieldnames ) /= Size( pfield, 3) ) & + call Print_msg( NVERB_FATAL, 'IO', 'Les_diachro_4D', 'wrong size for hfieldnames (' // Trim( tzfield%cmnhname ) // ')' ) else if ( tzfield%ndimlist(1) == NMNHDIM_BUDGET_LES_LEVEL & .and. tzfield%ndimlist(2) == NMNHDIM_BUDGET_LES_TIME & @@ -910,9 +910,9 @@ else if ( tzfield%ndimlist(1) == NMNHDIM_BUDGET_LES_LEVEL & call Print_msg( NVERB_ERROR, 'IO', 'Les_diachro_4D', & 'optional dummy argument hmasks is needed for tpfield (' // Trim( tzfield%cmnhname ) // ')' ) - if ( Present( hsuffixes ) ) & + if ( Present( hfieldnames ) ) & call Print_msg( NVERB_ERROR, 'IO', 'Les_diachro_4D', & - 'optional dummy argument hsuffixes is not needed for tpfield (' // Trim( tzfield%cmnhname ) // ')' ) + 'optional dummy argument hfieldnames is not needed for tpfield (' // Trim( tzfield%cmnhname ) // ')' ) if ( Size( hmasks ) /= Size( pfield, 3) ) & call Print_msg( NVERB_FATAL, 'IO', 'Les_diachro_4D', 'wrong size for hmasks (' // Trim( tzfield%cmnhname ) // ')' ) @@ -923,13 +923,13 @@ else end if call Les_diachro_common( tpdiafile, tzfield, hgroup, hgroupcomment, pfield, odoavg, odonorm, & - hsuffixes = hsuffixes, hmasks = hmasks ) + hfieldnames = hfieldnames, hmasks = hmasks ) end subroutine Les_diachro_4D -!##################################################################################################################### -subroutine Les_diachro_common( tpdiafile, tpfield, hgroup, hgroupcomment, pfield, odoavg, odonorm, hsuffixes, hmasks ) -!##################################################################################################################### +!####################################################################################################################### +subroutine Les_diachro_common( tpdiafile, tpfield, hgroup, hgroupcomment, pfield, odoavg, odonorm, hfieldnames, hmasks ) +!####################################################################################################################### use modd_field, only: tfield_metadata_base use modd_io, only: tfiledata @@ -947,7 +947,7 @@ character(len=*), intent(in) :: hgroupco real, dimension(:,:,:,:), intent(in) :: pfield ! Data array logical, intent(in) :: odoavg ! Compute and store time average logical, intent(in) :: odonorm ! Compute and store normalized field -character(len=*), dimension(:), optional, intent(in) :: hsuffixes +character(len=*), dimension(:), optional, intent(in) :: hfieldnames character(len=*), dimension(:), optional, intent(in) :: hmasks character(len=100), dimension(:), allocatable :: ycomment ! Comment string @@ -975,13 +975,13 @@ ijh = nles_current_jsup ikl = nles_levels(1) ikh = nles_levels(iles_k) -if ( Present( hsuffixes ) ) then +if ( Present( hfieldnames ) ) then if ( Present( hmasks ) ) & - call Print_msg( NVERB_FATAL, 'IO', 'Les_diachro_common', 'hsuffixes and hmasks optional arguments may not be present ' // & + call Print_msg( NVERB_FATAL, 'IO', 'Les_diachro_common', 'hfieldnames and hmasks optional arguments may not be present ' // & 'at the same time (' // Trim( tpfield%cmnhname ) // ')' ) - if ( Size( hsuffixes ) /= Size( pfield, 3) ) & - call Print_msg( NVERB_FATAL, 'IO', 'Les_diachro_common', 'wrong size for hsuffixes (' // Trim( tpfield%cmnhname ) // ')' ) - ycomment(:) = Trim( tpfield%ccomment(:) ) // ': ' // hsuffixes(:) + if ( Size( hfieldnames ) /= Size( pfield, 3) ) & + call Print_msg( NVERB_FATAL, 'IO', 'Les_diachro_common', 'wrong size for hfieldnames (' // Trim( tpfield%cmnhname ) // ')' ) + ycomment(:) = Trim( tpfield%ccomment(:) ) // ': ' // hfieldnames(:) else if ( Present( hmasks ) ) then if ( Size( hmasks ) /= Size( pfield, 3) ) & call Print_msg( NVERB_FATAL, 'IO', 'Les_diachro_common', 'wrong size for hmasks (' // Trim( tpfield%cmnhname ) // ')' ) @@ -999,9 +999,9 @@ if ( odoavg .and. odonorm ) call Les_diachro_common_intern( .true., .true. ) contains -!####################################################################################### +!################################################## subroutine Les_diachro_common_intern( oavg, onorm ) -!####################################################################################### +!################################################## use modd_field, only: NMNHDIM_BUDGET_LES_TIME, NMNHDIM_BUDGET_LES_AVG_TIME, NMNHDIM_BUDGET_LES_MASK, & NMNHDIM_BUDGET_LES_SV, NMNHDIM_UNUSED @@ -1051,9 +1051,9 @@ end if iresp = 0 if ( oavg ) call Les_time_avg_4d( zfield, tzdates, iresp ) -if ( Present( hsuffixes ) ) then - !ytitle(:) = Trim( tpfield%cmnhname ) // '_' // hsuffixes(:) - ytitle(:) = hsuffixes(:) +if ( Present( hfieldnames ) ) then + !ytitle(:) = Trim( tpfield%cmnhname ) // '_' // hfieldnames(:) + ytitle(:) = hfieldnames(:) else ytitle(:) = tpfield%cmnhname endif @@ -1157,6 +1157,7 @@ if ( iresp == 0 .and. any( zfield /= XUNDEF ) ) then tzfields(jp)%ndims = tzfields(jp)%ndims - 1 tzbudiachro%clevels(NLVL_MASK) = hmasks(jp) +!PW:TODO? necessite le transfert d'info depuis les routines appelantes ou via des structures dans les modd tzbudiachro%ccomments(NLVL_MASK) = '' call Write_diachro( tpdiafile, tzbudiachro, [ tzfields(jp) ], tzdates, zwork6(:,:,:,:,:,jp:jp) ) diff --git a/src/MNH/write_les_budgetn.f90 b/src/MNH/write_les_budgetn.f90 index c056ca3daf657316e3c6e9bef48c025b05f4e0e0..9745903d66dc6893fe21f4badd918576f7b54e46 100644 --- a/src/MNH/write_les_budgetn.f90 +++ b/src/MNH/write_les_budgetn.f90 @@ -98,7 +98,7 @@ INTEGER :: ILES_P1, ILES_P2 INTEGER :: JK ! vertical loop counter INTEGER :: JT ! temporal loop counter ! -CHARACTER(len=9), DIMENSION(NMAX_ILES) :: YSUBTITLE +CHARACTER(len=9), DIMENSION(NMAX_ILES) :: YFIELDNAMES character(len=:), allocatable :: ygroup character(len=:), allocatable :: ygroupcomment ! @@ -115,7 +115,7 @@ type(tfield_metadata_base) :: tzfield ALLOCATE(ZLES_BUDGET(NLES_K,NLES_TIMES,NMAX_ILES)) ! ZLES_BUDGET=XUNDEF -YSUBTITLE(:)=' ' +YFIELDNAMES(:)=' ' tzfield%ngrid = 0 !Not on the Arakawa grid tzfield%ntype = TYPEREAL @@ -141,7 +141,7 @@ ILES_STA=ILES ! -------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TEND' +YFIELDNAMES(ILES) = 'SBG_TEND' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_TEND) ! @@ -150,7 +150,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_TEND) ! --------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_M' +YFIELDNAMES(ILES) = 'SBG_DP_M' ! ZLES_BUDGET(:,:,ILES)= - XLES_SUBGRID_WU (:,:,1) * XLES_MEAN_DUDZ(:,:,1) & - XLES_SUBGRID_WV (:,:,1) * XLES_MEAN_DVDZ(:,:,1) & @@ -160,7 +160,7 @@ ZLES_BUDGET(:,:,ILES)= - XLES_SUBGRID_WU (:,:,1) * XLES_MEAN_DUDZ(:,:,1) & ! ------------------------------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_R' +YFIELDNAMES(ILES) = 'SBG_DP_R' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_DP) - ZLES_BUDGET(:,:,2) ! @@ -171,7 +171,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_DP) - ZLES_BUDGET(:,:,2) ! IF ( ANY(XLES_BU_SBG_TKE(:,:,NLES_ADVM)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_ADVM' +YFIELDNAMES(ILES) = 'SBG_ADVM' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_ADVM) END IF @@ -182,7 +182,7 @@ END IF ! IF ( ANY(XLES_BU_SBG_TKE(:,:,NLES_FORC)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_FORC' +YFIELDNAMES(ILES) = 'SBG_FORC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_FORC) END IF @@ -192,7 +192,7 @@ END IF ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TR' +YFIELDNAMES(ILES) = 'SBG_TR' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_TR) ! @@ -201,7 +201,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_TR) ! ----------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_ADVR' +YFIELDNAMES(ILES) = 'SBG_ADVR' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_ADVR) ! @@ -211,7 +211,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_ADVR) ! IF ( ANY(XLES_BU_SBG_TKE(:,:,NLES_PRES)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_PRES' +YFIELDNAMES(ILES) = 'SBG_PRES' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_PRES) END IF @@ -221,7 +221,7 @@ END IF ! ------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TP' +YFIELDNAMES(ILES) = 'SBG_TP' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_TP) ! @@ -230,7 +230,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_TP) ! ----------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DISS' +YFIELDNAMES(ILES) = 'SBG_DISS' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_DISS) ! @@ -240,7 +240,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_DISS) ! IF ( ANY(XLES_BU_SBG_TKE(:,:,NLES_DIFF)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_NUMD' +YFIELDNAMES(ILES) = 'SBG_NUMD' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_DIFF) END IF @@ -250,7 +250,7 @@ END IF ! IF ( ANY(XLES_BU_SBG_TKE(:,:,NLES_RELA)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_RELA' +YFIELDNAMES(ILES) = 'SBG_RELA' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_RELA) END IF @@ -260,7 +260,7 @@ END IF ! IF ( ANY(XLES_BU_SBG_TKE(:,:,NLES_NEST)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_NEST' +YFIELDNAMES(ILES) = 'SBG_NEST' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_NEST) END IF @@ -271,7 +271,7 @@ END IF ! IF ( ANY(XLES_BU_SBG_TKE(:,:,NLES_MISC)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_MISC' +YFIELDNAMES(ILES) = 'SBG_MISC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_SBG_TKE(:,:,NLES_MISC) END IF @@ -281,7 +281,7 @@ END IF ! -------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_RESI' +YFIELDNAMES(ILES) = 'SBG_RESI' ! ZLES_BUDGET(:,:,ILES) = 0. DO JLES=ILES_STA+1,ILES-1 @@ -294,7 +294,7 @@ ILES_STA=ILES ! -------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TEND' +YFIELDNAMES(ILES) = 'RES_TEND' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_TEND) ! @@ -304,7 +304,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_TEND) ! IF ( ANY(XLES_BU_RES_KE(:,:,NLES_ADVM)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_ADV' +YFIELDNAMES(ILES) = 'RES_ADV' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Ke(:,:,NLES_ADVM) END IF @@ -315,7 +315,7 @@ END IF ! IF ( ANY(XLES_BU_RES_KE(:,:,NLES_FORC)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_FORC' +YFIELDNAMES(ILES) = 'RES_FORC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Ke(:,:,NLES_FORC) END IF @@ -325,7 +325,7 @@ END IF ! -------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_DP' +YFIELDNAMES(ILES) = 'RES_DP' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Ke(:,:,NLES_DP) ! @@ -334,7 +334,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Ke(:,:,NLES_DP) ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TR' +YFIELDNAMES(ILES) = 'RES_TR' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_TR) ! @@ -344,7 +344,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_TR) ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_PRES' +YFIELDNAMES(ILES) = 'RES_PRES' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_PRES) ! @@ -353,7 +353,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_PRES) ! ------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TP' +YFIELDNAMES(ILES) = 'RES_TP' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_GRAV) ! @@ -362,7 +362,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_GRAV) ! ---------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_SBGT' +YFIELDNAMES(ILES) = 'RES_SBGT' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_VTURB) + XLES_BU_RES_KE(:,:,NLES_HTURB) ! @@ -371,7 +371,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_VTURB) + XLES_BU_RES_KE(:,:,NLES ! IF ( ANY(XLES_BU_RES_KE(:,:,NLES_COR)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_CORI' +YFIELDNAMES(ILES) = 'RES_CORI' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_COR) END IF @@ -381,7 +381,7 @@ END IF ! IF ( ANY(XLES_BU_RES_KE(:,:,NLES_DIFF)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_NUMD' +YFIELDNAMES(ILES) = 'RES_NUMD' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_DIFF) END IF @@ -391,7 +391,7 @@ END IF ! IF ( ANY(XLES_BU_RES_KE(:,:,NLES_RELA)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RELA' +YFIELDNAMES(ILES) = 'RES_RELA' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_RELA) END IF @@ -401,7 +401,7 @@ END IF ! IF ( ANY(XLES_BU_RES_KE(:,:,NLES_NEST)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_NEST' +YFIELDNAMES(ILES) = 'RES_NEST' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_NEST) END IF @@ -413,7 +413,7 @@ END IF IF ( ANY( XLES_BU_RES_KE(:,:,NLES_MISC) & +XLES_BU_RES_KE(:,:,NLES_CURV) /= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_MISC' +YFIELDNAMES(ILES) = 'RES_MISC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_KE(:,:,NLES_MISC) & + XLES_BU_RES_KE(:,:,NLES_CURV) @@ -423,7 +423,7 @@ END IF ! ------------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RESI' +YFIELDNAMES(ILES) = 'RES_RESI' ! ZLES_BUDGET(:,:,ILES) = 0. DO JLES=ILES_STA+1,ILES-1 @@ -434,14 +434,14 @@ END DO ! ------- ! ! -tzfield%cmnhname = ygroup !cmnhname will be overwritten by ysubtitle(:) in Les_diachro +tzfield%cmnhname = ygroup !cmnhname will be overwritten by yfieldnames(:) in Les_diachro tzfield%cstdname = '' -tzfield%clongname = ygroup !clongname will be overwritten by ysubtitle(:) in Les_diachro -tzfield%ccomment = 'resolved KE budget' !ccomment will be completed with ysubtitle(:) in Les_diachro +tzfield%clongname = ygroup !clongname will be overwritten by yfieldnames(:) in Les_diachro +tzfield%ccomment = 'resolved KE budget' !ccomment will be completed with yfieldnames(:) in Les_diachro tzfield%cunits = 'm2 s-3' call Les_diachro( tpdiafile, tzfield, ygroup, ygroupcomment, gdoavg, gdonorm, & - zles_budget(:, :, :iles), hsuffixes = ysubtitle(:iles) ) + zles_budget(:, :, :iles), hfieldnames = yfieldnames(:iles) ) !------------------------------------------------------------------------------- ! @@ -459,7 +459,7 @@ ILES_STA=ILES ! ---------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_M' +YFIELDNAMES(ILES) = 'SBG_DP_M' ILES_P1=ILES ! ZLES_BUDGET(:,:,ILES)= - 2. * XLES_SUBGRID_WThl(:,:,1) * XLES_MEAN_dThldz(:,:,1) @@ -470,7 +470,7 @@ ZLES_BUDGET(:,:,ILES)= - 2. * XLES_SUBGRID_WThl(:,:,1) * XLES_MEAN_dThldz(:,:,1) ! IF ( ANY(XLES_SUBGRID_WThl2(:,:,1)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TR' +YFIELDNAMES(ILES) = 'SBG_TR' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES) = - ( XLES_SUBGRID_WThl2 (JK+1,:,1) & @@ -487,7 +487,7 @@ END IF ! -------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_R' +YFIELDNAMES(ILES) = 'SBG_DP_R' ILES_P2=ILES ! ZLES_BUDGET(:,:,ILES)= - 2. * XLES_RES_ddxa_Thl_SBG_UaThl(:,:,1) & @@ -498,7 +498,7 @@ ZLES_BUDGET(:,:,ILES)= - 2. * XLES_RES_ddxa_Thl_SBG_UaThl(:,:,1) & ! ----------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DISS' +YFIELDNAMES(ILES) = 'SBG_DISS' ! ZLES_BUDGET(:,:,ILES) = XLES_SUBGRID_DISS_Thl2(:,:,1) ! @@ -507,7 +507,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_SUBGRID_DISS_Thl2(:,:,1) ! -------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_RESI' +YFIELDNAMES(ILES) = 'SBG_RESI' ! ZLES_BUDGET(:,:,ILES) = 0. DO JLES=ILES_STA+1,ILES-1 @@ -520,7 +520,7 @@ ILES_STA=ILES ! -------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TEND' +YFIELDNAMES(ILES) = 'RES_TEND' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_TEND) ! @@ -530,7 +530,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_TEND) ! IF ( ANY(XLES_BU_RES_Thl2(:,:,NLES_ADVM)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_ADV' +YFIELDNAMES(ILES) = 'RES_ADV' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_ADVM) END IF @@ -541,7 +541,7 @@ END IF ! IF ( ANY(XLES_BU_RES_Thl2(:,:,NLES_FORC)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_FORC' +YFIELDNAMES(ILES) = 'RES_FORC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_FORC) END IF @@ -551,7 +551,7 @@ END IF ! ---------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_DP' +YFIELDNAMES(ILES) = 'RES_DP' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_DP) @@ -560,7 +560,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_DP) ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TR' +YFIELDNAMES(ILES) = 'RES_TR' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_TR) ! @@ -569,7 +569,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_TR) ! ---------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_SBGT' +YFIELDNAMES(ILES) = 'RES_SBGT' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_VTURB) + XLES_BU_RES_Thl2(:,:,NLES_HTURB) ! @@ -578,7 +578,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_VTURB) + XLES_BU_RES_Thl2(:,:, ! IF ( ANY(XLES_BU_RES_Thl2(:,:,NLES_DIFF)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_NUMD' +YFIELDNAMES(ILES) = 'RES_NUMD' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_DIFF) END IF @@ -588,7 +588,7 @@ END IF ! IF ( ANY(XLES_BU_RES_Thl2(:,:,NLES_RELA)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RELA' +YFIELDNAMES(ILES) = 'RES_RELA' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_RELA) END IF @@ -598,7 +598,7 @@ END IF ! IF ( ANY(XLES_BU_RES_Thl2(:,:,NLES_NEST)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_NEST' +YFIELDNAMES(ILES) = 'RES_NEST' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_NEST) END IF @@ -611,7 +611,7 @@ IF ( ANY( XLES_BU_RES_Thl2(:,:,NLES_MISC) & +XLES_BU_RES_Thl2(:,:,NLES_MICR) & + XLES_BU_RES_Thl2(:,:,NLES_PREF) /= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_MISC' +YFIELDNAMES(ILES) = 'RES_MISC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Thl2(:,:,NLES_MISC) & + XLES_BU_RES_Thl2(:,:,NLES_RAD ) & @@ -624,7 +624,7 @@ END IF ! --------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RESI' +YFIELDNAMES(ILES) = 'RES_RESI' ! ZLES_BUDGET(:,:,ILES) = 0. DO JLES=ILES_STA+1,ILES-1 @@ -635,7 +635,7 @@ END DO ! ------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_TEND' +YFIELDNAMES(ILES) = 'NSG_TEND' ! ZLES_BUDGET(:,:,ILES) = 0. IF (NLES_TIMES>2) THEN @@ -654,7 +654,7 @@ END IF ! ---------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVM' +YFIELDNAMES(ILES) = 'NSG_ADVM' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES)= -XLES_MEAN_W(JK,:,1) & @@ -671,7 +671,7 @@ ZLES_BUDGET(NLES_K,:,ILES) = ZLES_BUDGET(NLES_K-1,:,ILES) ! ---------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVR' +YFIELDNAMES(ILES) = 'NSG_ADVR' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES)= - ( XLES_RES_W_SBG_Thl2 (JK+1,:,1) & @@ -688,14 +688,14 @@ ZLES_BUDGET(NLES_K,:,ILES) = ZLES_BUDGET(NLES_K-1,:,ILES) ! ------- ! ! -tzfield%cmnhname = ygroup !cmnhname will be overwritten by ysubtitle(:) in Les_diachro +tzfield%cmnhname = ygroup !cmnhname will be overwritten by yfieldnames(:) in Les_diachro tzfield%cstdname = '' -tzfield%clongname = ygroup !clongname will be overwritten by ysubtitle(:) in Les_diachro -tzfield%ccomment = 'thetal variance budget' !ccomment will be completed with ysubtitle(:) in Les_diachro +tzfield%clongname = ygroup !clongname will be overwritten by yfieldnames(:) in Les_diachro +tzfield%ccomment = 'thetal variance budget' !ccomment will be completed with yfieldnames(:) in Les_diachro tzfield%cunits = 'K2 s-1' call Les_diachro( tpdiafile, tzfield, ygroup, ygroupcomment, gdoavg, gdonorm, & - zles_budget(:, :, :iles), hsuffixes = ysubtitle(:iles) ) + zles_budget(:, :, :iles), hfieldnames = yfieldnames(:iles) ) !------------------------------------------------------------------------------- ! @@ -712,7 +712,7 @@ ILES_STA=ILES ! ----------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_M' +YFIELDNAMES(ILES) = 'SBG_DP_M' ILES_P1=ILES ! ZLES_BUDGET(:,:,ILES) = - XLES_SUBGRID_W2(:,:,1) * XLES_MEAN_dThldz(:,:,1) @@ -722,7 +722,7 @@ ZLES_BUDGET(:,:,ILES) = - XLES_SUBGRID_W2(:,:,1) * XLES_MEAN_dThldz(:,:,1) ! ------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_R' +YFIELDNAMES(ILES) = 'SBG_DP_R' ! ZLES_BUDGET(:,:,ILES)=- XLES_RES_ddz_Thl_SBG_W2(:,:,1) & - ZLES_BUDGET(:,:,ILES_P1) @@ -733,7 +733,7 @@ ZLES_BUDGET(:,:,ILES)=- XLES_RES_ddz_Thl_SBG_W2(:,:,1) & ! IF ( ANY(XLES_SUBGRID_W2Thl(:,:,1)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TR' +YFIELDNAMES(ILES) = 'SBG_TR' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES) = - ( XLES_SUBGRID_W2Thl (JK+1,:,1) & @@ -752,7 +752,7 @@ END IF ! IF ( ANY(XLES_SUBGRID_ThlPz(:,:,1)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_PRES' +YFIELDNAMES(ILES) = 'SBG_PRES' ! ZLES_BUDGET(:,:,ILES) = XLES_SUBGRID_ThlPz(:,:,1) END IF @@ -762,7 +762,7 @@ END IF ! ------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TP' +YFIELDNAMES(ILES) = 'SBG_TP' ! IF (LUSERV) THEN ZLES_BUDGET(:,:,ILEs) = XG * XLES_SUBGRID_ThlThv(:,:,1) & @@ -779,7 +779,7 @@ END IF ! -------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_RESI' +YFIELDNAMES(ILES) = 'SBG_RESI' ! ZLES_BUDGET(:,:,ILES) = 0. DO JLES=ILES_STA+1,ILES-1 @@ -792,7 +792,7 @@ ILES_STA=ILES ! -------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TEND' +YFIELDNAMES(ILES) = 'RES_TEND' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_TEND) ! @@ -801,7 +801,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_TEND) ! IF ( ANY(XLES_BU_RES_WThl(:,:,NLES_ADVM)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_ADV' +YFIELDNAMES(ILES) = 'RES_ADV' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_ADVM) END IF @@ -811,7 +811,7 @@ END IF ! IF ( ANY(XLES_BU_RES_WThl(:,:,NLES_FORC)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_FORC' +YFIELDNAMES(ILES) = 'RES_FORC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_FORC) END IF @@ -821,7 +821,7 @@ END IF ! ---------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_DP' +YFIELDNAMES(ILES) = 'RES_DP' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_DP) ! @@ -829,7 +829,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_DP) ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TR' +YFIELDNAMES(ILES) = 'RES_TR' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_TR) ! @@ -838,7 +838,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_TR) ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_PRES' +YFIELDNAMES(ILES) = 'RES_PRES' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_PRES) ! @@ -847,7 +847,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_PRES) ! ------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TP' +YFIELDNAMES(ILES) = 'RES_TP' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_GRAV) ! @@ -856,7 +856,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_GRAV) ! ---------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_SBGT' +YFIELDNAMES(ILES) = 'RES_SBGT' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_VTURB) + XLES_BU_RES_WThl(:,:,NLES_HTURB) ! @@ -865,7 +865,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_VTURB) + XLES_BU_RES_WThl(:,:, ! IF ( ANY(XLES_BU_RES_WThl(:,:,NLES_COR)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_CORI' +YFIELDNAMES(ILES) = 'RES_CORI' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_COR) END IF @@ -875,7 +875,7 @@ END IF ! IF ( ANY(XLES_BU_RES_WThl(:,:,NLES_DIFF)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_NUMD' +YFIELDNAMES(ILES) = 'RES_NUMD' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_DIFF) END IF @@ -885,7 +885,7 @@ END IF ! IF ( ANY(XLES_BU_RES_WThl(:,:,NLES_RELA)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RELA' +YFIELDNAMES(ILES) = 'RES_RELA' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_RELA) END IF @@ -895,7 +895,7 @@ END IF ! IF ( ANY(XLES_BU_RES_WThl(:,:,NLES_NEST)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_NEST' +YFIELDNAMES(ILES) = 'RES_NEST' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_NEST) END IF @@ -909,7 +909,7 @@ IF ( ANY( XLES_BU_RES_WThl(:,:,NLES_MISC) & +XLES_BU_RES_WThl(:,:,NLES_PREF) & +XLES_BU_RES_WThl(:,:,NLES_CURV) /= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_MISC' +YFIELDNAMES(ILES) = 'RES_MISC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WThl(:,:,NLES_MISC) & + XLES_BU_RES_WThl(:,:,NLES_RAD ) & @@ -923,7 +923,7 @@ END IF ! -------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RESI' +YFIELDNAMES(ILES) = 'RES_RESI' ! ZLES_BUDGET(:,:,ILES) = 0. DO JLES=ILES_STA+1,ILES-1 @@ -934,7 +934,7 @@ END DO ! ------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_TEND' +YFIELDNAMES(ILES) = 'NSG_TEND' ! ZLES_BUDGET(:,:,ILES) = 0. IF (NLES_TIMES>2) THEN @@ -955,7 +955,7 @@ END IF ! ------------------------------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVM' +YFIELDNAMES(ILES) = 'NSG_ADVM' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES)= - XLES_MEAN_W(JK,:,1) & @@ -972,7 +972,7 @@ ZLES_BUDGET(NLES_K,:,ILES) = ZLES_BUDGET(NLES_K-1,:,ILES) ! ------------------------------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVR' +YFIELDNAMES(ILES) = 'NSG_ADVR' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES)= - ( XLES_RES_W_SBG_WThl(JK+1,:,1) & @@ -988,7 +988,7 @@ ZLES_BUDGET(NLES_K,:,ILES) = ZLES_BUDGET(NLES_K-1,:,ILES) ! ---------------------------------------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_DPGW' +YFIELDNAMES(ILES) = 'NSG_DPGW' ! ZLES_BUDGET(:,:,ILES)=- XLES_RES_ddxa_W_SBG_UaThl(:,:,1) ! @@ -997,7 +997,7 @@ ZLES_BUDGET(:,:,ILES)=- XLES_RES_ddxa_W_SBG_UaThl(:,:,1) ! ------------------------------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_DPGT' +YFIELDNAMES(ILES) = 'NSG_DPGT' ! ZLES_BUDGET(:,:,ILES)=-XLES_RES_ddxa_Thl_SBG_UaW(:,:,1) & -ZLES_BUDGET(:,:,ILES_P1) -ZLES_BUDGET(:,:,ILES_P2) @@ -1008,14 +1008,14 @@ ZLES_BUDGET(:,:,ILES)=-XLES_RES_ddxa_Thl_SBG_UaW(:,:,1) & ! ------- ! ! -tzfield%cmnhname = ygroup !cmnhname will be overwritten by ysubtitle(:) in Les_diachro +tzfield%cmnhname = ygroup !cmnhname will be overwritten by yfieldnames(:) in Les_diachro tzfield%cstdname = '' -tzfield%clongname = ygroup !clongname will be overwritten by ysubtitle(:) in Les_diachro -tzfield%ccomment = 'thetal flux budget' !ccomment will be completed with ysubtitle(:) in Les_diachro +tzfield%clongname = ygroup !clongname will be overwritten by yfieldnames(:) in Les_diachro +tzfield%ccomment = 'thetal flux budget' !ccomment will be completed with yfieldnames(:) in Les_diachro tzfield%cunits = 'm K s-2' call Les_diachro( tpdiafile, tzfield, ygroup, ygroupcomment, gdoavg, gdonorm, & - zles_budget(:, :, :iles), hsuffixes = ysubtitle(:iles) ) + zles_budget(:, :, :iles), hfieldnames = yfieldnames(:iles) ) !------------------------------------------------------------------------------- ! diff --git a/src/MNH/write_les_rt_budgetn.f90 b/src/MNH/write_les_rt_budgetn.f90 index f51f6905951367cf77263b743143956ac88ab5fa..cb6e13e3e5813226c6464f7929279ec37f17b6e6 100644 --- a/src/MNH/write_les_rt_budgetn.f90 +++ b/src/MNH/write_les_rt_budgetn.f90 @@ -91,7 +91,7 @@ INTEGER :: ILES_P1, ILES_P2 INTEGER :: JK ! vertical loop counter INTEGER :: JT ! temporal loop counter ! -CHARACTER(len=9), DIMENSION(NMAX_ILES) :: YSUBTITLE +CHARACTER(len=9), DIMENSION(NMAX_ILES) :: YFIELDNAMES character(len=:), allocatable :: ygroup character(len=:), allocatable :: ygroupcomment ! @@ -136,7 +136,7 @@ ILES_STA=ILES ! ---------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_M' +YFIELDNAMES(ILES) = 'SBG_DP_M' ILES_P1=ILES ! ZLES_BUDGET(:,:,ILES)= - 2. * XLES_SUBGRID_WRt(:,:,1) * XLES_MEAN_dRtdz(:,:,1) @@ -146,7 +146,7 @@ ZLES_BUDGET(:,:,ILES)= - 2. * XLES_SUBGRID_WRt(:,:,1) * XLES_MEAN_dRtdz(:,:,1) ! -------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_R' +YFIELDNAMES(ILES) = 'SBG_DP_R' ! ZLES_BUDGET(:,:,ILES)= - 2. * XLES_RES_ddxa_Rt_SBG_UaRt(:,:,1) & - ZLES_BUDGET(:,:,ILES_P1) @@ -157,7 +157,7 @@ ZLES_BUDGET(:,:,ILES)= - 2. * XLES_RES_ddxa_Rt_SBG_UaRt(:,:,1) & ! IF ( ANY(XLES_SUBGRID_WRt2(:,:,1)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TR' +YFIELDNAMES(ILES) = 'SBG_TR' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES) = - ( XLES_SUBGRID_WRt2 (JK+1,:,1) & @@ -174,7 +174,7 @@ END IF ! ----------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DISS' +YFIELDNAMES(ILES) = 'SBG_DISS' ! ZLES_BUDGET(:,:,ILES) = XLES_SUBGRID_DISS_Rt2(:,:,1) ! @@ -183,7 +183,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_SUBGRID_DISS_Rt2(:,:,1) ! -------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_RESI' +YFIELDNAMES(ILES) = 'SBG_RESI' ! ZLES_BUDGET(:,:,ILES) = 0. DO JLES=ILES_STA+1,ILES-1 @@ -196,7 +196,7 @@ ILES_STA=ILES ! -------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TEND' +YFIELDNAMES(ILES) = 'RES_TEND' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_TEND) ! @@ -206,7 +206,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_TEND) ! IF ( ANY(XLES_BU_RES_Rt2(:,:,NLES_ADVM)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_ADV' +YFIELDNAMES(ILES) = 'RES_ADV' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_ADVM) END IF @@ -216,7 +216,7 @@ END IF ! IF ( ANY(XLES_BU_RES_Rt2(:,:,NLES_FORC)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_FORC' +YFIELDNAMES(ILES) = 'RES_FORC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_FORC) END IF @@ -226,7 +226,7 @@ END IF ! ---------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_DP' +YFIELDNAMES(ILES) = 'RES_DP' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_DP) @@ -235,7 +235,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_DP) ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TR' +YFIELDNAMES(ILES) = 'RES_TR' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_TR) ! @@ -244,7 +244,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_TR) ! ---------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_SBGT' +YFIELDNAMES(ILES) = 'RES_SBGT' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_VTURB) + XLES_BU_RES_Rt2(:,:,NLES_HTURB) ! @@ -254,7 +254,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_VTURB) + XLES_BU_RES_Rt2(:,:,NL ! IF ( ANY(XLES_BU_RES_Rt2(:,:,NLES_DIFF)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_NUMD' +YFIELDNAMES(ILES) = 'RES_NUMD' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_DIFF) END IF @@ -264,7 +264,7 @@ END IF ! IF ( ANY(XLES_BU_RES_Rt2(:,:,NLES_RELA)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RELA' +YFIELDNAMES(ILES) = 'RES_RELA' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_RELA) END IF @@ -274,7 +274,7 @@ END IF ! IF ( ANY(XLES_BU_RES_Rt2(:,:,NLES_NEST)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_NEST' +YFIELDNAMES(ILES) = 'RES_NEST' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_NEST) END IF @@ -285,7 +285,7 @@ END IF IF ( ANY( XLES_BU_RES_Rt2(:,:,NLES_MISC) & +XLES_BU_RES_Rt2(:,:,NLES_MICR)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_MISC' +YFIELDNAMES(ILES) = 'RES_MISC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_Rt2(:,:,NLES_MISC) & + XLES_BU_RES_Rt2(:,:,NLES_MICR) @@ -296,7 +296,7 @@ END IF ! --------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RESI' +YFIELDNAMES(ILES) = 'RES_RESI' ! ZLES_BUDGET(:,:,ILES) = 0. DO JLES=ILES_STA+1,ILES-1 @@ -307,7 +307,7 @@ END DO ! ------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_TEND' +YFIELDNAMES(ILES) = 'NSG_TEND' ! ZLES_BUDGET(:,:,ILES) = 0. IF (NLES_TIMES>2) THEN @@ -326,7 +326,7 @@ END IF ! ---------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVM' +YFIELDNAMES(ILES) = 'NSG_ADVM' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES)= -XLES_MEAN_W(JK,:,1) & @@ -343,7 +343,7 @@ ZLES_BUDGET(NLES_K,:,ILES) = ZLES_BUDGET(NLES_K-1,:,ILES) ! ---------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVR' +YFIELDNAMES(ILES) = 'NSG_ADVR' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES)= - ( XLES_RES_W_SBG_Rt2 (JK+1,:,1) & @@ -359,14 +359,14 @@ ZLES_BUDGET(NLES_K,:,ILES) = ZLES_BUDGET(NLES_K-1,:,ILES) !* 2.16 writing ! ------- ! -tzfield%cmnhname = ygroup !cmnhname will be overwritten by ysubtitle(:) in Les_diachro +tzfield%cmnhname = ygroup !cmnhname will be overwritten by yfieldnames(:) in Les_diachro tzfield%cstdname = '' -tzfield%clongname = ygroup !clongname will be overwritten by ysubtitle(:) in Les_diachro -tzfield%ccomment = 'Rt variance budget' !ccomment will be completed with ysubtitle(:) in Les_diachro +tzfield%clongname = ygroup !clongname will be overwritten by yfieldnames(:) in Les_diachro +tzfield%ccomment = 'Rt variance budget' !ccomment will be completed with yfieldnames(:) in Les_diachro tzfield%cunits = 'kg2 kg-2 s-1' call Les_diachro( tpdiafile, tzfield, ygroup, ygroupcomment, gdoavg, gdonorm, & - zles_budget(:, :, :iles), hsuffixes = ysubtitle(:iles) ) + zles_budget(:, :, :iles), hfieldnames = yfieldnames(:iles) ) !------------------------------------------------------------------------------- ! @@ -383,7 +383,7 @@ ILES_STA=ILES ! ----------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_M' +YFIELDNAMES(ILES) = 'SBG_DP_M' ILES_P1=ILES ! ZLES_BUDGET(:,:,ILES) = - XLES_SUBGRID_W2(:,:,1) * XLES_MEAN_dRtdz(:,:,1) @@ -393,7 +393,7 @@ ZLES_BUDGET(:,:,ILES) = - XLES_SUBGRID_W2(:,:,1) * XLES_MEAN_dRtdz(:,:,1) ! ------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(2) = 'SBG_DP_R' +YFIELDNAMES(2) = 'SBG_DP_R' ILES_P2=ILES ! ZLES_BUDGET(:,:,ILES)=- XLES_RES_ddz_Rt_SBG_W2(:,:,1) & @@ -406,7 +406,7 @@ ZLES_BUDGET(:,:,ILES)=- XLES_RES_ddz_Rt_SBG_W2(:,:,1) & ! IF ( ANY(XLES_SUBGRID_W2Rt(:,:,1)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TR' +YFIELDNAMES(ILES) = 'SBG_TR' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES) = - ( XLES_SUBGRID_W2Rt (JK+1,:,1) & @@ -424,7 +424,7 @@ END IF ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_PRES' +YFIELDNAMES(ILES) = 'SBG_PRES' ! ZLES_BUDGET(:,:,ILES) = XLES_SUBGRID_RtPz(:,:,1) ! @@ -433,7 +433,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_SUBGRID_RtPz(:,:,1) ! ------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TP' +YFIELDNAMES(ILES) = 'SBG_TP' ! ZLES_BUDGET(:,:,ILES) = XG * XLES_SUBGRID_RtThv(:,:,1) & / XLES_MEAN_Thv (:,:,1) @@ -444,7 +444,7 @@ ZLES_BUDGET(:,:,ILES) = XG * XLES_SUBGRID_RtThv(:,:,1) & ! !PW: not in the documentation, but set to 0 anyway ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DISS' +YFIELDNAMES(ILES) = 'SBG_DISS' ! ZLES_BUDGET(:,:,ILES) = 0. ! @@ -453,7 +453,7 @@ ZLES_BUDGET(:,:,ILES) = 0. ! -------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_RESI' +YFIELDNAMES(ILES) = 'SBG_RESI' ! ZLES_BUDGET(:,:,ILES) = 0. DO JLES=ILES_STA+1,ILES-1 @@ -466,7 +466,7 @@ ILES_STA=ILES ! -------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TEND' +YFIELDNAMES(ILES) = 'RES_TEND' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_TEND) ! @@ -475,7 +475,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_TEND) ! IF ( ANY(XLES_BU_RES_WRt(:,:,NLES_ADVM)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_ADV' +YFIELDNAMES(ILES) = 'RES_ADV' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_ADVM) END IF @@ -485,7 +485,7 @@ END IF ! IF ( ANY(XLES_BU_RES_WRt(:,:,NLES_FORC)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_FORC' +YFIELDNAMES(ILES) = 'RES_FORC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_FORC) END IF @@ -494,7 +494,7 @@ END IF ! ---------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_DP' +YFIELDNAMES(ILES) = 'RES_DP' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_DP) ! @@ -502,7 +502,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_DP) ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TR' +YFIELDNAMES(ILES) = 'RES_TR' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_TR) ! @@ -511,7 +511,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_TR) ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_PRES' +YFIELDNAMES(ILES) = 'RES_PRES' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_PRES) ! @@ -520,7 +520,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_PRES) ! ------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TP' +YFIELDNAMES(ILES) = 'RES_TP' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_GRAV) ! @@ -529,7 +529,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_GRAV) ! ---------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_SBGT' +YFIELDNAMES(ILES) = 'RES_SBGT' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_VTURB) + XLES_BU_RES_WRt(:,:,NLES_HTURB) ! @@ -538,7 +538,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_VTURB) + XLES_BU_RES_WRt(:,:,NL ! IF ( ANY(XLES_BU_RES_WRt(:,:,NLES_COR)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_CORI' +YFIELDNAMES(ILES) = 'RES_CORI' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_COR) END IF @@ -548,7 +548,7 @@ END IF ! IF ( ANY(XLES_BU_RES_WRt(:,:,NLES_DIFF)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_NUMD' +YFIELDNAMES(ILES) = 'RES_NUMD' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_DIFF) END IF @@ -558,7 +558,7 @@ END IF ! IF ( ANY(XLES_BU_RES_WRt(:,:,NLES_RELA)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RELA' +YFIELDNAMES(ILES) = 'RES_RELA' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_RELA) END IF @@ -568,7 +568,7 @@ END IF ! IF ( ANY(XLES_BU_RES_WRt(:,:,NLES_NEST)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_NEST' +YFIELDNAMES(ILES) = 'RES_NEST' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_NEST) END IF @@ -579,7 +579,7 @@ END IF IF ( ANY( XLES_BU_RES_WRt(:,:,NLES_MISC) & +XLES_BU_RES_WRt(:,:,NLES_MICR) /= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_MISC' +YFIELDNAMES(ILES) = 'RES_MISC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_WRt(:,:,NLES_MISC) & + XLES_BU_RES_WRt(:,:,NLES_MICR) @@ -589,7 +589,7 @@ END IF ! -------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RESI' +YFIELDNAMES(ILES) = 'RES_RESI' ! ZLES_BUDGET(:,:,ILES) = 0. DO JLES=ILES_STA+1,ILES-1 @@ -600,7 +600,7 @@ END DO ! ------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TEND' +YFIELDNAMES(ILES) = 'SBG_TEND' ! ZLES_BUDGET(:,:,ILES) = 0. IF (NLES_TIMES>2) THEN @@ -621,7 +621,7 @@ END IF ! ------------------------------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVM' +YFIELDNAMES(ILES) = 'NSG_ADVM' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES)= - XLES_MEAN_W(JK,:,1) & @@ -638,7 +638,7 @@ ZLES_BUDGET(NLES_K,:,ILES) = ZLES_BUDGET(NLES_K-1,:,ILES) ! ------------------------------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVR' +YFIELDNAMES(ILES) = 'NSG_ADVR' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES)= - ( XLES_RES_W_SBG_WRt(JK+1,:,1) & @@ -654,7 +654,7 @@ ZLES_BUDGET(NLES_K,:,ILES) = ZLES_BUDGET(NLES_K-1,:,ILES) ! ---------------------------------------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_DPGW' +YFIELDNAMES(ILES) = 'NSG_DPGW' ! ZLES_BUDGET(:,:,ILES)=- XLES_RES_ddxa_W_SBG_UaRt(:,:,1) ! @@ -663,7 +663,7 @@ ZLES_BUDGET(:,:,ILES)=- XLES_RES_ddxa_W_SBG_UaRt(:,:,1) ! ------------------------------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_DPGT' +YFIELDNAMES(ILES) = 'NSG_DPGT' ! ZLES_BUDGET(:,:,ILES)=-XLES_RES_ddxa_Rt_SBG_UaW(:,:,1) & -ZLES_BUDGET(:,:,ILES_P1) -ZLES_BUDGET(:,:,ILES_P2) @@ -672,14 +672,14 @@ ZLES_BUDGET(:,:,ILES)=-XLES_RES_ddxa_Rt_SBG_UaW(:,:,1) & !* 3.22 writing ! ------- ! -tzfield%cmnhname = ygroup !cmnhname will be overwritten by ysubtitle(:) in Les_diachro +tzfield%cmnhname = ygroup !cmnhname will be overwritten by yfieldnames(:) in Les_diachro tzfield%cstdname = '' -tzfield%clongname = ygroup !clongname will be overwritten by ysubtitle(:) in Les_diachro -tzfield%ccomment = 'Rt flux budget' !ccomment will be completed with ysubtitle(:) in Les_diachro +tzfield%clongname = ygroup !clongname will be overwritten by yfieldnames(:) in Les_diachro +tzfield%ccomment = 'Rt flux budget' !ccomment will be completed with yfieldnames(:) in Les_diachro tzfield%cunits = 'm kg kg-1 s-2' call Les_diachro( tpdiafile, tzfield, ygroup, ygroupcomment, gdoavg, gdonorm, & - zles_budget(:, :, :iles), hsuffixes = ysubtitle(:iles) ) + zles_budget(:, :, :iles), hfieldnames = yfieldnames(:iles) ) !------------------------------------------------------------------------------- ! @@ -698,7 +698,7 @@ ILES_STA=ILES ! ---------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_M' +YFIELDNAMES(ILES) = 'SBG_DP_M' ILES_P1=ILES ! ZLES_BUDGET(:,:,ILES)=-XLES_SUBGRID_WRt (:,:,1) * XLES_MEAN_dThldz(:,:,1) & @@ -709,7 +709,7 @@ ZLES_BUDGET(:,:,ILES)=-XLES_SUBGRID_WRt (:,:,1) * XLES_MEAN_dThldz(:,:,1) & ! -------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_R' +YFIELDNAMES(ILES) = 'SBG_DP_R' ! ZLES_BUDGET(:,:,ILES)= - XLES_RES_ddxa_Rt_SBG_UaThl(:,:,1) & - XLES_RES_ddxa_Thl_SBG_UaRt(:,:,1) & @@ -721,7 +721,7 @@ ZLES_BUDGET(:,:,ILES)= - XLES_RES_ddxa_Rt_SBG_UaThl(:,:,1) & ! IF ( ANY(XLES_SUBGRID_WThlRt(:,:,1)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TR' +YFIELDNAMES(ILES) = 'SBG_TR' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES) = - ( XLES_SUBGRID_WThlRt (JK+1,:,1) & @@ -738,7 +738,7 @@ END IF ! ----------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DISS' +YFIELDNAMES(ILES) = 'SBG_DISS' ! ZLES_BUDGET(:,:,ILES) = XLES_SUBGRID_DISS_ThlRt(:,:,1) ! @@ -747,7 +747,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_SUBGRID_DISS_ThlRt(:,:,1) ! -------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_RESI' +YFIELDNAMES(ILES) = 'SBG_RESI' ! ZLES_BUDGET(:,:,ILES) = 0. DO JLES=ILES_STA+1,ILES-1 @@ -760,7 +760,7 @@ ILES_STA=ILES ! -------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TEND' +YFIELDNAMES(ILES) = 'RES_TEND' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_TEND) ! @@ -770,7 +770,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_TEND) ! IF ( ANY(XLES_BU_RES_ThlRt(:,:,NLES_ADVM)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(7) = 'RES_ADV' +YFIELDNAMES(7) = 'RES_ADV' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_ADVM) END IF @@ -780,7 +780,7 @@ END IF ! IF ( ANY(XLES_BU_RES_ThlRt(:,:,NLES_FORC)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_FORC' +YFIELDNAMES(ILES) = 'RES_FORC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_FORC) END IF @@ -789,7 +789,7 @@ END IF ! ---------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_DP' +YFIELDNAMES(ILES) = 'RES_DP' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_DP) ! @@ -797,7 +797,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_DP) ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TR' +YFIELDNAMES(ILES) = 'RES_TR' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_TR) ! @@ -806,7 +806,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_TR) ! ---------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_SBGT' +YFIELDNAMES(ILES) = 'RES_SBGT' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_VTURB) + XLES_BU_RES_ThlRt(:,:,NLES_HTURB) ! @@ -816,7 +816,7 @@ ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_VTURB) + XLES_BU_RES_ThlRt(:, ! IF ( ANY(XLES_BU_RES_ThlRt(:,:,NLES_DIFF)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_NUMD' +YFIELDNAMES(ILES) = 'RES_NUMD' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_DIFF) END IF @@ -826,7 +826,7 @@ END IF ! IF ( ANY(XLES_BU_RES_ThlRt(:,:,NLES_RELA)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RELA' +YFIELDNAMES(ILES) = 'RES_RELA' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_RELA) END IF @@ -836,7 +836,7 @@ END IF ! IF ( ANY(XLES_BU_RES_ThlRt(:,:,NLES_NEST)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_NEST' +YFIELDNAMES(ILES) = 'RES_NEST' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_NEST) END IF @@ -849,7 +849,7 @@ IF ( ANY( XLES_BU_RES_ThlRt(:,:,NLES_MISC) & +XLES_BU_RES_ThlRt(:,:,NLES_RAD ) & +XLES_BU_RES_ThlRt(:,:,NLES_MICR) /= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_MISC' +YFIELDNAMES(ILES) = 'RES_MISC' ! ZLES_BUDGET(:,:,ILES) = XLES_BU_RES_ThlRt(:,:,NLES_MISC) & + XLES_BU_RES_ThlRt(:,:,NLES_PREF) & @@ -862,7 +862,7 @@ END IF ! --------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RESI' +YFIELDNAMES(ILES) = 'RES_RESI' ! ZLES_BUDGET(:,:,ILES) = 0. DO JLES=ILES_STA+1,ILES-1 @@ -873,7 +873,7 @@ END DO ! ------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_TEND' +YFIELDNAMES(ILES) = 'NSG_TEND' ! ZLES_BUDGET(:,:,ILES) = 0. IF (NLES_TIMES>2) THEN @@ -892,7 +892,7 @@ END IF ! ---------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVM' +YFIELDNAMES(ILES) = 'NSG_ADVM' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES)= -XLES_MEAN_W(JK,:,1) & @@ -909,7 +909,7 @@ ZLES_BUDGET(NLES_K,:,ILES) = ZLES_BUDGET(NLES_K-1,:,ILES) ! ---------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVR' +YFIELDNAMES(ILES) = 'NSG_ADVR' ! DO JK=2,NLES_K-1 ZLES_BUDGET(JK,:,ILES)= - ( XLES_RES_W_SBG_ThlRt (JK+1,:,1) & @@ -925,14 +925,14 @@ ZLES_BUDGET(NLES_K,:,ILES) = ZLES_BUDGET(NLES_K-1,:,ILES) !* 2.16 writing ! ------- ! -tzfield%cmnhname = ygroup !cmnhname will be overwritten by ysubtitle(:) in Les_diachro +tzfield%cmnhname = ygroup !cmnhname will be overwritten by yfieldnames(:) in Les_diachro tzfield%cstdname = '' -tzfield%clongname = ygroup !clongname will be overwritten by ysubtitle(:) in Les_diachro -tzfield%ccomment = 'Thl-Rt covariance budget' !ccomment will be completed with ysubtitle(:) in Les_diachro +tzfield%clongname = ygroup !clongname will be overwritten by yfieldnames(:) in Les_diachro +tzfield%ccomment = 'Thl-Rt covariance budget' !ccomment will be completed with yfieldnames(:) in Les_diachro tzfield%cunits = 'K kg kg-1 s-1' call Les_diachro( tpdiafile, tzfield, ygroup, ygroupcomment, gdoavg, gdonorm, & - zles_budget(:, :, :iles), hsuffixes = ysubtitle(:iles) ) + zles_budget(:, :, :iles), hfieldnames = yfieldnames(:iles) ) !------------------------------------------------------------------------------- ! diff --git a/src/MNH/write_les_sv_budgetn.f90 b/src/MNH/write_les_sv_budgetn.f90 index fcc924690465b2b92f86cb0798d0d2cc59b95722..bb7a206016d11dd4c932441bcef711b91142408a 100644 --- a/src/MNH/write_les_sv_budgetn.f90 +++ b/src/MNH/write_les_sv_budgetn.f90 @@ -92,7 +92,7 @@ INTEGER :: JT ! temporal loop counter INTEGER :: JSV! scalar loop counter INTEGER :: JP ! process loop counter ! -CHARACTER(len=9), DIMENSION(NMAX_ILES) :: YSUBTITLE +CHARACTER(len=9), DIMENSION(NMAX_ILES) :: YFIELDNAMES character(len=:), allocatable :: ygroup character(len=:), allocatable :: ygroupcomment ! @@ -125,7 +125,7 @@ ILES_STA=ILES ! ---------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_M' +YFIELDNAMES(ILES) = 'SBG_DP_M' ILES_P1=ILES ! DO JSV=1,NSV @@ -137,7 +137,7 @@ END DO ! -------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_R' +YFIELDNAMES(ILES) = 'SBG_DP_R' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV)= - 2. * XLES_RES_ddxa_Sv_SBG_UaSv(:,:,1,JSV) & @@ -150,7 +150,7 @@ END DO ! IF ( ANY(XLES_SUBGRID_WSv2(:,:,1,:)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TR' +YFIELDNAMES(ILES) = 'SBG_TR' ! DO JSV=1,NSV DO JK=2,NLES_K-1 @@ -169,7 +169,7 @@ END IF ! ----------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DISS' +YFIELDNAMES(ILES) = 'SBG_DISS' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_SUBGRID_DISS_Sv2(:,:,1,JSV) @@ -180,7 +180,7 @@ END DO ! -------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_RESI' +YFIELDNAMES(ILES) = 'SBG_RESI' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = 0. @@ -195,7 +195,7 @@ ILES_STA=ILES ! -------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TEND' +YFIELDNAMES(ILES) = 'RES_TEND' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_Sv2(:,:,NLES_TEND,JSV) @@ -206,7 +206,7 @@ END DO ! IF ( ANY(XLES_BU_RES_Sv2(:,:,NLES_ADVM,:)/= 0.) ) THEN ILES=ILES+1 - YSUBTITLE(ILES) = 'RES_ADV' + YFIELDNAMES(ILES) = 'RES_ADV' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_Sv2(:,:,NLES_ADVM,JSV) @@ -218,7 +218,7 @@ END IF ! IF ( ANY(XLES_BU_RES_Sv2(:,:,NLES_FORC,:)/= 0.) ) THEN ILES=ILES+1 - YSUBTITLE(ILES) = 'RES_FORC' + YFIELDNAMES(ILES) = 'RES_FORC' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_Sv2(:,:,NLES_FORC,JSV) @@ -230,7 +230,7 @@ END IF ! ---------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_DP' +YFIELDNAMES(ILES) = 'RES_DP' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_Sv2(:,:,NLES_DP,JSV) @@ -240,7 +240,7 @@ END DO ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TR' +YFIELDNAMES(ILES) = 'RES_TR' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_Sv2(:,:,NLES_TR,JSV) @@ -251,7 +251,7 @@ END DO ! ---------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_SBGT' +YFIELDNAMES(ILES) = 'RES_SBGT' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_Sv2(:,:,NLES_VTURB,JSV) & @@ -263,7 +263,7 @@ END DO ! IF ( ANY(XLES_BU_RES_Sv2(:,:,NLES_DIFF,:)/= 0.) ) THEN ILES=ILES+1 - YSUBTITLE(ILES) = 'RES_NUMD' + YFIELDNAMES(ILES) = 'RES_NUMD' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_Sv2(:,:,NLES_DIFF,JSV) @@ -275,7 +275,7 @@ END IF ! IF ( ANY(XLES_BU_RES_Sv2(:,:,NLES_RELA,:)/= 0.) ) THEN ILES=ILES+1 - YSUBTITLE(ILES) = 'RES_RELA' + YFIELDNAMES(ILES) = 'RES_RELA' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_Sv2(:,:,NLES_RELA,JSV) @@ -287,7 +287,7 @@ END IF ! IF ( ANY(XLES_BU_RES_Sv2(:,:,NLES_NEST,:)/= 0.) ) THEN ILES=ILES+1 - YSUBTITLE(ILES) = 'RES_NEST' + YFIELDNAMES(ILES) = 'RES_NEST' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_Sv2(:,:,NLES_NEST,JSV) @@ -299,7 +299,7 @@ END IF ! IF ( ANY(XLES_BU_RES_Sv2(:,:,NLES_MISC,:)/= 0.) ) THEN ILES=ILES+1 - YSUBTITLE(ILES) = 'RES_MISC' + YFIELDNAMES(ILES) = 'RES_MISC' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_Sv2(:,:,NLES_MISC,JSV) @@ -310,7 +310,7 @@ END IF ! --------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RESI' +YFIELDNAMES(ILES) = 'RES_RESI' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = 0. @@ -323,7 +323,7 @@ END DO ! ------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_TEND' +YFIELDNAMES(ILES) = 'NSG_TEND' ! IF (NLES_TIMES>2) THEN DO JSV=1,NSV @@ -344,7 +344,7 @@ END IF ! ---------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVM' +YFIELDNAMES(ILES) = 'NSG_ADVM' ! DO JSV=1,NSV DO JK=2,NLES_K-1 @@ -362,7 +362,7 @@ END DO ! ---------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVR' +YFIELDNAMES(ILES) = 'NSG_ADVR' ! DO JSV=1,NSV DO JK=2,NLES_K-1 @@ -382,10 +382,10 @@ END DO tzfield%ngrid = 0 !Not on the Arakawa grid tzfield%ntype = TYPEREAL -tzfield%cmnhname = ygroup !cmnhname will be overwritten by ysubtitle(:) in Les_diachro +tzfield%cmnhname = ygroup !cmnhname will be overwritten by yfieldnames(:) in Les_diachro tzfield%cstdname = '' -tzfield%clongname = ygroup !clongname will be overwritten by ysubtitle(:) in Les_diachro -tzfield%ccomment = 'Sv variance budget' !ccomment will be completed with ysubtitle(:) in Les_diachro +tzfield%clongname = ygroup !clongname will be overwritten by yfieldnames(:) in Les_diachro +tzfield%ccomment = 'Sv variance budget' !ccomment will be completed with yfieldnames(:) in Les_diachro tzfield%cunits = 'kg2 kg-2 s-1' tzfield%ndims = 4 @@ -399,7 +399,7 @@ gdoavg = xles_temp_mean_start /= XUNDEF .and. xles_temp_mean_end /= XUNDEF gdonorm = trim(cles_norm_type) /= 'NONE' call Les_diachro( tpdiafile, tzfield, ygroup, ygroupcomment, gdoavg, gdonorm, & - zles_budget(:, :, :iles, :), hsuffixes = ysubtitle(:iles) ) + zles_budget(:, :, :iles, :), hfieldnames = yfieldnames(:iles) ) !------------------------------------------------------------------------------- ! @@ -418,7 +418,7 @@ ILES_STA=ILES ! ----------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_M' +YFIELDNAMES(ILES) = 'SBG_DP_M' ILES_P1=ILES ! DO JSV=1,NSV @@ -431,7 +431,7 @@ END DO ! ------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_DP_R' +YFIELDNAMES(ILES) = 'SBG_DP_R' ILES_P2=ILES ! DO JSV=1,NSV @@ -446,7 +446,7 @@ END DO ! IF ( ANY(XLES_SUBGRID_W2Sv(:,:,1,:)/= 0.) ) THEN ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TR' +YFIELDNAMES(ILES) = 'SBG_TR' ! DO JSV=1,NSV DO JK=2,NLES_K-1 @@ -465,7 +465,7 @@ END IF ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_PRES' +YFIELDNAMES(ILES) = 'SBG_PRES' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_SUBGRID_SvPz(:,:,1,JSV) @@ -476,7 +476,7 @@ END DO ! ------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_TP' +YFIELDNAMES(ILES) = 'SBG_TP' ! IF (LUSERV) THEN DO JSV=1,NSV @@ -496,7 +496,7 @@ END IF ! ILES=ILES+1 !PW: not in documentation. Always set to 0 -YSUBTITLE(ILES) = 'SBG_DISS' +YFIELDNAMES(ILES) = 'SBG_DISS' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = 0. @@ -507,7 +507,7 @@ END DO ! -------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'SBG_RESI' +YFIELDNAMES(ILES) = 'SBG_RESI' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = 0. @@ -522,7 +522,7 @@ ILES_STA=ILES ! -------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TEND' +YFIELDNAMES(ILES) = 'RES_TEND' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_WSv(:,:,NLES_TEND,JSV) @@ -533,7 +533,7 @@ END DO ! IF ( ANY(XLES_BU_RES_WSv(:,:,NLES_ADVM,:)/= 0.) ) THEN ILES=ILES+1 - YSUBTITLE(ILES) = 'RES_ADV' + YFIELDNAMES(ILES) = 'RES_ADV' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_WSv(:,:,NLES_ADVM,JSV) @@ -545,7 +545,7 @@ END IF ! IF ( ANY(XLES_BU_RES_WSv(:,:,NLES_FORC,:)/= 0.) ) THEN ILES=ILES+1 - YSUBTITLE(ILES) = 'RES_FORC' + YFIELDNAMES(ILES) = 'RES_FORC' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_WSv(:,:,NLES_FORC,JSV) @@ -556,7 +556,7 @@ END IF ! ---------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_DP' +YFIELDNAMES(ILES) = 'RES_DP' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_WSv(:,:,NLES_DP,JSV) @@ -566,7 +566,7 @@ END DO ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TR' +YFIELDNAMES(ILES) = 'RES_TR' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_WSv(:,:,NLES_TR,JSV) @@ -577,7 +577,7 @@ END DO ! ------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_PRES' +YFIELDNAMES(ILES) = 'RES_PRES' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_WSv(:,:,NLES_PRES,JSV) @@ -588,7 +588,7 @@ END DO ! ------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_TP' +YFIELDNAMES(ILES) = 'RES_TP' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_WSv(:,:,NLES_GRAV,JSV) @@ -599,7 +599,7 @@ END DO ! ---------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_SBGT' +YFIELDNAMES(ILES) = 'RES_SBGT' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_WSv(:,:,NLES_VTURB,JSV) + XLES_BU_RES_WSv(:,:,NLES_HTURB,JSV) @@ -610,7 +610,7 @@ END DO ! IF ( ANY(XLES_BU_RES_WSv(:,:,NLES_COR,:)/= 0.) ) THEN ILES=ILES+1 - YSUBTITLE(ILES) = 'RES_CORI' + YFIELDNAMES(ILES) = 'RES_CORI' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_WSv(:,:,NLES_COR,JSV) @@ -622,7 +622,7 @@ END IF ! IF ( ANY(XLES_BU_RES_WSv(:,:,NLES_DIFF,:)/= 0.) ) THEN ILES=ILES+1 - YSUBTITLE(ILES) = 'RES_NUMD' + YFIELDNAMES(ILES) = 'RES_NUMD' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_WSv(:,:,NLES_DIFF,JSV) @@ -634,7 +634,7 @@ END IF ! IF ( ANY(XLES_BU_RES_WSv(:,:,NLES_RELA,:)/= 0.) ) THEN ILES=ILES+1 - YSUBTITLE(ILES) = 'RES_RELA' + YFIELDNAMES(ILES) = 'RES_RELA' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_WSv(:,:,NLES_RELA,JSV) @@ -646,7 +646,7 @@ END IF ! IF ( ANY(XLES_BU_RES_WSv(:,:,NLES_NEST,:)/= 0.) ) THEN ILES=ILES+1 - YSUBTITLE(ILES) = 'RES_NEST' + YFIELDNAMES(ILES) = 'RES_NEST' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_WSv(:,:,NLES_NEST,JSV) @@ -658,7 +658,7 @@ END IF ! IF ( ANY(XLES_BU_RES_WSv(:,:,NLES_MISC,:)/= 0.) ) THEN ILES=ILES+1 - YSUBTITLE(ILES) = 'RES_MISC' + YFIELDNAMES(ILES) = 'RES_MISC' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = XLES_BU_RES_WSv(:,:,NLES_MISC,JSV) @@ -669,7 +669,7 @@ END IF ! ------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'RES_RESI' +YFIELDNAMES(ILES) = 'RES_RESI' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = 0. @@ -682,7 +682,7 @@ END DO ! ------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_TEND' +YFIELDNAMES(ILES) = 'NSG_TEND' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV) = 0. @@ -705,7 +705,7 @@ END DO ! ------------------------------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVM' +YFIELDNAMES(ILES) = 'NSG_ADVM' ! DO JSV=1,NSV DO JK=2,NLES_K-1 @@ -723,7 +723,7 @@ END DO ! ------------------------------------------------ ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_ADVR' +YFIELDNAMES(ILES) = 'NSG_ADVR' ! DO JSV=1,NSV DO JK=2,NLES_K-1 @@ -740,7 +740,7 @@ END DO ! ---------------------------------------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_DPGW' +YFIELDNAMES(ILES) = 'NSG_DPGW' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV)=- XLES_RES_ddxa_W_SBG_UaSv(:,:,1,JSV) @@ -751,7 +751,7 @@ END DO ! ------------------------------------------------------------------------- ! ILES=ILES+1 -YSUBTITLE(ILES) = 'NSG_DPGT' +YFIELDNAMES(ILES) = 'NSG_DPGT' ! DO JSV=1,NSV ZLES_BUDGET(:,:,ILES,JSV)=-XLES_RES_ddxa_Sv_SBG_UaW(:,:,1,JSV) & @@ -765,10 +765,10 @@ END DO tzfield%ngrid = 0 !Not on the Arakawa grid tzfield%ntype = TYPEREAL -tzfield%cmnhname = ygroup !cmnhname will be overwritten by ysubtitle(:) in Les_diachro +tzfield%cmnhname = ygroup !cmnhname will be overwritten by yfieldnames(:) in Les_diachro tzfield%cstdname = '' -tzfield%clongname = ygroup !clongname will be overwritten by ysubtitle(:) in Les_diachro -tzfield%ccomment = 'Sv flux budget' !ccomment will be completed with ysubtitle(:) in Les_diachro +tzfield%clongname = ygroup !clongname will be overwritten by yfieldnames(:) in Les_diachro +tzfield%ccomment = 'Sv flux budget' !ccomment will be completed with yfieldnames(:) in Les_diachro tzfield%cunits = 'm kg kg-1 s-2' tzfield%ndims = 4 @@ -782,7 +782,7 @@ gdoavg = xles_temp_mean_start /= XUNDEF .and. xles_temp_mean_end /= XUNDEF gdonorm = trim(cles_norm_type) /= 'NONE' call Les_diachro( tpdiafile, tzfield, ygroup, ygroupcomment, gdoavg, gdonorm, & - zles_budget(:, :, :iles, :), hsuffixes = ysubtitle(:iles) ) + zles_budget(:, :, :iles, :), hfieldnames = yfieldnames(:iles) ) !------------------------------------------------------------------------------- !