Skip to content

Incorrect or absent Fill Values #126

@matthiasmengel

Description

@matthiasmengel

I finally ran the recent versions to produce counterfactuals for ERA5-Land Europe. Here an output

Image

As you see, there are issues with rsds and rlds variables. I think this is related to the _FillValue handling in attrici. You addressed this in
05f6d78 but it is seemingly not enough. I checked the input, timeseries and output files for rsds.

Attributes in input files:

	int time(time) ;
		time:standard_name = "time" ;
		time:long_name = "Time" ;
		time:units = "days since 1860-1-1 00:00:00" ;
		time:calendar = "proleptic_gregorian" ;
		time:axis = "T" ;
	float lon(lon) ;
		lon:standard_name = "longitude" ;
		lon:long_name = "Longitude" ;
		lon:units = "degrees_east" ;
		lon:axis = "X" ;
	float lat(lat) ;
		lat:standard_name = "latitude" ;
		lat:long_name = "Latitude" ;
		lat:units = "degrees_north" ;
		lat:axis = "Y" ;
	float rsds(time, lat, lon) ;
		rsds:standard_name = "surface_downwelling_shortwave_flux_in_air" ;
		rsds:long_name = "Surface Downwelling Shortwave Radiation" ;
		rsds:units = "W m-2" ;
		rsds:_FillValue = 1.e+20f ;
		rsds:missing_value = 1.e+20f ;

Attributes in timeseries files:

	float y(time, lat, lon) ;
		y:_FillValue = NaNf ;
		y:standard_name = "surface_downwelling_shortwave_flux_in_air" ;
		y:long_name = "Surface Downwelling Shortwave Radiation" ;
		y:units = "W m-2" ;
	double cfact(time, lat, lon) ;
		cfact:_FillValue = NaN ;
		cfact:standard_name = "surface_downwelling_shortwave_flux_in_air" ;
		cfact:long_name = "Surface Downwelling Shortwave Radiation" ;
		cfact:units = "W m-2" ;
	double logp(lat, lon) ;
		logp:_FillValue = NaN ;
	int time(time) ;
		time:standard_name = "time" ;
		time:long_name = "Time" ;
		time:axis = "T" ;
		time:units = "days since 1860-01-01" ;
		time:calendar = "proleptic_gregorian" ;
	float lat(lat) ;
		lat:_FillValue = NaNf ;
	float lon(lon) ;
		lon:_FillValue = NaNf ;

Attributes in merged output files:

	double cfact(time, lat, lon) ;
		cfact:standard_name = "surface_downwelling_shortwave_flux_in_air" ;
		cfact:long_name = "Surface Downwelling Shortwave Radiation" ;
		cfact:units = "W m-2" ;
	float lat(lat) ;
	double logp(lat, lon) ;
	float lon(lon) ;
	int time(time) ;
		time:standard_name = "time" ;
		time:long_name = "Time" ;
		time:axis = "T" ;
		time:units = "days since 1860-01-01" ;
		time:calendar = "proleptic_gregorian" ;
	float y(time, lat, lon) ;
		y:standard_name = "surface_downwelling_shortwave_flux_in_air" ;
		y:long_name = "Surface Downwelling Shortwave Radiation" ;
		y:units = "W m-2" ;

So in timeseries there are incorrect fill values (NaN and NaNf), and in merged output files, they are absent. Maps show fine for rsds in ncview, so I am quite sure that this is the issue leading to the above plot.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions