Skip to content
Snippets Groups Projects
Commit 4d9ee7c4 authored by WAUTELET Philippe's avatar WAUTELET Philippe
Browse files

Philippe 08/10/2021: add 2 new dimensions: LW_bands and SW_bands

parent e964ab16
No related branches found
No related tags found
No related merge requests found
......@@ -13,6 +13,7 @@
! P. Wautelet 14/09/2020: add ndimlist field to tfield_metadata_base
! P. Wautelet 10/11/2020: new data structures for netCDF dimensions
! P. Wautelet 24/09/2021: add Fill_tfielddata and use it as a custom constructor for tfielddata type
! P. Wautelet 08/10/2021: add 2 new dimensions: LW_bands (NMNHDIM_NLWB) and SW_bands (NMNHDIM_NSWB)
!-----------------------------------------------------------------
module modd_field
......@@ -43,49 +44,52 @@ integer, parameter :: NMNHDIM_TIME = 9
integer, parameter :: NMNHDIM_ONE = 10
integer, parameter :: NMNHDIM_LASTDIM_NODIACHRO = 10 ! Index of the last defined dimension for non-diachronic files
integer, parameter :: NMNHDIM_NSWB = 11
integer, parameter :: NMNHDIM_NLWB = 12
integer, parameter :: NMNHDIM_COMPLEX = 11
integer, parameter :: NMNHDIM_LASTDIM_NODIACHRO = 12 ! Index of the last defined dimension for non-diachronic files
integer, parameter :: NMNHDIM_BUDGET_CART_NI = 12
integer, parameter :: NMNHDIM_BUDGET_CART_NJ = 13
integer, parameter :: NMNHDIM_BUDGET_CART_NI_U = 14
integer, parameter :: NMNHDIM_BUDGET_CART_NJ_U = 15
integer, parameter :: NMNHDIM_BUDGET_CART_NI_V = 16
integer, parameter :: NMNHDIM_BUDGET_CART_NJ_V = 17
integer, parameter :: NMNHDIM_BUDGET_CART_LEVEL = 18
integer, parameter :: NMNHDIM_BUDGET_CART_LEVEL_W = 19
integer, parameter :: NMNHDIM_COMPLEX = 13
integer, parameter :: NMNHDIM_BUDGET_MASK_LEVEL = 20
integer, parameter :: NMNHDIM_BUDGET_MASK_LEVEL_W = 21
integer, parameter :: NMNHDIM_BUDGET_MASK_NBUMASK = 22
integer, parameter :: NMNHDIM_BUDGET_CART_NI = 14
integer, parameter :: NMNHDIM_BUDGET_CART_NJ = 15
integer, parameter :: NMNHDIM_BUDGET_CART_NI_U = 16
integer, parameter :: NMNHDIM_BUDGET_CART_NJ_U = 17
integer, parameter :: NMNHDIM_BUDGET_CART_NI_V = 18
integer, parameter :: NMNHDIM_BUDGET_CART_NJ_V = 19
integer, parameter :: NMNHDIM_BUDGET_CART_LEVEL = 20
integer, parameter :: NMNHDIM_BUDGET_CART_LEVEL_W = 21
integer, parameter :: NMNHDIM_BUDGET_TIME = 23
integer, parameter :: NMNHDIM_BUDGET_MASK_LEVEL = 22
integer, parameter :: NMNHDIM_BUDGET_MASK_LEVEL_W = 23
integer, parameter :: NMNHDIM_BUDGET_MASK_NBUMASK = 24
integer, parameter :: NMNHDIM_BUDGET_LES_TIME = 24
integer, parameter :: NMNHDIM_BUDGET_LES_AVG_TIME = 25
integer, parameter :: NMNHDIM_BUDGET_LES_LEVEL = 26
integer, parameter :: NMNHDIM_BUDGET_LES_SV = 27
integer, parameter :: NMNHDIM_BUDGET_LES_PDF = 28
integer, parameter :: NMNHDIM_BUDGET_TIME = 25
integer, parameter :: NMNHDIM_BUDGET_LES_TIME = 26
integer, parameter :: NMNHDIM_BUDGET_LES_AVG_TIME = 27
integer, parameter :: NMNHDIM_BUDGET_LES_LEVEL = 28
integer, parameter :: NMNHDIM_BUDGET_LES_SV = 29
integer, parameter :: NMNHDIM_BUDGET_LES_PDF = 30
integer, parameter :: NMNHDIM_BUDGET_LES_MASK = 100 ! This is not a true dimension
integer, parameter :: NMNHDIM_SPECTRA_2PTS_NI = 29
integer, parameter :: NMNHDIM_SPECTRA_2PTS_NJ = 30
integer, parameter :: NMNHDIM_SPECTRA_SPEC_NI = 31
integer, parameter :: NMNHDIM_SPECTRA_SPEC_NJ = 32
integer, parameter :: NMNHDIM_SPECTRA_LEVEL = 33
integer, parameter :: NMNHDIM_SPECTRA_2PTS_NI = 31
integer, parameter :: NMNHDIM_SPECTRA_2PTS_NJ = 32
integer, parameter :: NMNHDIM_SPECTRA_SPEC_NI = 33
integer, parameter :: NMNHDIM_SPECTRA_SPEC_NJ = 34
integer, parameter :: NMNHDIM_SPECTRA_LEVEL = 35
integer, parameter :: NMNHDIM_SERIES_LEVEL = 34
integer, parameter :: NMNHDIM_SERIES_LEVEL_W = 35
integer, parameter :: NMNHDIM_SERIES_TIME = 36 ! Time dimension for time series
integer, parameter :: NMNHDIM_SERIES_LEVEL = 36
integer, parameter :: NMNHDIM_SERIES_LEVEL_W = 37
integer, parameter :: NMNHDIM_SERIES_TIME = 38 ! Time dimension for time series
integer, parameter :: NMNHDIM_FLYER_TIME = 37 ! Time dimension for aircraft/balloon (dimension local to each flyer)
integer, parameter :: NMNHDIM_PROFILER_TIME = 38 ! Time dimension for profilers
integer, parameter :: NMNHDIM_STATION_TIME = 39 ! Time dimension for stations
integer, parameter :: NMNHDIM_FLYER_TIME = 39 ! Time dimension for aircraft/balloon (dimension local to each flyer)
integer, parameter :: NMNHDIM_PROFILER_TIME = 40 ! Time dimension for profilers
integer, parameter :: NMNHDIM_STATION_TIME = 41 ! Time dimension for stations
integer, parameter :: NMNHDIM_PAIR = 40 ! For values coming by pair (ie boundaries)
integer, parameter :: NMNHDIM_PAIR = 42 ! For values coming by pair (ie boundaries)
integer, parameter :: NMNHDIM_LASTDIM_DIACHRO = 40 ! Index of the last defined dimension for diachronic files
integer, parameter :: NMNHDIM_LASTDIM_DIACHRO = 42 ! Index of the last defined dimension for diachronic files
integer, parameter :: NMNHDIM_BUDGET_NGROUPS = 101 ! This is not a true dimension
integer, parameter :: NMNHDIM_FLYER_PROC = 102 ! This is not a true dimension
......
......@@ -19,6 +19,7 @@
! P. Wautelet 18/03/2021: workaround for an intel compiler bug
! P. Wautelet 04/05/2021: improve IO_Vdims_fill_nc4 if l2d and lpack
! P. Wautelet 27/05/2021: improve IO_Mnhname_clean to autocorrect names to be CF compliant
! P. Wautelet 08/10/2021: add 2 new dimensions: LW_bands and SW_bands
!-----------------------------------------------------------------
#ifdef MNH_IOCDF4
module mode_io_tools_nc4
......@@ -254,7 +255,7 @@ use modd_dyn, only: xseglen
use modd_dyn_n, only: xtstep
use modd_field, only: NMNHDIM_NI, NMNHDIM_NJ, NMNHDIM_NI_U, NMNHDIM_NJ_U, NMNHDIM_NI_V, NMNHDIM_NJ_V, &
NMNHDIM_LEVEL, NMNHDIM_LEVEL_W, NMNHDIM_TIME, &
NMNHDIM_ONE, NMNHDIM_COMPLEX, &
NMNHDIM_ONE, NMNHDIM_NSWB, NMNHDIM_NLWB, NMNHDIM_COMPLEX, &
NMNHDIM_BUDGET_CART_NI, NMNHDIM_BUDGET_CART_NJ, NMNHDIM_BUDGET_CART_NI_U, &
NMNHDIM_BUDGET_CART_NJ_U, NMNHDIM_BUDGET_CART_NI_V, NMNHDIM_BUDGET_CART_NJ_V, &
NMNHDIM_BUDGET_CART_LEVEL, NMNHDIM_BUDGET_CART_LEVEL_W, &
......@@ -274,7 +275,9 @@ use modd_les, only: lles_pdf, nles_k, npdf, nspectra_k, xles_temp_mean
use modd_les_n, only: nles_times, nspectra_ni, nspectra_nj
use modd_nsv, only: nsv
USE MODD_PARAMETERS_ll, ONLY: JPHEXT, JPVEXT
use modd_param_n, only: crad
use modd_profiler_n, only: numbprofiler, tprofiler
use modd_radiations_n, only: nlwb_mnh, nswb_mnh
use modd_series, only: lseries
use modd_series_n, only: nsnbstept
use modd_station_n, only: numbstat, tstation
......@@ -336,6 +339,11 @@ if ( tpfile%ctype == 'MNHDIACHRONIC' .or. ( lpack .and. l2d ) ) then
call IO_Add_dim_nc4( tpfile, NMNHDIM_ONE, 'one', 1 )
end if
if ( tpfile%ctype /= 'MNHDIACHRONIC' .and. crad /= 'NONE' ) then
call IO_Add_dim_nc4( tpfile, NMNHDIM_NSWB, 'SW_bands', nswb_mnh ) !number of SW bands practically used
call IO_Add_dim_nc4( tpfile, NMNHDIM_NLWB, 'LW_bands', nlwb_mnh ) !number of LW bands practically used
end if
!Write dimensions used in diachronic files
if ( tpfile%ctype == 'MNHDIACHRONIC' ) then
!Dimension of size 2 used for NMNHDIM_COMPLEX
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment