Reading and plotting the data of obsvect

Reading and plotting the data of obsvect#

The data for obsvect are contained in monitor.nc files in $WORKDIR/obsoperator/fwd_NN/obsvect/THE_CONSTRAINT/SPEC/ with NN = -001 for the prior and NN = -002 for the posterior, THE_CONSTRAINT is the type of assimilated date (for example, concs or satellites, see tutorials on observations) and SPEC is the name of the matching parameters (generally, 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.