Skip to content

Commit db948d3

Browse files
author
Christian Steger
committed
Merge remote-tracking branch 'origin/master' into horayzon
2 parents bdb8a11 + a0f9b19 commit db948d3

24 files changed

+342
-134
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
## Description
2+
3+
*Add your description here.*
4+
5+
## Workflow for merging PRs
6+
7+
Please read these instructions carefully and follow the steps below before requesting a review by the maintainers. This way we can ensure a smoother review process and your changes will be merged sooner.
8+
9+
Additionally, if this is the first PR you open in EXTPAR make sure to read the [*"Information for EXTPAR Developers"*](https://c2sm.github.io/extpar/development/) section in the documentation.
10+
11+
### Checklist
12+
13+
- [ ] Provide a detailed description of your changes in the "Description" section above.
14+
- [ ] If you implemented a new feature:
15+
- [ ] Document it in the correct Markdown file(s) under the [`docs/`](https://github.com/C2SM/extpar/tree/master/docs) directory.
16+
- [ ] [Add a new test](https://c2sm.github.io/extpar/testing/#add-a-new-test) or make sure your changes are already tested.
17+
- [ ] Your code follows the [style guidelines](https://c2sm.github.io/extpar/development/#coding-rules-and-best-practices).
18+
- [ ] Your changes only touch the files/lines relevant for you.
19+
- [ ] All four required checks pass (see [*"Testing and debugging"*](#testing-and-debugging) for more details).
20+
- [ ] No conflicts with the base branch.
21+
22+
If all the points above are satisfied you can ask for a review by selecting `stelliom` as a reviewer.
23+
24+
For any questions please ping `@stelliom` on this PR.
25+
26+
### Testing and debugging
27+
28+
The most important test for PRs is the one labeled *"EXTPAR Testsuite on Jenkins"*. This checks that the results of all testcases (described by the namelists in [`test/testsuite/data`](https://github.com/C2SM/extpar/tree/master/test/testsuite/data)) did not change compared to the references.
29+
30+
You can launch the testsuite by writing `launch jenkins` as a comment in the PR that you want to test. Once completed, the result of the testsuite will be shown on the PR (failure or success).
31+
32+
If you need more details on the testsuite results (e.g., if you are trying to debug an error or you are simply unsure why the tests fail) you can launch the testsuite with `launch jenkins(debug)`. This will run the tests as usual, but, once completed, you will be given a URL (via a comment on the PR) to access the logfiles and namelists of all tests that were run.

.github/PULL_REQUEST_TEMPLATE/default.md

Lines changed: 0 additions & 46 deletions
This file was deleted.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# EXTPAR
22

3-
Full documentation: [https://c2sm.github.io/extpar/](https://c2sm.github.io/extpar/)
3+
Full documentation: [https://c2sm.github.io/extpar/](https://c2sm.github.io/extpar/)

docs/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ _1. EXTPAR settings as JSON, see official docs_
4747
"it_cl_type": 1,
4848
"iera_type": 1,
4949
"iemiss_type": 1,
50+
"icdnc_type": 1,
5051
"ilookup_table_lu": 1,
5152
"enable_cdnc": false,
5253
"enable_edgar": false,

docs/release_notes.md

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Release notes
22

3-
For the latest release notes, please see our [GitHub webpage :material-open-in-new:](https://github.com/C2SM-RCM/extpar/releases){:target="_blank"}.
3+
For the latest release notes `>=5.15`, please see our [GitHub webpage :material-open-in-new:](https://github.com/C2SM-RCM/extpar/releases){:target="_blank"}.
44

55
## 5.14
66

@@ -569,3 +569,74 @@ a new build-system, 2 additional landuse data sets, CDI-library for icon grids i
569569

570570
#### DWD Extpar version 2.10 to Extpar version 5.0
571571
Comparisons of the COSMO D2 setup used operationally by DWD were carried out to compare the current operational Extpar code (DWD version 2.10) with the new release 5.0. This comparison showed no significant differences in the generated external parameter fields. Get more details of this comparison [here](doc/EXTPAR_CD2_comparison.pdf)
572+
573+
## 4.0
574+
575+
New features and changes in EXTPAR 4.0:
576+
577+
- Support for MACv2 aerosol climatology for RG92 spectral bands added (Development of RosHyMet)
578+
- Support for subgrid-scale slope parameter added for a new soil moisture flux formulation in TERRA_ML developed by Linda Schlemmer (ETHZ)
579+
- Additional namelist parameters introduced for extpar_isa_to_buffer and extpar_ahf_to_buffer to enable choice of raw data sets by Burkhardt Rockel (HZG)
580+
- Correct bug in the calculation of SSO_THETA reported by Rolf Zentek (Uni Trier) and Jürgen Helmert (DWD)
581+
582+
## 3.0
583+
584+
New features and changes in EXTPAR version 3.0:
585+
586+
- An additional executables extpar_isa_to_buffer (contributed by Hendrik Wouters) is provided to create the external data fields fraction of impervious surface area (ISA) needed by the urban model TERRA_URB
587+
- A second additional executable extpar_ahf_to_buffer (also by Hendrik Wouters) generates the fields anthropogenic heat flux (AHF) also needed by TERRA_URB
588+
- Reduced the amount of memory used in extpar_soil_to_buffer when using HWSD soil data
589+
- Corrected problems with the coast line in the Caspian Sea area at high resolutions
590+
- Corrected problems appearing at the date line with lake and aerosol data
591+
- Corrected problems appearing at the south pole
592+
593+
## 2.0
594+
595+
EXTPAR 2.0.0 officially released
596+
597+
- start point is DWD release 1.6
598+
- added delta from DWD release 1.13
599+
- added support of ASTER topography (in domain [60S,60N])
600+
- support scale separation to compute SSO and z0 when using GLOBE topography
601+
- added namelist parameter to switch off computation of SSO (for performance reasons)
602+
- added support of lradtopo parameterization (topo corrected radiation)
603+
- support of HWSD (incl. preliminary support of deep soil)
604+
- support for mapping of HWSD soil data to classical TERRA soil types (isoil_type = 3)
605+
- corrected GLOBCOVER data set, updated input routines (GLOBCOVER is now delivered as a set of tiles)
606+
- modified consistency check related to soil type = ice (improved compatibility with GLOBCOVER data)
607+
- support for ECOCLIMAP landuse data set with seasonal cycle of LAI, PLCOV and Z0 (i_landuse_data = 4)
608+
- support for soil albedo values similar to what is used in the Community Land Model (ialb_type = 2)
609+
- support for additional aerosol climatologies: AEROCOM (iaot_type = 2) and MACC (iaot_type = 3)
610+
- many bug fixes and code cleanup
611+
- consolidated run scripts
612+
- modified Makefile
613+
614+
### Quality control
615+
616+
- software extensively tested during development by Martina Messmer (reports available in documentation)
617+
- software tested with COSMO-1, COSMO-2, COSMO-7, at MeteoSwiss, for different configurations (GLOBE / ASTER, GLC2000 / GLOBCOVER, FAO / HWSD)
618+
- software tested at ETHZ by Daniel Luethi
619+
- software tested at DWD by Juergen Helmert
620+
621+
### Documentation
622+
623+
- comprehensive documentation available at CSCS / Switzerland, in master installation
624+
- mailing list cosmo-extpar
625+
626+
### Installation
627+
628+
- full installation, including raw data, at CSCS / Switzerland
629+
- code controlled with SVN
630+
631+
And here is what you do not get with release 2.0:
632+
633+
### Limitations
634+
635+
- high resolution topo data at high latitude (> 60 deg) is missing
636+
- HWSD deep soil is preliminary and not tested
637+
- compatibility of GRIB 1 output with latest INT2LM release has not been tested
638+
- GRIB 2 output is not working (one may use fieldextra to convert from GRIB 1 to GRIB 2)
639+
- code not tested with OpenMP
640+
- code not tested for GME
641+
- code not tested for ICON
642+
- code performance in terms of time to solution is limited

docs/user_manual/user_manual_04_python_modules.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -383,8 +383,10 @@ The executable *extpar_cdnc_to_buffer* allows the interpolation of
383383
climatology data for cloud droplet number needed for the Cloud-Aerosol
384384
in ICON to the target grid.
385385

386-
The namelist contains only the path to the raw data, the raw data file
387-
names and the name of the buffer file.
386+
The namelist contains the path to the raw data, the raw data file
387+
names and the name of the buffer file. The integer switch (*icdnc_type*) informs
388+
EXTPAR about which of the 3 available datasets has been chosen: 1 (MODIS Q06),
389+
2 (MODIS G18), 3 (MODIS BR17).
388390

389391
The remapping to the target grid uses the *first order conservative*
390392
interpolation. No other processing steps take place.
@@ -396,7 +398,9 @@ interpolation. No other processing steps take place.
396398

397399
- generate namelist: INPUT_cdnc
398400

399-
- data input: cdnc_climatology_Q06.nc
401+
- data input: modis_cdnc_climatology_Q06.nc (icdnc_type=1),
402+
modis_cdnc_climatology_G18.nc (icdnc_type=2),
403+
modis_cdnc_climatology_BR17_37mu_adjusted.nc (icdnc_type=3)
400404

401405
- Output: buffer file with cloud droplet number data (input_cdnc:
402406
cdnc_buffer_file)

docs/user_manual/user_manual_06_namelist_input.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ The COSMO grid is defined by a rotated latlon-grid.
215215
|-----------|------|---------|------|-------------|
216216
| `raw_data_cdnc_path` | character | | | Path to CDNC raw data |
217217
| `raw_data_cdnc_filename` | character | | | Filename of CDNC raw data |
218+
| `icdnc_type` | integer | 1 | | type of used CDNC data source <br> 1: MODIS Q06 <br> 2: MODIS G18 <br> 3: MODIS BR17 |
218219

219220
## Aerosol Optical Thickness Data
220221

@@ -227,7 +228,7 @@ The COSMO grid is defined by a rotated latlon-grid.
227228
| `iaot_type` | integer | | | type of used AOT data source <br> 1: Tegen <br> 2: AeroCom |
228229
| `aot_buffer_file` | character | | | name for AOT buffer file |
229230

230-
## art Data
231+
## ART Data
231232

232233
### DICT `input_art` (namelist.py)
233234

python/WrapExtpar.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ def main():
7373
it_cl_type = config.get('it_cl_type')
7474
iera_type = config.get('iera_type')
7575
iemiss_type = config.get('iemiss_type')
76+
icdnc_type = config.get('icdnc_type', 1)
7677
ilookup_table_lu = config.get('ilookup_table_lu')
7778
enable_cdnc = config.get('enable_cdnc', False)
7879
enable_edgar = config.get('enable_edgar', False)
@@ -90,7 +91,7 @@ def main():
9091

9192
generate_external_parameters(
9293
igrid_type, args.input_grid, iaot_type, ilu_type, ialb_type,
93-
isoil_type, itopo_type, it_cl_type, iera_type, iemiss_type,
94+
isoil_type, itopo_type, it_cl_type, iera_type, iemiss_type, icdnc_type,
9495
ilookup_table_lu, enable_cdnc, enable_edgar, enable_art,
9596
use_array_cache, nhori, radtopo_radius, tcorr_lapse_rate, tcorr_offset,
9697
args.raw_data_path, args.run_dir, args.account, args.host,
@@ -107,6 +108,7 @@ def generate_external_parameters(igrid_type,
107108
it_cl_type,
108109
iera_type,
109110
iemiss_type,
111+
icdnc_type,
110112
ilookup_table_lu,
111113
enable_cdnc,
112114
enable_edgar,
@@ -146,6 +148,7 @@ def generate_external_parameters(igrid_type,
146148
'it_cl_type': it_cl_type,
147149
'iera_type': iera_type,
148150
'iemiss_type': iemiss_type,
151+
'icdnc_type': icdnc_type,
149152
'ilookup_table_lu': ilookup_table_lu,
150153
'enable_cdnc': enable_cdnc,
151154
'enable_edgar': enable_edgar,
@@ -717,10 +720,21 @@ def setup_urban_namelist(args):
717720

718721
def setup_cdnc_namelist(args):
719722
namelist = {}
723+
icdnc_type = args['icdnc_type']
720724

725+
namelist['icdnc_type'] = icdnc_type
721726
namelist['raw_data_cdnc_path'] = args['raw_data_path']
722727
namelist['cdnc_buffer_file'] = 'cdnc_buffer.nc'
723-
namelist['raw_data_cdnc_filename'] = 'modis_cdnc_climatology_Q06.nc'
728+
if icdnc_type == 1:
729+
namelist['raw_data_cdnc_filename'] = 'modis_cdnc_climatology_Q06.nc'
730+
elif icdnc_type == 2:
731+
namelist['raw_data_cdnc_filename'] = 'modis_cdnc_climatology_G18.nc'
732+
elif icdnc_type == 3:
733+
namelist[
734+
'raw_data_cdnc_filename'] = 'modis_cdnc_climatology_BR17_37mu_adjusted.nc'
735+
else:
736+
logging.error(f'Unknown icdnc_type {args["icdnc_type"]}')
737+
raise ValueError(f'Unknown icdnc_type {args["icdnc_type"]}')
724738

725739
return namelist
726740

0 commit comments

Comments
 (0)