Meteorological input

Meteorological input#

It is possible to provide to the CIF ready-made METEO.nc files for CHIMERE to use, which have been generated with pre-processors, particularly those developped for PYVAR. Note that they require the definition files COORD_DOM and VCOORD_NumberOfLevels_Psurf_Ptop: consistency must be maintained when providing the CIF with all these files. They must be named METEO.YYYYMMDDHH.PP.nc with YYYYMMDDHH the date in year-month-day and hour of the first hour provided in the file, PP being the number of hours covered by the file.

The CIF is also able to run in a mode dedicated to generate METEO.nc files for CHIMERE as explained here

The format of the METEO.nc is as follows, with PP, NZONAL, NMERID and NVERTI given the relevant values:

dimensions:
	Time = UNLIMITED ; // (PP+1 currently)
	DateStrLen = 19 ;
	west_east = NZONAL ;
	south_north = NMERID ;
	bottom_top = NVERTI ;
variables:
	char Times(Time, DateStrLen) ;
	double lon(south_north, west_east) ;
		lon:units = "degrees_east" ;
		lon:long_name = "Longitude" ;
	double lat(south_north, west_east) ;
		lat:units = "degrees_north" ;
		lat:long_name = "Latitude" ;
	float a_vcoord(bottom_top) ;
		a_vcoord:units = "no_units" ;
		a_vcoord:long_name = "A_sigma_coefficient" ;
	float b_vcoord(bottom_top) ;
		b_vcoord:units = "no_units" ;
		b_vcoord:long_name = "B_sigma_coefficient" ;
	float nphourm(Time) ;
		nphourm:units = "hour-1" ;
		nphourm:long_name = "steps per hour" ;
	double tem2(Time, south_north, west_east) ;
		tem2:units = "K" ;
		tem2:long_name = "2m air temperature" ;
	double atte(Time, south_north, west_east) ;
		atte:units = "0-1" ;
		atte:long_name = "Cloud attenuation" ;
	double hght(Time, south_north, west_east) ;
		hght:units = "m" ;
		hght:long_name = "PBL height" ;
	double usta(Time, south_north, west_east) ;
		usta:units = "m/s" ;
		usta:long_name = "Frictional velocity" ;
	double aerr(Time, south_north, west_east) ;
		aerr:units = "s/m" ;
		aerr:long_name = "aerodynamic resistance" ;
	double obuk(Time, south_north, west_east) ;
		obuk:units = "m" ;
		obuk:long_name = "Obukov length" ;
	double wsta(Time, south_north, west_east) ;
		wsta:units = "m/s" ;
		wsta:long_name = "Wstar" ;
	double sreh(Time, south_north, west_east) ;
		sreh:units = "0-1" ;
		sreh:long_name = "Sfc rel. humidity" ;
	double topc(Time, south_north, west_east) ;
		topc:units = "kg/m^2" ;
		topc:long_name = "Total precip" ;
	double w10m(Time, south_north, west_east) ;
		w10m:units = "m/s" ;
		w10m:long_name = "10m wind" ;
	double w10s(Time, south_north, west_east) ;
		w10s:units = "m/s" ;
		w10s:long_name = "Saltation wind" ;
	double soim(Time, south_north, west_east) ;
		soim:units = "m^3/m^3" ;
		soim:long_name = "Soil moisture" ;
	double swrd(Time, south_north, west_east) ;
		swrd:units = "W/m^2" ;
		swrd:long_name = "Shortwave radiation" ;
	double alti(Time, bottom_top, south_north, west_east) ;
		alti:units = "m" ;
		alti:long_name = "Altitude of layer" ;
	double winz(Time, bottom_top, south_north, west_east) ;
		winz:units = "m/s" ;
		winz:long_name = "Zonal wind" ;
	double winm(Time, bottom_top, south_north, west_east) ;
		winm:units = "m/s" ;
		winm:long_name = "Meridional wind" ;
	double temp(Time, bottom_top, south_north, west_east) ;
		temp:units = "K" ;
		temp:long_name = "Temperature" ;
	double sphu(Time, bottom_top, south_north, west_east) ;
		sphu:units = "kg/kg" ;
		sphu:long_name = "Specific humidity" ;
	double airm(Time, bottom_top, south_north, west_east) ;
		airm:units = "molec/cm3" ;
		airm:long_name = "Air density" ;
	double kzzz(Time, bottom_top, south_north, west_east) ;
		kzzz:units = "*" ;
		kzzz:long_name = "Kz" ;
	double clwc(Time, bottom_top, south_north, west_east) ;
		clwc:units = "Kg/Kg" ;
		clwc:long_name = "Cloud wat. content" ;
	double dpdd(Time, bottom_top, south_north, west_east) ;
		dpdd:units = "kg/m2/s" ;
		dpdd:long_name = "Detrainment in downdraft" ;
	double dpdu(Time, bottom_top, south_north, west_east) ;
		dpdu:units = "kg/m2/s" ;
		dpdu:long_name = "Detrainment in updraft" ;
	double dped(Time, bottom_top, south_north, west_east) ;
		dped:units = "kg/m2/s" ;
		dped:long_name = "Entrainment in downdraft" ;
	double dpeu(Time, bottom_top, south_north, west_east) ;
		dpeu:units = "kg/m2/s" ;
		dpeu:long_name = "Entrainment in updraft" ;
Important points:
  • the actual length of record is PP+1 since one hour more than the covered period is required for time interpolation within the last simulation hour.

  • if you do not use deep convection from the meteo data, you do not need variables dpdd, dpdu, dped and dpeu (saves space).

  • the dates are written in a fixed format on 19 characters (DateStrLen): YYYY-MM-DD_HH:mm:ss.