Reading and plotting the data in controlvect.nc#
Warning
To generate controlvect.nc
files, use the option save_out_netcdf
in controlvect.
The NetCDF controlvect files are stored in $WORKDIR/controlvect/THE_VARIABLE
with THE_VARIABLE
= flux, inicond, latcond, topcond, etc, according to the components
selected for inversion in datavect
(see tutorial for an inversion).
They are formatted as follows:
netcdf controlvect_inicond_CH4 {
dimensions:
time = TT ;
lev = NL ;
lat = NLAT ;
lon = NLON ;
time_phys = PP ;
latc = NLATC ;
lonc = NLONC ;
variables:
int64 time(time) ;
time:units = "days since 2008-01-01 00:00:00" ;
time:calendar = "proleptic_gregorian" ;
int64 lev(lev) ;
double x(time, lev, lat, lon) ;
x:_FillValue = NaN ;
double xb(time, lev, lat, lon) ;
xb:_FillValue = NaN ;
double b_std(time, lev, lat, lon) ;
b_std:_FillValue = NaN ;
int64 time_phys(time_phys) ;
time_phys:units = "microseconds since 2008-01-01 00:00:00" ;
time_phys:calendar = "proleptic_gregorian" ;
double x_phys(time_phys, lev, lat, lon) ;
x_phys:_FillValue = NaN ;
double xb_phys(time_phys, lev, lat, lon) ;
xb_phys:_FillValue = NaN ;
double b_phys(time_phys, lev, lat, lon) ;
b_phys:_FillValue = NaN ;
float latitudes(lat, lon) ;
latitudes:_FillValue = NaNf ;
float longitudes(lat, lon) ;
longitudes:_FillValue = NaNf ;
double latitudes_corner(latc, lonc) ;
latitudes_corner:_FillValue = NaN ;
double longitudes_corner(latc, lonc) ;
longitudes_corner:_FillValue = NaN ;
double areas(lat, lon) ;
areas:_FillValue = NaN ;
// global attributes:
:_NCProperties = "version=2,netcdf=4.8.0,hdf5=1.10.6" ;
}
with:
TT: the number of time steps at the controlled resolution. For example, fluxes inverted at a weekly time resolution during two months will give TT=8
NL, NLAT, NLON, NLATC, NLONC: the number of vretical levels, latitudes, longitudes, corners’ latitudes, corners’ longitudes of the physical grid of the control vector.
PP: the number of time steps at the native resolution of THE_VARIABLE. For example, fluxes inverted at a weekly time resolution during two months (March and April) but provided at an hourly time resolution will give PP = (31 + 30) x 24 = 1464
x
are the increments
xb
are the prior values of the increment (generally, 1 for multiplicative corrections, 0 for additive ones)
b_std
is the diagonal (variances) of the \(\mathbf{P}^\textrm{b}\) matrix
x_phys
are the physical values of the posterior field
xb_phys
are the prior values of the physical field (the prior)
b_phys
is the diagonal (variances) of the \(\mathbf{P}^\textrm{b}\) matrix in physical units.
Examples for reading and plotting controlvect.nc
files are given in the VERIFY project.