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.