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

Breaking change!

If you compile MIDAS code after tag v_3.7.2 on HPCR-U2, then you must update your login profile to version 1.19.0:

ln -svi /fs/ssm/eccc/mrd/ordenv/profile/1.19.0 ~/.profile_1.19.0
rm -v ~/.profile && ln -svi .profile_1.19.0 ~/.profile

This change is backward compatible for your suites but you absolutely need to update your profile to compile any MIDAS code after version v_3.7.2.

To know if your code is after v_3.7.2, you can execute:

git describe

Also, to run the system tests for versions that include the latest update to rpn/utils, you must update your login profile to version 1.28.0 or later.

MIDAS Fortran coding standards:

MIDAS releases general and code documentations:

The documentation for officially supported branches is available:

Contributing

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

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} [email protected]: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 [email protected]:atmospheric-data-assimilation/midas.git midas-main

Getting code related to IC-4 implementation

. ssmuse-sh -d eccc/cmd/cmdi/utils/2.6
clone_projet --no-central -c v_3.9 [email protected]:atmospheric-data-assimilation/midas.git midas-3.9

If you created a new branch with the GitLab web UI, then the branch 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 [email protected]: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-3 implementation on HPCR-U2

. ssmuse-sh -d eccc/cmd/cmdi/utils/2.6
clone_projet --no-central -c v_3.7 [email protected]:atmospheric-data-assimilation/midas.git midas-3.7

If you created a new branch with the GitLab web UI, then the branch 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.7 [email protected]: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

Compiling MIDAS

src/midas_build is now the official compilation tool to build MIDAS. To proceed to compilation tasks, you should be in the src/ directory. midas_build compiles by default on both platforms.

Compiling a single program

To compile a single program on both platforms, do the following from the frontnode:

cd ${where_your_code_is}
cd src
./midas_build ${program_basename}.Abs

where program_basename is the basename of one the files with extention .f90 in the sub-directory src/programs or splitobs. If you installed the auto-completion feature you can browse all install targets by pressing <TAB> following ./midas_build.

By default the binary will be installed in ${HOME}/data_maestro/ords/midas-bld/midas_abs/ (this can be configured by environment variables).

Compiling all programs

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 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

Stars

Watchers

Forks

Packages

No packages published