Reading and plotting the data of obsvect#
The obsvect data are contained in monitor.nc files at $WORKDIR/obsoperator/fwd_NN/obsvect/THE_CONSTRAINT/SPEC/, where NN = -001 for the prior and NN = -002 for the posterior, THE_CONSTRAINT is the type of assimilated data (e.g. concs or satellites; see tutorials on observations), and SPEC is the parameter name (typically a chemical species).
They are formatted as follows, as described in the general documentation on inputs and outputs:
netcdf monitor {
// global attributes:
:_NCProperties = "version=2,netcdf=4.8.0,hdf5=1.10.6" ;
group: maindata {
dimensions:
index = 10912 ;
variables:
int64 index(index) ;
double obs(index) ;
obs:_FillValue = NaN ;
double obserror(index) ;
obserror:_FillValue = NaN ;
double sim(index) ;
sim:_FillValue = NaN ;
double sim_tl(index) ;
sim_tl:_FillValue = NaN ;
double adj_out(index) ;
adj_out:_FillValue = NaN ;
double spec(index) ;
spec:_FillValue = NaN ;
double incr(index) ;
incr:_FillValue = NaN ;
// group attributes:
:datei = "01-01-2008 00:00:00" ;
:datef = "01-01-2009 00:00:00" ;
:model\ name = "CHIMERE" ;
:model\ version = "std" ;
:domain\ nlon = "101" ;
:domain\ nlat = "85" ;
:history = "Created on 11-05-2022 20:42:13" ;
} // group maindata
group: metadata {
dimensions:
index = 10912 ;
station_id = 16 ;
network_id = 1 ;
parameter_id = 1 ;
variables:
int64 index(index) ;
double alt(index) ;
alt:_FillValue = NaN ;
int64 date(index) ;
date:units = "minutes since 2008-04-10 12:00:00" ;
date:calendar = "proleptic_gregorian" ;
double dtstep(index) ;
dtstep:_FillValue = NaN ;
double duration(index) ;
duration:_FillValue = NaN ;
double i(index) ;
i:_FillValue = NaN ;
byte is_obsvect(index) ;
is_obsvect:dtype = "bool" ;
double j(index) ;
j:_FillValue = NaN ;
double lat(index) ;
lat:_FillValue = NaN ;
double level(index) ;
level:_FillValue = NaN ;
double lon(index) ;
lon:_FillValue = NaN ;
int64 network(index) ;
int64 parameter(index) ;
int64 station(index) ;
double tstep(index) ;
tstep:_FillValue = NaN ;
double tstep_glo(index) ;
tstep_glo:_FillValue = NaN ;
string list_stations(station_id) ;
string list_networks(network_id) ;
string list_parameters(parameter_id) ;
// group attributes:
:datei = "01-01-2008 00:00:00" ;
:datef = "01-01-2009 00:00:00" ;
:model\ name = "CHIMERE" ;
:model\ version = "std" ;
:domain\ nlon = "101" ;
:domain\ nlat = "85" ;
:history = "Created on 11-05-2022 20:42:14" ;
} // group metadata
}
Examples for reading and plotting controlvect.nc files are given in the VERIFY project.