Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ modules.env
# Build stage files:
*.o
/bin/extpar_alb_to_buffer.py
/bin/extpar_aot_to_buffer.py
/bin/extpar_aot_to_buffer.exe
/bin/extpar_art_to_buffer.py
/bin/extpar_consistency_check.exe
Expand All @@ -28,6 +29,8 @@ modules.env
/bin/extpar_ndvi_to_buffer.py
/bin/extpar_soil_to_buffer.exe
/bin/extpar_topo_to_buffer.exe
/bin/extpar_cdnc_to_buffer.py
/bin/extpar_edgar_to_buffer.py
/mod/*
/src/info_extpar.f90

Expand Down
2 changes: 1 addition & 1 deletion Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ script_files:= \
$(srcdir)/python/extpar_edgar_to_buffer.py \
$(srcdir)/python/extpar_cdnc_to_buffer.py \
$(srcdir)/python/extpar_ahf_to_buffer.py \
$(srcdir)/python/extpar_aot_to_buffer.py \
$(srcdir)/python/extpar_art_to_buffer.py \
$(srcdir)/python/extpar_isa_to_buffer.py

Expand Down Expand Up @@ -112,7 +113,6 @@ NO_INC_TARGETS:= depend dummy-depend mostlyclean clean distclean dist
.PRECIOUS: $(dir_files)

prog_names:= \
extpar_aot_to_buffer \
extpar_consistency_check \
extpar_flake_to_buffer \
extpar_landuse_to_buffer \
Expand Down
4 changes: 2 additions & 2 deletions aclocal.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# generated automatically by aclocal 1.15 -*- Autoconf -*-
# generated automatically by aclocal 1.16.1 -*- Autoconf -*-

# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Copyright (C) 1996-2018 Free Software Foundation, Inc.

# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
Expand Down
16 changes: 2 additions & 14 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -581,7 +581,7 @@ PACKAGE_STRING='extpar 5.3.0'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''

ac_unique_file="src/extpar_aot_to_buffer.f90"
ac_unique_file="src/extpar_topo_to_buffer.f90"
enable_option_checking=no
ac_subst_vars='LTLIBOBJS
LIBOBJS
Expand Down Expand Up @@ -642,7 +642,6 @@ infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
Expand Down Expand Up @@ -724,7 +723,6 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
Expand Down Expand Up @@ -977,15 +975,6 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;

-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;

-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
Expand Down Expand Up @@ -1123,7 +1112,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir runstatedir
libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
Expand Down Expand Up @@ -1276,7 +1265,6 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ AC_PREREQ([2.69])
AC_INIT([extpar], [5.3.0])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_SRCDIR([src/extpar_aot_to_buffer.f90])
AC_CONFIG_SRCDIR([src/extpar_topo_to_buffer.f90])

AC_PROG_CC
AC_LANG([C])
Expand Down
80 changes: 0 additions & 80 deletions docs/user_manual/user_manual_03_fortran_modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -753,86 +753,6 @@ LCZ look-up tables are based on the values published in
- buffer file with landuse data (/lu_io_extpar/ lu_buffer_file)
- buffer file with GLCC data (/glcc_io_extpar/ glcc_buffer_file)

## extpar_aot_to_buffer

### Short description

The executable *extpar_aot_to_buffer* aggregates aerosol optical
thickness data to the target grid.

#### Target grid definition

The definition of the target grid is again done using the namelist
`INPUT_grid_org`. As the subroutines are exactly the same as the ones
used in *extpar_topo_to_buffer*, it is referred to the subsection
*'Target grid definition'* in section
[3.1](#extpar_topo_to_buffer), where the procedure is explained in
more detail.

#### Raw aerosol optical depth data

The namelist `INPUT_AOT` is kept very simple. It contains only the path
and the name of the raw aerosol optical depth data. The integer switch
(*iaot_type*) informs EXTPAR which of the 2 available datasets has been
chosen: 1 (Tegen), 2 (AeroCom).
Additionally, also the filenames of the buffer and output files for the
aggregated data is specified.

In order to allocate the variables used to read the raw data, the
dimensions of the raw data is defined. These dimensions include the
number of rows and columns of the NetCDF raw data file, the number of
months, which is equal to 12, as a full yearly cycle is described, and
the number of types of aerosols contained in the raw data file. This
number is 5 for iaot_type=1 or 2 , as the raw data file contains the
aerosol optical thickness information of black carbon, dust, organic
matter, sulfate and sea salt. The 3 first data-sets which provide
raw data for different aerosol types refer to Tegen[^1] and AeroCom[^2].

In a next step, the complete raw data is read into memory; this is
possible since the aerosol optical depth raw data is of rather coarse
resolution (see [Table 8](#tab:aerosol)). Also, the grid of the raw data is determined
from NetCDF meta data. Before the aggregation to the target grid can
start, the target grid fields must be allocated, using the target grid,
the number of months and aerosol types or spectral bands.

<center>
<a name="tab:aerosol"></a>

**Raw data set** | **resolution**
------------------ | --------------------------
Tegen | 4 x 5 degree
AeroCom | 1 x 1 degree

*Table 8: Resolution of raw data-sets for aerosol optical depths.*
</center>

#### Aggregation of the aerosol optical depth to the target field

As the resolution of all raw data sets is so coarse, there is no need to
go through the whole raw data set and find the corresponding target grid
element. Here there is only one loop over the target grid. For every
target grid element four surrounding raw data points are searched for.
With these four points, a weight for the bilinear interpolation is
computed. As the raw data grids of the 5 different aerosols are equal,
the four surrounding points are the same for all months and aerosol
types. Four new arrays (SW, SE, NE, NW) are then defined, which contain
the four neighbor values, for each month and each type. These can now be
used, together with the previously calculated weights, to calculate the
bilinear interpolation.

Finally the data is saved in a NetCDF buffer and an output file, and the
allocated variables are deallocated.

### Used namelist files and data in-/output

- namelists files: INPUT_grid_org, INPUT_COSMO_GRID,
INPUT_ICON_GRID, INPUT_AOT

- data input: aot_GACP.nc, aod_AeroCom1.nc

- Output: buffer file with aerosol data (/aerosol_io_extpar/
aot_buffer_file)

## extpar_soil_to_buffer

### Short description
Expand Down
54 changes: 51 additions & 3 deletions docs/user_manual/user_manual_04_python_modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ in the paragraph *Data processing* of each Python module.

The namelist `namelist.py` contains the Python dictionaries
`input_alb`, `input_tclim`, `input_emiss`, `input_ndvi`,
`input_ahf`, `input_isa`, `input_art` and `input_edgar`. These dictionaries
`input_ahf`, `input_isa`, `input_art`, `input_aot` and `input_edgar`. These dictionaries
replace their corresponding Fortran namelist files `INPUT_`.

`input_alb` provides information about the albedo data type and the
Expand Down Expand Up @@ -65,8 +65,12 @@ input/output data.
`input_edgar` only provides information about the the path and the
filenames of the input/output data.

`input_art` also provides information about the the path and the
filenames of the input/output data only.
`input_aot` contains a switch to select the type of AOT data and
provides information about the path and the filenames of the input/output
data.

`input_art` only provides information about the the path and the
filenames of the input/output data.

## extpar_alb_to_buffer
-----------------------
Expand Down Expand Up @@ -396,6 +400,50 @@ interpolation. No other processing steps take place.
- Output: buffer file with cloud droplet number data (input_cdnc:
cdnc_buffer_file)

## extpar_aot_to_buffer

### Short description of the subprogram *extpar_aot_to_buffer*

The executable *extpar_aot_to_buffer* aggregates aerosol optical
thickness data for 5 aerosol types (black carbon, dust, organic,
sulfate, and sea salt) to the target grid. Note that the raw data
stores each aerosol type in its own variable, while the buffer file
stores the remapped data in a single 5D variable.

For the aggregation of the AOT the namelist `namelist.py` is simple
again. It contains only the path and the name of the raw aerosol optical
depth data. The integer switch (*iaot_type*) informs EXTPAR which of the
2 available datasets has been chosen: 1 (Tegen), 2 (AeroCom). Additionally,
also the filenames of the buffer and output files for the aggregated data
is specified. Note that the underlying processing does not differ between
different types of AOT.

The remapping to the target grid uses the *bilinear* interpolation. No
other processing steps take place.

<center>
<a name="tab:aerosol"></a>

**Raw data set** | **resolution**
------------------ | --------------------------
Tegen | 4 x 5 degree
AeroCom | 1 x 1 degree

*Table 8: Resolution of raw data-sets for aerosol optical depths.*
</center>

### Used namelist files and data in-/output:

- namelists files: namelist.py (dict: input_aot), INPUT_grid_org,
INPUT_COSMO_GRID, INPUT_ICON_GRID

- generate namelist: INPUT_AOT

- data input: aot_GACP.nc( iaot_type=1),
aod_AeroCom1.nc (iaot_type=2)

- Output: buffer file with ISA data (input_aot: aot_buffer_file)


## extpar_art_to_buffer {#extpar_art_to_buffer}

Expand Down
Loading
Loading