-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 1834cd9
Showing
5,028 changed files
with
680,073 additions
and
0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Sphinx build info version 1 | ||
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done. | ||
config: 6ac9ee1e515cd76a70805b0c17ea270c | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Sphinx build info version 1 | ||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. | ||
config: 55d9af8d6b52dbc5af3c91a827152c78 | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
Binary file added
BIN
+15.3 KB
3km_setup/.doctrees/content/build_tsmp/build_environment_variables.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added
BIN
+35.8 KB
3km_setup/.doctrees/content/build_tsmp/build_examples_tsmppdaf.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
89 changes: 89 additions & 0 deletions
89
3km_setup/_sources/content/build_tsmp/build_environment_variables.md.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
# TSMP-PDAF Environment variables # | ||
|
||
A number of environment variables are set during the build process of | ||
TSMP-PDAF in order to make the code behave in specific ways. | ||
|
||
TSMP-PDAF environemnt variables are set in the machine-specific | ||
TSMP-PDAF build-script: | ||
|
||
``` | ||
bldsva/intf_DA/pdaf/arch/build_interface_pdaf.ksh | ||
``` | ||
|
||
## CLMSA ## | ||
|
||
Environment variable `CLMSA` is true if CLM-standalone is used in | ||
TSMP-PDAF, i.e. no coupling to other component models (ParFlow, | ||
atmospheric model). | ||
|
||
`CLMSA` is used in many places in TSMP-PDAF, where CLM-standalone | ||
specific code is introduced. This includes | ||
- observation reading | ||
- setting observation vector | ||
- setting state vector | ||
- communicator handling | ||
- localized filters | ||
- TSMP-PDAF-wrapper routines | ||
|
||
## PARFLOW_STAND_ALONE ## | ||
|
||
Environment variable `PARFLOW_STAND_ALONE` is true if | ||
ParFlow-standalone is used in TSMP-PDAF, i.e. no coupling to other | ||
component models (CLM, atmospheric model). | ||
|
||
It is used less frequently than [CLMSA](#clmsa), only at code places | ||
where the behavior of ParFlow-CLM-PDAF and ParFlow-PDAF should differ. | ||
|
||
## OBS_ONLY_PARFLOW ## | ||
|
||
Environment variable `OBS_ONLY_PARFLOW` is true if observations in | ||
TSMP-PDAF are of ParFlow-type. | ||
|
||
This will remove unnecessary code during observation reading, when | ||
ParFlow-CLM-PDAF is built, but no CLM-type observations are included. | ||
|
||
## OBS_ONLY_CLM ## | ||
|
||
Environment variable `OBS_ONLY_CLM` is true if observations in | ||
TSMP-PDAF are of CLM-type. | ||
|
||
This will remove unnecessary code during observation reading, when | ||
ParFlow-CLM-PDAF is built, but no ParFlow-type observations are | ||
included. | ||
|
||
## WATSAT3D ## | ||
|
||
Environment variable `WATSAT3D` is set in `common_build_interface.ksh` | ||
in function `c_configure_clm`. | ||
|
||
If it is turned on, the possibility of a read-in porosity is | ||
implemented in CLM's `iniTimeConst.F90`. | ||
|
||
Usage: Enforce consistent porosity in ParFlow and CLM. | ||
|
||
## CLMFIVE ## | ||
|
||
Currently only in feature branch `TSMP_pdaf-clm5`. | ||
|
||
If defined, CLM5.0 is used. | ||
|
||
If undefined, CLM3.5 is used. | ||
|
||
This distinction is important in many parts of the TSMP-PDAF-wrapper | ||
source code, when, f.e., function calls have changed from version 3 to | ||
version 5 of CLM. | ||
|
||
## HCP_TRUNCATE_SAT ## | ||
|
||
If `HCP_TRUNCAT_SAt` is defined, the saturation truncation in | ||
`problem_saturationtopressure.c` reads | ||
|
||
``` c++ | ||
if(psdat[ips] <= (s_res + 0.003) ) psdat[ips] = s_res + 0.003; | ||
``` | ||
|
||
instead of the default | ||
|
||
``` c++ | ||
if(psdat[ips] <= s_res) psdat[ips] = s_res + 0.01; | ||
``` |
59 changes: 59 additions & 0 deletions
59
3km_setup/_sources/content/build_tsmp/build_examples.md.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Building TSMP # | ||
|
||
These are example builds of TSMP that are frequently tested. | ||
|
||
## Build script of TSMP | ||
|
||
To get information about TSMP build options for different version | ||
using standalone or different combination of model components on | ||
different machines inside the folder `TSMP/bldsva` execute | ||
|
||
``` bash | ||
./build_tsmp.ksh -a | ||
``` | ||
|
||
you can also use `--man` or `--help` to get terrsysmp build options | ||
|
||
``` bash | ||
./build_tsmp.ksh --man ./build_tsmp.ksh --help | ||
``` | ||
|
||
for building `TSMP` with COSMO-CLM3.5-ParFlow the following combination is recommended: | ||
- `-c clm3-cos5-pfl ` (recommended). | ||
|
||
for building `TSMP-PDAF` the following combinations can be used: | ||
- `-c clm3-cos4-pfl-pdaf` | ||
- `-c clm3-cos5-pfl-pdaf` (recommended). | ||
|
||
### Building on GPU | ||
|
||
For building ParFlow 3.12 on GPU: | ||
|
||
```shell | ||
cd $TSMP_DIR/bldsva | ||
./build_tsmp.ksh -c clm3-cos5-pfl -m JUWELS -O Intel -A GPU | ||
``` | ||
|
||
## Build Examples | ||
|
||
```{toctree} | ||
--- | ||
maxdepth: 3 | ||
--- | ||
build_examples_tsmp.md | ||
build_examples_tsmppdaf.md | ||
``` | ||
|
||
## Patching the original source code | ||
|
||
In order to prepare the original Cosmo5_1 source code for coupling, the Cosmo source code is patched using the diff files which are located in `$TSMP_DIR/bldsva/intf_oas3/cosmo5_1/pfile`. | ||
The diff files are generated using the script `fpatch.sh` which is located in the same directory. Note that the patching is done only for cosmo5_1 source code. | ||
If the user aims to modify the coupling source files, should modify the files located in `$TSMP_DIR/bldsva/intf_oas3/cosmo5_1/tsmp` and run again the script `fpatch.sh` in order to generate the the new diff files accordingly. | ||
The necessary changes for making the ParFlow3.12 ready for coupling are already included in the official ParFlow3.12 release. | ||
The changed source files for CLM3.5 are located in `$TSMP_DIR/bldsva/intf_oas3/clm3_5/tsmp` and will be copied by TSMP scripts to the user's source code directory of CLM3.5 '(`bld/usr.src`) | ||
|
||
## Automatic Porting of TSMP on x86 machines | ||
|
||
The users who want to port TSMP on GENERIC_X86 Linux, the TSMP team provided a script to install all the necessary libraries (Netcdf, GRIBAPI, OpenMPI, HDF5, TCL, Hypre and Silo) automatically in TSMP root directory. Please run the script "lib_install.sh" located in bldsva directory to install the libraries. Note that if you exported already one of the libraries Netcdf, HDF5, GRIBAPI, Silo, Hypre and TCL in the .baschrc or .profile, you need to comment them out in order to not mess up the installation via the script lib_install.sh. | ||
|
||
The instruction on how to build and how to configure TSMP for the cordex test case ([EURO-CORDEX test case experiment](./../gettingstarted.md/#the-fully-coupled-pan-european-euro-cordex-evaluation-experiment-with-tsmp)) are given in [step 5 ](./../gettingstarted.md/#step-5-build-tsmp-interface-and-component-models) and [step 6 ](./../gettingstarted.md/#step-6-setup-and-configuration-of-the-respective-usage-and-test-case) in the getting started section, respectively. |
77 changes: 77 additions & 0 deletions
77
3km_setup/_sources/content/build_tsmp/build_examples_tsmp.md.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
# TSMP Build Examples # | ||
|
||
**Attention**: Not all of this examples were tested and paths are | ||
mostly made up. | ||
|
||
## Builds ## | ||
|
||
### Fully coupled TSMP with Oasis3-MCT ### | ||
|
||
./build_tsmp.ksh -m JUWELS -c clm3-cos5-pfl -O Intel | ||
./build_tsmp.ksh -m JURECA -c clm3-cos5-pfl -O Intel | ||
|
||
`-O Intel`: Currently, on `JUWELS`, on stage `2023`, the compilation | ||
with Intel-Compiler is recommended. It can explicitly be called by the | ||
flag `-O Intel`. | ||
|
||
The `-c` and `-v` flag are optional in this case because they are | ||
default. | ||
|
||
- **TSMP** | ||
|
||
- revision `1b69ac4` on `master` Github repository `TSMP` | ||
|
||
- **clm3\_5** | ||
|
||
- Version 3.5, `clm3_5/Copyright`, `share3_070321` in | ||
`clm3_5/src/csm_share/ChangeLog` | ||
|
||
- Gitlab repo | ||
<https://icg4geo.icg.kfa-juelich.de/ModelSystems/tsmp_src/clm3.5_fresh.git>, | ||
revision `801b5304` | ||
|
||
- **cosmo5\_1** | ||
|
||
- Gitlab repo | ||
<https://icg4geo.icg.kfa-juelich.de/ModelSystems/tsmp_src/cosmo5.01_fresh.git>, | ||
`f407b9b` | ||
|
||
- **oasis3-mct** | ||
|
||
- similar: svn revision r1506, `svn info` (caused error) | ||
|
||
- now: Gitlab repo | ||
<https://icg4geo.icg.kfa-juelich.de/ModelSystems/tsmp_src/oasis3-mct.git>, | ||
tag `svn-r1506`, revision `bc58342`) | ||
|
||
- **parflow** | ||
|
||
- Version v3.12.0 in `VERSION` | ||
|
||
|
||
- **NO pdaf** | ||
|
||
- Version 1.15.0 in `/pdaf/src/PDAF-D_print_version.F90`, | ||
new version | ||
|
||
### Compile ParFlow standalone on JUWELS without compiler optimization ### | ||
|
||
./build_tsmp.ksh -m JUWELS -c pfl -o "O0" | ||
|
||
|
||
### Compile new CLM4.0 + Cosmo5.1 on JURECA ### | ||
|
||
./build_tsmp.ksh -m JURECA -c clm4-cos5 -C false | ||
|
||
The new models are currently only supported for clm-cos and with | ||
alternative coupling-scheme. | ||
|
||
### Compile standalone eCLM ### | ||
|
||
Branch `master`. Building eCLM. Currently, only standalone. | ||
|
||
``` bash | ||
./build_tsmp.ksh -c eclm -m JURECA -O Intel | ||
./build_tsmp.ksh -c eclm-mct -m JURECA -O Intel | ||
``` | ||
|
151 changes: 151 additions & 0 deletions
151
3km_setup/_sources/content/build_tsmp/build_examples_tsmppdaf.md.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,151 @@ | ||
# TSMP-PDAF Build Examples # | ||
|
||
A collection of build examples for TSMP-PDAF. | ||
|
||
All builds involving more than one coupled component model use the | ||
coupling software Oasis3-MCT. Builds in the TSMP-PDAF branch follows the syntax | ||
shown here. Building PDAF in the master branch has a syntax without the internal | ||
version number: | ||
|
||
./build_tsmp.ksh -m JUWELS -c clm3-cos5-pfl-pdaf -O Intel | ||
|
||
- [`Compile fully coupled TSMP-PDAF`](#compile-fully-coupled-tsmp-pdaf-on-jureca) | ||
- [`Compile ParFlow standalone with PDAF`](#compile-parflow-and-clm-with-pdaf) | ||
- [`Compile ParFlow and CLM with PDAF`](#compile-parflow-standalone-with-pdaf-on-juwels-without-compiler-optimization) | ||
|
||
## Compile fully coupled TSMP-PDAF (on JURECA) ## | ||
|
||
The first example runs the build script of TSMP-PDAF, specifies the | ||
machine `JURECA`, specifies the component models CLM, COSMO and | ||
ParFlow and specifies version `1.1.0MCTPDAF`. | ||
|
||
./build_tsmp.ksh -m JURECA -c clm-cos-pfl -v 1.1.0MCTPDAF | ||
|
||
The `-c` and `-v` flag are optional in this case because the inputs for | ||
these flags on `-m JURECA` are equivalent to the corresponding default | ||
inputs. | ||
|
||
The `-v` flag is optional in this case because `-c clm-cos-pfl` is the | ||
default input for this flag on `-m JURECA` and for version `-v | ||
1.1.0MCTPDAF`. | ||
|
||
By default the `build_tsmp.ksh` script will make a copy of the original | ||
model source folder (named as in the catalog, f.e. `clm3_5`, | ||
`cosmo4_21`, and `parflow`) and back it up to | ||
`MODEL_ARCH_VERSION_COMBINATION`. | ||
|
||
With the flags `-wxyz` (see man-page) you can specify your own directory | ||
where it is backed up to. If you like to use your own folder structure | ||
for the models you can again select your own model-path with `-wxyz` and | ||
avoid making a backup with `-WXYZ` option set to \"`build`\". | ||
|
||
## Compile Parflow and CLM with PDAF ## | ||
|
||
### Build commands ### | ||
|
||
Build commands for different machines. | ||
|
||
Remarks: | ||
- For building TSMP-PDAF with DA, use branch `TSMP_pdaf` | ||
- Parflow-3.9 is supported using version tag `3.1.0MCTPDAF`. For older | ||
versions, use `3.0.0MCTPDAF` (>=3.2, <3.7), `1.1.0MCTPDAF` (<3.2). | ||
|
||
#### JURECA #### | ||
|
||
./build_tsmp.ksh -m JURECA -c clm-pfl -v 3.1.0MCTPDAF -O Intel | ||
|
||
#### JUWELS #### | ||
|
||
./build_tsmp.ksh -m JUWELS -c clm-pfl -v 3.1.0MCTPDAF -O Intel | ||
|
||
#### Remote build #### | ||
|
||
``` shell | ||
./build_tsmp_remote -m JUWELS -v 3.1.0MCTPDAF -O Intel -c clm-pfl -branch TSMP_pdaf -host juwels & | ||
./build_tsmp_remote -m JURECA -v 3.1.0MCTPDAF -O Intel -c clm-pfl -branch TSMP_pdaf -host jureca & | ||
``` | ||
|
||
### Component Models ### | ||
|
||
The build commands were last tested for these component models | ||
|
||
- **TSMP** | ||
- current revision of branch `TSMP_pdaf` from | ||
<https://github.com/HPSCTerrSys/TSMP> | ||
|
||
- **clm3\_5** | ||
- Version 3.5, `clm3_5/Copyright`, `share3_070321` in | ||
`clm3_5/src/csm_share/ChangeLog` | ||
<https://icg4geo.icg.kfa-juelich.de/ModelSystems/tsmp_src/clm3.5_fresh> | ||
revision `801b5304179f0a8cbe3dc2c50b584a6bfee387b0` | ||
- **oasis3-mct** | ||
- (svn revision r1506, `svn info` (caused error); | ||
- new: Gitlab repo | ||
<https://icg4geo.icg.kfa-juelich.de/ModelSystems/tsmp_src/oasis3-mct.git>, | ||
branch `oasis3-MCT_2.0`, revision `bc58342`) | ||
- **parflow3\_0** (`1.0.0MCTPDAF`) | ||
- Version v3.2.0 in `VERSION`, no `CMakeLists.txt` yet, revision | ||
`faaee2c` in `parflow_vTdz` from | ||
<https://git.meteo.uni-bonn.de/git/parflow> | ||
- **parflow3\_2** (`3.0.0MCTPDAF`) | ||
- Version v3.2.0 in `VERSION`, no `CMakeLists.txt` yet, revision | ||
`98a87011` in `master` from | ||
<https://github.com/parflow/parflow.git> | ||
- **parflow** (`3.1.0MCTPDAF`) | ||
- Version Tag `v3.9.0`, revision `bc80e3ac` from | ||
<https://github.com/parflow/parflow.git> | ||
- **pdaf** | ||
- Version 2.0 in `/pdaf/src/PDAF_print_version.F90`, new version | ||
|
||
Not used: | ||
- **cosmo4\_21** | ||
- Gitlab REPO | ||
<https://icg4geo.icg.kfa-juelich.de/ModelSystems/tsmp_src/cosmo4.21_fresh.git>, | ||
`c81de76` | ||
- Makefile different to other **cosmo4\_21** versions | ||
|
||
## Compile ParFlow standalone with PDAF (on JUWELS without compiler optimization) ## | ||
|
||
./build_tsmp.ksh -m JUWELS -c pfl -v 1.1.0MCTPDAF -o -O0 | ||
|
||
The `-c` and `-v` flag are optional in this case because the inputs | ||
for these flags on `-m JUWELS` are equivalent to the corresponding | ||
default inputs. | ||
|
||
./build_tsmp.ksh -m JUWELS -c pfl -v 1.1.0MCTPDAF -o -g | ||
|
||
The `-g` flag, is build to produce debugging information. | ||
|
||
## Compile CLM5 with PDAF ## | ||
|
||
CLM5-PDAF compilation, currently available only on branch | ||
`TSMP_pdaf-clm5` (January 2023). | ||
|
||
``` bash | ||
./build_tsmp.ksh -v 4.4.0MCTPDAF -c clm -m JURECA -O Intel | ||
``` | ||
|
||
### Prerequisite1: CLM5 preparation ### | ||
|
||
For obtaining and preparing the component model `clm5_0`, you | ||
have to run the following commands | ||
|
||
``` bash | ||
git clone [email protected]:ESCOMP/CTSM.git clm5_0 | ||
cd clm5_0 | ||
git checkout release-clm5.0 | ||
./manage_externals/checkout_externals | ||
``` | ||
|
||
### Prerequisite2: Path to cesm ### | ||
|
||
The path `CESMDATAROOT` needs to be changed in | ||
`TSMP/bldsva/intf_oas3/clm5_0/arch/JURECA/config/softwarepaths.ksh`. (analogous | ||
for `JUWELS`). | ||
|
||
Currently you need to have access to compute project `cjicg41` and use the line: | ||
```bash | ||
export CESMDATAROOT=/p/scratch/cjicg41/<user>/cesm | ||
``` | ||
For `<user>`, please contact someone on the inside. | ||
|
Oops, something went wrong.