Dear all,
first post here!
I'd like to add some NetCDF files coming from WRF model as ERDDAP datasets.
Looking at NetCDF headers, the dimensions are:
dimensions:
Time = UNLIMITED ; // (4 currently)
south_north = 402 ;
west_east = 288 ;
bottom_top = 59 ;
soil_layers_stag = 4 ;
west_east_stag = 289 ;
south_north_stag = 403 ;
bottom_top_stag = 60 ;
DateStrLen = 19 ;
Then there are some dimension-related variables:
char Times(Time, DateStrLen) ;
float XLAT(Time, south_north, west_east) ;
XLAT:FieldType = 104 ;
XLAT:MemoryOrder = "XY " ;
XLAT:description = "LATITUDE, SOUTH IS NEGATIVE" ;
XLAT:units = "degree_north" ;
XLAT:stagger = "" ;
float XLAT_U(Time, south_north, west_east_stag) ;
XLAT_U:FieldType = 104 ;
XLAT_U:MemoryOrder = "XY " ;
XLAT_U:description = "LATITUDE, SOUTH IS NEGATIVE" ;
XLAT_U:units = "degree_north" ;
XLAT_U:stagger = "X" ;
XLAT_U:coordinates = "XLONG_U XLAT_U" ;
float XLAT_V(Time, south_north_stag, west_east) ;
XLAT_V:FieldType = 104 ;
XLAT_V:MemoryOrder = "XY " ;
XLAT_V:description = "LATITUDE, SOUTH IS NEGATIVE" ;
XLAT_V:units = "degree_north" ;
XLAT_V:stagger = "Y" ;
XLAT_V:coordinates = "XLONG_V XLAT_V" ;
float XLONG(Time, south_north, west_east) ;
XLONG:FieldType = 104 ;
XLONG:MemoryOrder = "XY " ;
XLONG:description = "LONGITUDE, WEST IS NEGATIVE" ;
XLONG:units = "degree_east" ;
XLONG:stagger = "" ;
float XLONG_U(Time, south_north, west_east_stag) ;
XLONG_U:FieldType = 104 ;
XLONG_U:MemoryOrder = "XY " ;
XLONG_U:description = "LONGITUDE, WEST IS NEGATIVE" ;
XLONG_U:units = "degree_east" ;
XLONG_U:stagger = "X" ;
XLONG_U:coordinates = "XLONG_U XLAT_U" ;
float XLONG_V(Time, south_north_stag, west_east) ;
XLONG_V:FieldType = 104 ;
XLONG_V:MemoryOrder = "XY " ;
XLONG_V:description = "LONGITUDE, WEST IS NEGATIVE" ;
XLONG_V:units = "degree_east" ;
XLONG_V:stagger = "Y" ;
XLONG_V:coordinates = "XLONG_V XLAT_V" ;
float XTIME(Time) ;
XTIME:FieldType = 104 ;
XTIME:MemoryOrder = "0 " ;
XTIME:description = "minutes since simulation start" ;
XTIME:units = "" ;
XTIME:stagger = "" ;
And the "actual" variables, most of them depending on Time, south_north, west_east. For example:
float ACGRDFLX(Time, south_north, west_east) ;
ACGRDFLX:FieldType = 104 ;
ACGRDFLX:MemoryOrder = "XY " ;
ACGRDFLX:description = "ACCUMULATED GROUND HEAT FLUX" ;
ACGRDFLX:units = "J m-2" ;
ACGRDFLX:stagger = "" ;
ACGRDFLX:coordinates = "XLONG XLAT" ;
Other variables depend on different dimensions:
float TSLB(Time, soil_layers_stag, south_north, west_east) ;
TSLB:FieldType = 104 ;
TSLB:MemoryOrder = "XYZ" ;
TSLB:description = "SOIL TEMPERATURE" ;
TSLB:units = "K" ;
TSLB:stagger = "Z" ;
TSLB:coordinates = "XLONG XLAT" ;
float U(Time, bottom_top, south_north, west_east_stag) ;
U:FieldType = 104 ;
U:MemoryOrder = "XYZ" ;
U:description = "x-wind component" ;
U:units = "m s-1" ;
U:stagger = "X" ;
U:coordinates = "XLONG_U XLAT_U" ;
I know I have to make different datasets for different set of dimensions.
A first problem is that Time, south_north and west_east values are indexes (i.e. Time = 0,1,2,3) and not "absolute" values.
There are some tools to post process WRF output to CF-friendly NetCDF files, let's say wrfout_to_cf (
https://sundowner.colorado.edu/wrfout_to_cf/overview.html), but I don't know WRF model and I'd prefer to leave data files unchanged.
My question is: do you have some experience with WRF datasets in ERDDAP, some docs to read? Are NcML or a data transformation via-NCO necessary?
Thanks in advance,
Alessandro