diff --git a/src/MNH/modd_budget.f90 b/src/MNH/modd_budget.f90 index 3db13890c0f0eeffccdb98cef040fd194d96345c..44a3cfff0e0cdd4c5a930be3631aadba593c9ef9 100644 --- a/src/MNH/modd_budget.f90 +++ b/src/MNH/modd_budget.f90 @@ -108,6 +108,9 @@ type :: tbudiachrometadata character(len=NBUNAMELGTMAX) :: cname = 'not set' character(len=NCOMMENTLGTMAX) :: ccomment = 'not set' character(len=NBUNAMELGTMAX) :: ctype = 'not set' + character(len=NBUNAMELGTMAX) :: ccategory = 'not set' !budget, LES, aircraft, balloon, series, station, profiler + character(len=NBUNAMELGTMAX) :: cshape = 'not set' !Shape of the domain (mask, cartesian, vertical profile, point) + logical :: lmobile = .false. !Is the domain moving? (ie for aircrafts and balloons) logical :: licompress = .false. logical :: ljcompress = .false. logical :: lkcompress = .false. diff --git a/src/MNH/mode_les_diachro.f90 b/src/MNH/mode_les_diachro.f90 index 6627a8eff08a032e77f4391ecf414a04e710e904..27764a382b7ad500d65dfde90516e50bcbb897df 100644 --- a/src/MNH/mode_les_diachro.f90 +++ b/src/MNH/mode_les_diachro.f90 @@ -1029,6 +1029,9 @@ if ( iresp == 0 .and. any( zfield /= XUNDEF ) ) then !tzbudiachro%ccomment = DONE BEFORE ! tzbudiachro%ctype = 'SSOL' tzbudiachro%ctype = 'TLES' !T for trajectory (used in Write_diachro_lfi to add trajectory terms) + tzbudiachro%ccategory = 'LES' + tzbudiachro%cshape = 'cartesian' + tzbudiachro%lmobile = .false. tzbudiachro%licompress = .false. tzbudiachro%ljcompress = .false. tzbudiachro%lkcompress = .false. @@ -1207,6 +1210,9 @@ else tzbudiachro%ccomment = Trim( tzfield%ccomment ) // ' (time averaged)' end if tzbudiachro%ctype = 'SPXY' +tzbudiachro%ccategory = 'LES' +tzbudiachro%cshape = 'spectrum' +tzbudiachro%lmobile = .false. tzbudiachro%licompress = .false. tzbudiachro%ljcompress = .false. tzbudiachro%lkcompress = .false. @@ -1360,6 +1366,9 @@ tzbudiachro%cgroupname = ygroup tzbudiachro%cname = ygroup tzbudiachro%ccomment = tzfield%ccomment tzbudiachro%ctype = 'SPXY' +tzbudiachro%ccategory = 'LES' +tzbudiachro%cshape = 'spectrum' +tzbudiachro%lmobile = .false. tzbudiachro%licompress = .false. tzbudiachro%ljcompress = .false. tzbudiachro%lkcompress = .false. @@ -1385,6 +1394,9 @@ tzbudiachro%cgroupname = ygroup tzbudiachro%cname = ygroup tzbudiachro%ccomment = Trim( tzfield%ccomment ) // ' (time averaged)' tzbudiachro%ctype = 'SPXY' +tzbudiachro%ccategory = 'LES' +tzbudiachro%cshape = 'spectrum' +tzbudiachro%lmobile = .false. tzbudiachro%licompress = .false. tzbudiachro%ljcompress = .false. tzbudiachro%lkcompress = .false. diff --git a/src/MNH/write_aircraft_balloon.f90 b/src/MNH/write_aircraft_balloon.f90 index 2ff4254e6919fef020bc6b40a468b17011e74538..993ce2f91077560b34f1509d56bbf6b637145d2b 100644 --- a/src/MNH/write_aircraft_balloon.f90 +++ b/src/MNH/write_aircraft_balloon.f90 @@ -105,6 +105,7 @@ USE MODD_PARAM_LIMA , ONLY: NINDICE_CCN_IMM,NMOD_CCN,NMOD_IFN,NMOD_IMM USE MODE_MODELN_HANDLER USE MODE_DUST_PSD USE MODE_AERO_PSD +use mode_msg use mode_write_diachro, only: Write_diachro ! IMPLICIT NONE @@ -855,6 +856,20 @@ tzbudiachro%cgroupname = ygroup tzbudiachro%cname = ygroup tzbudiachro%ccomment = 'Values at position of flyer ' // Trim( tpflyer%title ) tzbudiachro%ctype = 'RSPL' +if ( Trim( tpflyer%type ) == 'AIRCRA' ) then + tzbudiachro%ccategory = 'aircraft' +else if ( Trim( tpflyer%type ) == 'RADIOS' ) then + tzbudiachro%ccategory = 'radiosonde balloon' +else if ( Trim( tpflyer%type ) == 'ISODEN' ) then + tzbudiachro%ccategory = 'iso-density balloon' +else if ( Trim( tpflyer%type ) == 'CVBALL' ) then + tzbudiachro%ccategory = 'constant volume balloon' +else + call Print_msg( NVERB_ERROR, 'IO', 'WRITE_AIRCRAFT_BALLOON', 'unknown category for flyer ' // Trim( tpflyer%title ) ) + tzbudiachro%ccategory = 'unknown' +end if +tzbudiachro%cshape = 'point' +tzbudiachro%lmobile = .true. ! tzbudiachro%licompress = NOT SET (default values) ! tzbudiachro%ljcompress = NOT SET (default values) ! tzbudiachro%lkcompress = NOT SET (default values) @@ -891,6 +906,9 @@ tzbudiachro%cgroupname = ygroupz tzbudiachro%cname = ygroupz tzbudiachro%ccomment = 'Vertical profiles at position of flyer ' // Trim( tpflyer%title ) tzbudiachro%ctype = 'CART' +! tzbudiachro%ccategory = !unchanged +tzbudiachro%cshape = 'vertical profile' +tzbudiachro%lmobile = .true. tzbudiachro%licompress = .true. tzbudiachro%ljcompress = .true. tzbudiachro%lkcompress = .false. diff --git a/src/MNH/write_budget.f90 b/src/MNH/write_budget.f90 index 72a9ec46ffa25a9c5644d90e1cbf28f9d2d843db..be4f2d5a2d56ce97923cd3cf146b6b3a04ba3816 100644 --- a/src/MNH/write_budget.f90 +++ b/src/MNH/write_budget.f90 @@ -559,6 +559,13 @@ subroutine Store_one_budget_rho( tpdiafile, tpdates, tprhodj, kp, knocompress, p tzbudiachro%cname = tprhodj%cmnhname tzbudiachro%ccomment = tprhodj%ccomment tzbudiachro%ctype = ybutype + tzbudiachro%ccategory = 'budget' + if ( ybutype == 'CART' ) then + tzbudiachro%cshape = 'cartesian' + else + tzbudiachro%cshape = 'mask' + end if + tzbudiachro%lmobile = .false. tzbudiachro%licompress = lbu_icp tzbudiachro%ljcompress = lbu_jcp tzbudiachro%lkcompress = lbu_kcp @@ -805,6 +812,13 @@ subroutine Store_one_budget( tpdiafile, tpdates, tpbudget, prhodjn, knocompress, tzbudiachro%cname = tpbudget%cname tzbudiachro%ccomment = tpbudget%ccomment tzbudiachro%ctype = ybutype + tzbudiachro%ccategory = 'budget' + if ( ybutype == 'CART' ) then + tzbudiachro%cshape = 'cartesian' + else + tzbudiachro%cshape = 'mask' + end if + tzbudiachro%lmobile = .false. tzbudiachro%licompress = lbu_icp tzbudiachro%ljcompress = lbu_jcp tzbudiachro%lkcompress = lbu_kcp diff --git a/src/MNH/write_profilern.f90 b/src/MNH/write_profilern.f90 index eba14d51eefe087361d40342f1074f1888ef3ff0..e0ed5fcfd6b4bb0d8e4117996d9d8a85f67da5e1 100644 --- a/src/MNH/write_profilern.f90 +++ b/src/MNH/write_profilern.f90 @@ -654,6 +654,9 @@ tzbudiachro%cgroupname = ygroup tzbudiachro%cname = ygroup tzbudiachro%ccomment = 'Vertical profiles at position of profiler ' // Trim( ygroup ) tzbudiachro%ctype = 'CART' +tzbudiachro%ccategory = 'profiler' +tzbudiachro%cshape = 'vertical profile' +tzbudiachro%lmobile = .false. tzbudiachro%licompress = .true. tzbudiachro%ljcompress = .true. tzbudiachro%lkcompress = .false. diff --git a/src/MNH/write_seriesn.f90 b/src/MNH/write_seriesn.f90 index 1729e726dc566c4a82eb7e346b6e1328f609de71..e0aa67be2a6e3884202bd00288f5cbff50d3594c 100644 --- a/src/MNH/write_seriesn.f90 +++ b/src/MNH/write_seriesn.f90 @@ -263,15 +263,18 @@ tzbudiachro%cgroupname = 'TSERIES' tzbudiachro%cname = 'TSERIES' tzbudiachro%ccomment = 'Time series of horizontally and vertically averaged fields' tzbudiachro%ctype = 'CART' +tzbudiachro%ccategory = 'time series' +tzbudiachro%cshape = 'cartesian' !It is based on a cartesian domain (with compression in all directions) +tzbudiachro%lmobile = .false. tzbudiachro%licompress = .true. tzbudiachro%ljcompress = .true. tzbudiachro%lkcompress = .true. -tzbudiachro%nil = 1 -tzbudiachro%nih = 1 -tzbudiachro%njl = 1 -tzbudiachro%njh = 1 +tzbudiachro%nil = niboxl +tzbudiachro%nih = niboxh +tzbudiachro%njl = njboxl +tzbudiachro%njh = njboxh tzbudiachro%nkl = 1 -tzbudiachro%nkh = 1 +tzbudiachro%nkh = ikmax call Write_diachro( tpdiafile, tzbudiachro, tzfields, tpsdates(1:nsnbstept), & xsseries1(1:1,1:1,1:1,1:nsnbstept,1:1,:) ) @@ -355,15 +358,18 @@ tzbudiachro%cgroupname = 'ZTSERIES' tzbudiachro%cname = 'ZTSERIES' tzbudiachro%ccomment = 'Time series of horizontally averaged vertical profile' tzbudiachro%ctype = 'CART' +tzbudiachro%ccategory = 'time series' +tzbudiachro%cshape = 'cartesian' !It is based on a cartesian domain (with horizontal compression) +tzbudiachro%lmobile = .false. tzbudiachro%licompress = .true. tzbudiachro%ljcompress = .true. tzbudiachro%lkcompress = .false. -tzbudiachro%nil = 1 -tzbudiachro%nih = 1 -tzbudiachro%njl = 1 -tzbudiachro%njh = 1 -tzbudiachro%nkl = ikb -tzbudiachro%nkh = ike +tzbudiachro%nil = niboxl +tzbudiachro%nih = niboxh +tzbudiachro%njl = njboxl +tzbudiachro%njh = njboxh +tzbudiachro%nkl = 1 +tzbudiachro%nkh = ikmax call Write_diachro( tpdiafile, tzbudiachro, tzfields, tpsdates(1:nsnbstept), & xsseries2(1:1,1:1,1:ikmax,1:nsnbstept,1:1,:) ) @@ -451,6 +457,9 @@ DO JS=1,NBJSLICE tzbudiachro%cname = ygroup tzbudiachro%ccomment = 'Time series of y-horizontally averaged fields at one level or vertically averaged between 2 levels' tzbudiachro%ctype = 'SSOL' + tzbudiachro%ccategory = 'time series' + tzbudiachro%cshape = 'cartesian' !It is based on a cartesian domain (with compression in 1 direction) + tzbudiachro%lmobile = .false. tzbudiachro%licompress = .false. tzbudiachro%ljcompress = .true. tzbudiachro%lkcompress = .true. diff --git a/src/MNH/write_stationn.f90 b/src/MNH/write_stationn.f90 index 2c6f6553ffdf971f184ffba397635e65cdff1032..ecacfb93518111d04e6787461c881bb4f14c4648 100644 --- a/src/MNH/write_stationn.f90 +++ b/src/MNH/write_stationn.f90 @@ -739,6 +739,9 @@ tzbudiachro%cgroupname = ygroup tzbudiachro%cname = ygroup tzbudiachro%ccomment = 'Values at position of station ' // Trim( ygroup ) tzbudiachro%ctype = 'CART' +tzbudiachro%ccategory = 'station' +tzbudiachro%cshape = 'point' +tzbudiachro%lmobile = .false. tzbudiachro%licompress = .true. tzbudiachro%ljcompress = .true. tzbudiachro%lkcompress = .false.