Skip to content

Commit

Permalink
deploy: 1e5d436
Browse files Browse the repository at this point in the history
  • Loading branch information
jjokella committed Oct 29, 2024
0 parents commit 1834cd9
Show file tree
Hide file tree
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.
4 changes: 4 additions & 0 deletions .buildinfo
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 added .doctrees/content/best_practices.doctree
Binary file not shown.
Binary file added .doctrees/content/branches.doctree
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/content/build_examples.doctree
Binary file not shown.
Binary file added .doctrees/content/build_examples_tsmp.doctree
Binary file not shown.
Binary file added .doctrees/content/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 added .doctrees/content/build_tsmp/intf_da.doctree
Binary file not shown.
Binary file added .doctrees/content/build_tsmp/obtain_code.doctree
Binary file not shown.
Binary file added .doctrees/content/build_tsmp/pdaf.doctree
Binary file not shown.
Binary file added .doctrees/content/build_tsmp/structure.doctree
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/content/contributing/general.doctree
Binary file not shown.
Binary file added .doctrees/content/debugging.doctree
Binary file not shown.
Binary file added .doctrees/content/debugging/debug_tips.doctree
Binary file not shown.
Binary file added .doctrees/content/debugging/debugger.doctree
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/content/development.doctree
Binary file not shown.
Binary file added .doctrees/content/faq/documentation.doctree
Binary file not shown.
Binary file added .doctrees/content/faq/general.doctree
Binary file not shown.
Binary file added .doctrees/content/feat_branch/branches.doctree
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/content/gettingstarted.doctree
Binary file not shown.
Binary file added .doctrees/content/input_clm.doctree
Binary file not shown.
Binary file added .doctrees/content/input_cmd.doctree
Binary file not shown.
Binary file added .doctrees/content/input_cos.doctree
Binary file not shown.
Binary file added .doctrees/content/input_enkfpf.doctree
Binary file not shown.
Binary file added .doctrees/content/input_oas.doctree
Binary file not shown.
Binary file added .doctrees/content/input_obs.doctree
Binary file not shown.
Binary file added .doctrees/content/input_pfl.doctree
Binary file not shown.
Binary file added .doctrees/content/installation.doctree
Binary file not shown.
Binary file added .doctrees/content/intf_da.doctree
Binary file not shown.
Binary file added .doctrees/content/introduction.doctree
Binary file not shown.
Binary file added .doctrees/content/jsc.doctree
Binary file not shown.
Binary file added .doctrees/content/misc.doctree
Binary file not shown.
Binary file added .doctrees/content/misc/misc.doctree
Binary file not shown.
Binary file added .doctrees/content/pdaf.doctree
Binary file not shown.
Binary file added .doctrees/content/profiling/jube.doctree
Binary file not shown.
Binary file added .doctrees/content/remotes.doctree
Binary file not shown.
Binary file added .doctrees/content/running.doctree
Binary file not shown.
Binary file added .doctrees/content/setup_examples.doctree
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/content/setup_tsmp/input_clm.doctree
Binary file not shown.
Binary file added .doctrees/content/setup_tsmp/input_cmd.doctree
Binary file not shown.
Binary file added .doctrees/content/setup_tsmp/input_cos.doctree
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/content/setup_tsmp/input_oas.doctree
Binary file not shown.
Binary file added .doctrees/content/setup_tsmp/input_obs.doctree
Binary file not shown.
Binary file added .doctrees/content/setup_tsmp/input_pfl.doctree
Binary file not shown.
Binary file added .doctrees/content/setup_tsmp/running.doctree
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/content/structure.doctree
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/environment.pickle
Binary file not shown.
Binary file added .doctrees/index.doctree
Binary file not shown.
Empty file added .nojekyll
Empty file.
4 changes: 4 additions & 0 deletions 3km_setup/.buildinfo
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 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 added 3km_setup/.doctrees/content/faq/general.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added 3km_setup/.doctrees/content/introduction.doctree
Binary file not shown.
Binary file added 3km_setup/.doctrees/content/misc/misc.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 added 3km_setup/.doctrees/environment.pickle
Binary file not shown.
Binary file added 3km_setup/.doctrees/index.doctree
Binary file not shown.
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 3km_setup/_sources/content/build_tsmp/build_examples.md.txt
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 3km_setup/_sources/content/build_tsmp/build_examples_tsmp.md.txt
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 3km_setup/_sources/content/build_tsmp/build_examples_tsmppdaf.md.txt
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.

Loading

0 comments on commit 1834cd9

Please sign in to comment.