Reading and plotting the data of obsvect

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.