INIFOR - Mesoscale Interface for Initializing and Forcing PALM
INIFOR provides the meteorological fields of the velocity components, specific humidity and potential temperature required to initialize PALM as well as boundary data required for the offline nesting of PALM into larger-scale models. The required meteorological fields are interpolated from output data of the mesoscale model COSMO.
Compilation
INIFOR is being compiled automatically whenever you compile PALM using palmbuild.
Minimal Usage Example
- Customize ./namelist (number or grid points and spacings, end_time)
- Run current_version/trunk/SCRIPTS/inifor --path <scenario path> --date <YYYYMMDD> --elevation <height of z origin above sea level>
Usage
After compilation, the inifor binary resides in the $PALM_BIN path, i.e. in <PALM path>/current_version/trunk/SCRIPTS/.
In order to run, INIFOR requires three kinds of inputs:
- hourly COSMO model output,
- a steering namelist file, and
- command-line options.
In addition, a static driver file may be supplied (see --static-driver option below) in order to pass the coordinates of the PALM origin to INIFOR. If no static driver is passed to INIFOR, origin coordinates are read from the namelist file.
A typical inifor call looks like this:
inifor --path /data/evaluation/20170729 --date 2017073006 \ --init-mode profile -n namelist -o dynamic_driver.nc \ --elevation 110 --input-prefix lff0_
Input data: COSMO model output
Overview
INIFOR processes COSMO model output which it requires to be stored in a set of netCDF files located in a user-specified path (see --path option). These are:
- hhl.nc: This file provides the COSMO numerical grid. (hhl abbreviates height of half layers, i.e. the heights of the vertical cell boundaries.)
- soil.nc: This file provides the COSMO soil map and is used to destinguish land from water cells.
- <prefix>YYYYMMDDHH-<suffix>.nc: Each of these files contains COSMO model
of one time step at the given time in UTC (Y..year, M..month, D..day, H..hour).
- The <prefix> distinguishes different DWD products, for instance COSMO analyses (laf) or forecasts (lff).
- The <suffix> distinguishes thee kinds of COSMO model output data, namely
- flow (atmospheric fields)
- soil (soil moisture and temperature)
- precip (surface precipitation rates, optional)
- For example, laf2016010100-flow.nc contains the atmospheric fields of the COSMO analysis of January 1st, 2016 for 0:00 UTC.
How to download COSMO model output from the DWD data portal Pamore is described in this manual.
Required netCDF variables
Variables in hhl.nc
double rlon(rlon) ; rlon:standard_name = "grid_longitude" ; rlon:long_name = "longitude in rotated pole grid" ; rlon:units = "degrees" ; rlon:axis = "X" ; double rlat(rlat) ; rlat:standard_name = "grid_latitude" ; rlat:long_name = "latitude in rotated pole grid" ; rlat:units = "degrees" ; rlat:axis = "Y" ; char rotated_pole ; rotated_pole:grid_mapping_name = "rotated_latitude_longitude" ; rotated_pole:grid_north_pole_latitude = 40. ; rotated_pole:grid_north_pole_longitude = -170. ; float HHL(time, height, rlat, rlon) ; HHL:long_name = "Geometric Height of the layer limits above sea level(NN)" ; HHL:units = "m" ; HHL:param = "6.3.0" ; HHL:grid_mapping = "rotated_pole" ;
Variables in soil.nc
float SOILTYP(time, rlat, rlon) ; SOILTYP:long_name = "soil type of grid (1...9, local soilType.table)" ; SOILTYP:units = "Numeric" ; SOILTYP:param = "196.3.2" ; SOILTYP:grid_mapping = "rotated_pole" ;
Variables in <prefix>YYYYMMDDHH-flow.nc files:
float W(time, height, rlat, rlon) ; W:long_name = "Vertical Velocity (Geometric) (w)" ; W:units = "m s-1" ; W:param = "9.2.0" ; W:grid_mapping = "rotated_pole" ; float U(time, height_2, rlat, rlon_2) ; U:standard_name = "eastward_wind" ; U:long_name = "U-Component of Wind" ; U:units = "m s-1" ; U:param = "2.2.0" ; U:grid_mapping = "rotated_pole" ; float V(time, height_2, rlat_2, rlon) ; V:standard_name = "northward_wind" ; V:long_name = "V-Component of Wind" ; V:units = "m s-1" ; V:param = "3.2.0" ; V:grid_mapping = "rotated_pole" ; float T(time, height_2, rlat, rlon) ; T:standard_name = "air_temperature" ; T:long_name = "Temperature" ; T:units = "K" ; T:param = "0.0.0" ; T:grid_mapping = "rotated_pole" ; float P(time, height_2, rlat, rlon) ; P:long_name = "Pressure" ; P:units = "Pa" ; P:param = "192.3.0" ; P:grid_mapping = "rotated_pole" ; float QV(time, height_2, rlat, rlon) ; QV:standard_name = "specific_humidity" ; QV:long_name = "Specific Humidity" ; QV:units = "kg kg-1" ; QV:param = "0.1.0" ; QV:grid_mapping = "rotated_pole" ;
Variables in <prefix>YYYYMMDDHH-soil.nc files:
double depth_2(depth_2) ; depth_2:long_name = "depth_below_land" ; depth_2:units = "m" ; depth_2:positive = "down" ; depth_2:axis = "Z" ; depth_2:bounds = "depth_2_bnds" ; float T_SO(time, depth, rlat, rlon) ; T_SO:long_name = "Soil Temperature (multilayer model)" ; T_SO:units = "K" ; T_SO:param = "18.3.2" ; T_SO:grid_mapping = "rotated_pole" ; float W_SO(time, depth_2, rlat, rlon) ; W_SO:long_name = "Column-integrated Soil Moisture (multilayers)" ; W_SO:units = "kg m-2" ; W_SO:param = "20.3.2" ; W_SO:grid_mapping = "rotated_pole" ;
Optional variabels
Variables in <prefix>YYYYMMDDHH-flow.nc files (will be interpolated automatically if present in input files):
float QC(time, height_2, rlat, rlon) ; QC:long_name = "Cloud Mixing Ratio" ; QC:units = "kg kg-1" ; QC:param = "22.1.0" ; QC:grid_mapping = "rotated_pole" ; float QI(time, height_2, rlat, rlon) ; QI:long_name = "Cloud Ice Mixing Ratio" ; QI:units = "kg kg-1" ; QI:param = "82.1.0" ; QI:grid_mapping = "rotated_pole" ; float QR(time, height_2, rlat, rlon) ; QR:long_name = "Rain mixing ratio" ; QR:units = "kg kg-1" ; QR:param = "24.1.0" ; QR:grid_mapping = "rotated_pole" ; float QS(time, height_2, rlat, rlon) ; QS:long_name = "Snow mixing ratio" ; QS:units = "kg kg-1" ; QS:param = "25.1.0" ; QS:grid_mapping = "rotated_pole" ; float QG(time, height_2, rlat, rlon) ; QG:long_name = "Grauple" ; QG:units = "kg kg-1" ; QG:param = "32.1.0" ; QG:grid_mapping = "rotated_pole" ;
Variables in <prefix>YYYYMMDDHH-precip.nc files (can be added to INIFOR processing with the --precipitation option):
float RAIN_GSP(time, rlat, rlon) ; RAIN_GSP:long_name = "Large scale rain (Accumulation)" ; RAIN_GSP:units = "kg m-2" ; RAIN_GSP:param = "77.1.0" ; RAIN_GSP:grid_mapping = "rotated_pole" ; float SNOW_GSP(time, rlat, rlon) ; SNOW_GSP:long_name = "Large-Scale snowfall - water equivalent (Accumulation)" ; SNOW_GSP:units = "kg m-2" ; SNOW_GSP:param = "56.1.0" ; SNOW_GSP:grid_mapping = "rotated_pole" ; float GRAU_GSP(time, rlat, rlon) ; GRAU_GSP:long_name = "Graupel (snow pellets) precipitation (Accumulation)" ; GRAU_GSP:units = "kg m-2" ; GRAU_GSP:param = "75.1.0" ; GRAU_GSP:grid_mapping = "rotated_pole" ;
Namelist parameters
INIFOR mirrors a subset of the PALM's Fortran namelists initialization_parameters and runtime_parameters and supports the following parameters. Note that, at the moment, INIFOR uses the old namelist descriptors inipar and d3par instead, which are the descriptors used in previous versions of PALM.
inipar
Parameter name | Default value | Description |
---|---|---|
nx, ny, nz | None | Number of PALM grid points in x, y, and z direction |
dx, dy, dz(10) | None | PALM grid spacings in x, y, and z direction [m] |
dz_stretch_level | -9999999.9 | Height above which the grid will be stretched [m] |
dz_stretch_factor | 1.08 | Factor by which the grid will be stretched |
dz_max | 1000.0 | Maximum vertical grid spacing [m] |
dz_stretch_level_start(9) | -9999999.9 | Array of height levels above which the grid is to be stretched vertically [m] |
dz_stretch_level_end(9) | 9999999.9 | Array of height levels until which the grid is to be stretched vertically [m] |
longitude, latitude | 0.0 | Geographical coordinates of the PALM origin [deg]. Both will be ignored if the command-line option --static-driver is used (see below). |
d3par
Parameter name | Default value | Description |
---|---|---|
end_time | 0.0 | PALM simulation time. INIFOR will produce hourly forcing data from the start date (see -d command-line option) to end_time seconds thereafter. [s] |
Example namelist file
&inipar nx = 4679, ny = 3939, nz = 360 dx = 10., dy = 10., dz = 10. dz_stretch_level = 2500.0, dz_stretch_factor = 1.08, dz_max = 100.0 longitude = 13.082744, latitude = 52.325079 / &d3par end_time = 86400.0 /
Command-line options
INIFOR configuration
Option | Default value | Description |
---|---|---|
--averaging-mode <mode> | level | Selects how averaged quantities (large-scale forcing terms) are computed. INIFOR supports averaging along input model levels ('level') and along constant heights ('height'). |
-a, --averaging-angle <angle> | 2.0 | Width of the averaging box in longitudal and latitudal direction in the source coordinate system (COSMO rotated-pole) [deg]. |
-d, --date <date> | 20130721 | Start date of the simulation in the form YYYYMMDD or YYYYMMDDHH. If no hours (HH) are given, INIFOR assumes that the simulation starts at O UTC on that day. |
-i, --init-mode <mode> | profile | Set the PALM initialization mode. INIFOR can provide initial conditions as either profiles or three-dimensional fields. The corresponding modes are 'profile' and 'volume'. |
-i, --forcing-mode <mode> | hetero | Set the PALM forcing mode. INIFOR can supply heterogeneous boundary conditions spatially interpolated from the mesoscale model ('hetero') or homogenous boundary conditions horizontally averaged over the PALM domain ('homo'). |
-i, --soil-init-mode <mode> | volume | Set the PALM soil initialization mode. INIFOR can provide initial soil data as either profiles or three-dimensional fields. The corresponding modes are 'profile' and 'volume'. |
-r, --surface-pressure <pressure> | 1e5 | Manually set the pressure at z=0 in the PALM domain [Pa]. If not given, the surface pressure is computed from the COSMO pressure field. |
-u, --geostrophic-u <velocity> | 0 | Manually specify the geostrophic wind in x direction [m/s]. If not given, the geostrophic wind is computed from the COSMO pressure field. |
-v, --geostrophic-v <velocity> | 0 | Manually specify the geostrophic wind in y direction [m/s]. If not given, the geostrophic wind is computed from the COSMO pressure field. |
-z, --elevation <height> | 35 | Specifies the elevation of the PALM domain above sea level [m]. |
--precipitation | -- | Turn on surface precipitation output, requires COSMO precipitation output (*-precip.nc files) |
I/O
Option | Default value | Description |
---|---|---|
-l, --hhl-file <netCDF file> | <scenario path>/hhl.nc | Location of the netCDF file containing the vertical COSMO-DE grid levels, specifically the heights of half levels (hhl, i.e. vertical cell faces). |
-n, --namelist <namelist file> | ./namelist | Location of the PALM namelist file. INIFOR expects the file to contain two namelists, initialization_parameters and runtime_parameters, from which it will read grid parameters and the simulation time. |
-o, --output <output file> | ./palm-4u-input.nc | Name of the INIFOR output file, i.e. the PALM dynamic driver. |
-p, --path <scenario path> | ./ | Scenario path, i.e. the path of the meteorological input data. |
-s, --soil-file <netCDF file> | <scenario path>/soil.nc | Location of the netCDF file containing the COSMO-DE soil type map. |
-t, --static-driver <netCDF file> | None | Location of the netCDF file containing the static driver file for the case to be simulated with PALM. If given, INIFOR will ignore the namelist parameters longitude and latitude and will instead read the geographical coordinates for PALM's origin from the static driver attributes origin_lon, origin_lat, and origin_z. |
File prefixes
Option | Default value | Description |
---|---|---|
--input-prefix <prefix> | laf | Set the file prefixes for all input files. Individual prefixes can be overwritten with the options below. |
--flow-prefix <prefix> | laf | Set the file prefix of flow input files. |
--precipitation-prefix <prefix> | laf | Set the file prefix of precipitation input files. |
--soil-prefix <prefix> | laf | Set the file prefix of soil input files. |
Non-argument options
Option | Description |
---|---|
--debug | Enable additional terminal messages and netCDF output for debugging. |
--version | Output version number and exit. |
Attachments (1)
-
manual_data_preparation_using_pamore_Jan2020.pdf
(895.8 KB) -
added by oliver.maas 4 years ago.
Manual for downloading and processing data for INIFOR from DWD data portal Pamore
Download all attachments as: .zip