GitHub

ALCF

Automatic Lidar and Ceilometer
Framework

Documentation

Model guide

The following GCM, NWP models and reanalyses are supported:

Note: The ERA-Interim reanalysis is not supported due to the required fields (mass fraction of cloud liquid water and ice in air) not available in the dataset.

Below is a description of the model output supported by the ALCF. You might have to modify the code for reading the model output depending on the exact format of the model output, such as variable names and how they are split among the output files.

AMPS

Source: alcf/models/amps.py

This module is compatible with the NetCDF AMPS output, which seems discontinued, and with GRIB output converted to NetCDF. The GRIB output files can be downloaded from the AMPS archive on the Earth System Grid (ESG) website. The following files conver 24 hours of model output:

wrfout_dxx_YYYYmmdd00_f003.grb
wrfout_dxx_YYYYmmdd00_f006.grb
wrfout_dxx_YYYYmmdd00_f009.grb
wrfout_dxx_YYYYmmdd00_f012.grb
wrfout_dxx_YYYYmmdd12_f003.grb
wrfout_dxx_YYYYmmdd12_f006.grb
wrfout_dxx_YYYYmmdd12_f009.grb
wrfout_dxx_YYYYmmdd12_f012.grb

where xx is the AMPS grid, YYYYmmdd is the year (YYYY), month (mm) and day (dd). The f000 files are not suitable for use with the ALCF as they do not contain all required variables. Files for hours other than 00 and 12 and for forecast times other than 003, 006, 009 and 012 are not needed.

The GRIB files can be converted to NetCDF either with alcf convert or ncl_convert2nc. Other programs for conversion to NetCDF exist, but this module only supports output produced by these two methods.

ERA5

Source: alcf/models/era5.py

ERA5 reanalysis data can be downloaded from Copernicus. Download the following datasets:

ERA5 hourly data on pressure levels from 1940 to present

ERA5 hourly data on single levels from 1940 to present

Save the pressure-level files in a directory named plev and the surface-level files in a directory named surf. Pass the path to the parent directory to alcf model or alcf auto model.

ICON

Source: alcf/models/icon.py

ICON is a weather and climate model developed by the German Weather Service and the Max Planck Institute for Meteorology.

This module is for a high-resolution configuration of the model where grid cell cloud fraction is not specified, and is implicitly 100% in every grid cell and level. If you need cloud fraction to be taken into account, you have to modify the icon.py module.

The following fields on model levels are required:

The following fields on the surface level are required:

The files should be all contained in the input directory. The vertical grid file should be placed in the input directory with a name vgrid.nc. No other files should be present in the input directory. The time frequency of the model level and surface level files does not have to be the same, in which case a subset of intersecting time steps is processed. The horizontal grid file is not required. The input files are expected the be on the unstructured grid (a set of cells).

ICON through Intake-ESM on HEALPix grid

Source: alcf/models/icon_intake_healpix.py

This is the same as the above, but the data are retrieved through Intake-ESM and are expected to be mapped on an HEALPix grid. This type of configuration is in use at DKRZ.

This module is for a high-resolution configuration of the model where grid cell cloud fraction is not specified, and is implicitly 100% in every grid cell and level. If you need cloud fraction to be taken into account, you have to modify the icon_intake_healpix.py module.

The following variables are required:

The input file should be specified as an Intake-ESM catalog path followed by parameters in the format { <path> <model> <run> <timestep> <zoom> }, where <model> is the model name, <run> is the model run, <timestep> is the model time step, and <zoom> is the zoom level. For example { https://data.nextgems-h2020.eu/catalog.yaml ICON ngc3028 PT3H 10 }.

This module requires the intake and healpy Python packages to be installed manually.

JRA-55

Source: alcf/models/jra55.py

The JRA-55 reanalysis data can be downloaded from the JRA-55 project website. The following fields are required by the ALCF:

Download files for the period of interest all into the same directory. The JRA-55 GRIB files have to be converted to NetCDF before they can be used with the ALCF. Use alcf convert or grib_to_netcdf to convert the data. All data files should reside in the same directory.

MERRA-2

Source: alcf/models/merra2.py

MERRA-2 reanalysis files can be found via the NASA EarthData portal. Description of the MERRA-2 products can be found in the MERRA-2: File Specification document. The model-level products are recommended due to their higher resolution. Only the “Assimilated Meteorological Fields” contain the required variables. The recommended product is the “inst3_3d_asm_Nv (M2I3NVASM): Assimilated Meteorological Fields”, i.e. the 3-hourly instantaneous 3D assimilated fields on model levels. You can find the product files by searching for “M2I3NVASM” on NASA EarthData, or directly on the NASA EOSDIS FTP server.

NZCSM

Source: alcf/models/nzcsm.py

New Zealand Convective Scale Model (NZCSM) is a NWP model based on the UK Met Office Unified Model. The following model output variables are needed to run the lidar simulator:

NZESM (experimental)

Source: alcf/models/nzesm.py

New Zealand Earth System Model output is a model based on HadGEM3. The model output variables needed are:

UM

Source: alcf/models/um.py

The NetCDF output (configuration option l_netcdf) of the UK Met Office Unified Model (UM) is supported. The following variables are required:

ALCF <= 1.0.0-beta.2:

ALCF > 1.0.0-beta.2:

The variables should be provided on all theta levels and as high temporal sampling as possible (instantaneous). All variables should be dumped together to the same NetCDF file, split by time into arbitrary number of files.

In addition, a file containing model orography is required. Convert the model grid qrparam.orog file distributed with the UM to NetCDF with iris:

python -c "import iris;c=iris.load('qrparm.orog');iris.save(c,'qrparm.orog.nc')"

and put qrparm.orog.nc in the same directory as the model output files.