Skip to content

The Modular and Integrated Data Assimilation System software developed by Environment and Climate Change Canada

License

Notifications You must be signed in to change notification settings

ECCC-ASTD-MRD/MIDAS-src

Repository files navigation

Contributing

We strongly suggest anyone considering to contribute to the MIDAS project, to follow the workflow documented in the contributing guide.

MIDAS Fortran coding standards:

MIDAS releases general and code documentations:

The documentation for officially supported branches is available:

Getting a local copy of the code

To simply get a local copy of the code from an existing branch associated with an issue, we suggest the command:

. ssmuse-sh -d eccc/cmd/cmdi/utils/2.6
clone_projet --no-central -c ${ISSUE_NUMBER} git@gitlab.science.gc.ca:atmospheric-data-assimilation/midas.git midas-${ISSUE_NUMBER}

or if one is interested in the latest version of the main branch

clone_projet --no-central -c main git@gitlab.science.gc.ca:atmospheric-data-assimilation/midas.git midas-main

To use this version, it is necessary to load LibRMN 20 utilities starting from version rpn/utils/20231219.

Getting the code for tag v_4.0.0

The code related to the v_4.0.0 release is available with the command:

. ssmuse-sh -d eccc/cmd/cmdi/utils/2.6
clone_projet --no-central -c v_4.0.0 git@gitlab.science.gc.ca:atmospheric-data-assimilation/midas.git midas-4.0.0

To use this version, it is necessary to load LibRMN 20 utilities starting from version rpn/utils/20231219.

Getting code related to IC-4 implementation on HPCR-U2

The official code related to IC-4 implementation is available with the command:

. ssmuse-sh -d eccc/cmd/cmdi/utils/2.6
clone_projet --no-central -c v_3.9 git@gitlab.science.gc.ca:atmospheric-data-assimilation/midas.git midas-3.9

One can also use the branch v_3.9-RandD. The code in this branch validates with v_3.9 but contains new features for testing using IC-4 final cycles as the reference.

. ssmuse-sh -d eccc/cmd/cmdi/utils/2.6
clone_projet --no-central -c v_3.9-RandD git@gitlab.science.gc.ca:atmospheric-data-assimilation/midas.git midas-3.9-RandD

If you created a new branch with the GitLab web UI without choosing the origin branch, then it has been created using the default branch which is main. One must reset it to the release branch. One can simply do:

. ssmuse-sh -d eccc/cmd/cmdi/utils/2.6
clone_projet --no-central -c v_3.9 git@gitlab.science.gc.ca:atmospheric-data-assimilation/midas.git midas-${ISSUE_NUMBER}
cd midas-${ISSUE_NUMBER}
git checkout -b ${ISSUE_NUMBER}-complete-the-name-of-the-branch-as-on-GitLab
git push origin ${ISSUE_NUMBER}-complete-the-name-of-the-branch-as-on-GitLab --force-with-lease

Getting code related to IC-4 implementation on HPCR-U3

. ssmuse-sh -d eccc/cmd/cmdi/utils/2.6
clone_projet --no-central -c v_3.10 git@gitlab.science.gc.ca:atmospheric-data-assimilation/midas.git midas-3.10

One can also use the branch v_3.10-RandD. The code in this branch validates with v_3.10 but contains new features for testing using IC-4 HPCR-U3 final cycles as the reference.

. ssmuse-sh -d eccc/cmd/cmdi/utils/2.6
clone_projet --no-central -c v_3.10-RandD git@gitlab.science.gc.ca:atmospheric-data-assimilation/midas.git midas-3.10-RandD

Compiling MIDAS

src/midas_build is the official compilation tool to build MIDAS.

To compile all programs (src/programs/*.f90 as well as splitobs), simply do:

cd ${where_your_code_is}
cd src
./midas_build

Complete documentation on using midas_build, cmake and make

If you are contributing a new program, changing external dependencies, recompiling a lot or debugging the code, you should take the time to read the detailed instructions found in src/README.md.

Tools

Several tools related to MIDAS are included in the codebase. Those tools have a code separated from the main code in MIDAS.

midas_scripts

Those are the helper scripts which launch MIDAS programs.

Refer to the midas_scripts/README.md for more details.

midas.splitobs

This program is used to split the observations into several files according to one of the following strategy:

  • round-robin
  • lat-lon tiles of a grid

It can also select the observations that lies in a domain defined by a RPN grid.

Refer to the splitobs/README.md for more details.

midas.monitor

This program monitors a file to react to its content.

See monitor/README.md for more details.

midas.findTrials

This scripts finds the trial name extensions in an assimilation window.

See findTrials/README.md for more details.

dumpBmatrix

This standalone program dump 1D covariance values from the binary file Bmatrix.bin.

See scripts/convenient_tools/dumpBmatrix/README.md for more details.

About

The Modular and Integrated Data Assimilation System software developed by Environment and Climate Change Canada

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 9