NCAR / DART

Data Assimilation Research Testbed
https://dart.ucar.edu/
Apache License 2.0
187 stars 140 forks source link

Quickbuild mpif08 #562

Closed hkershaw-brown closed 9 months ago

hkershaw-brown commented 10 months ago

Description:

Added an mpif08 option to quickbuild.sh for model quickbuilds.

I've added mpi as an option for the 1st argument to quickbuild.sh. This is because it seemed likely that someone might specify ./quickbuild.sh mpi if they can do ./quickbuild.sh mpif08

The default is still mpi.

The GSI converter uses mpi, but its own mpi calls (not mpif08) https://github.com/NCAR/DART/blob/main/observations/obs_converters/GSI2DART/mpisetup.f90 I have left this alone for now.

Fixes issue

Fixes #261, fixes #551, fixes #497

Types of changes

Documentation changes needed?

Tests

Building, with mpi, mpif08, nompi ./quickbuild.sh help To print usage message. will test on Derecho with the various compilers and mpi libraries once derecho is a back up.

Checklist for merging

Checklist for release

Testing Datasets

hkershaw-brown commented 9 months ago

needs converters

hkershaw-brown commented 9 months ago

https://github.com/NCAR/DART/blob/6c6ac535ff2a75d2b1831b5e414570cf370a3a66/build_templates/buildconvfunctions.sh#L45C1-L55C2

In the function print_usage in buildconvfunctions.sh, it should echo ./quickbuild.sh instead of buildconverter.sh

Also, is line 52 (copied below) true? I don't think that we can build individual programs with obs_converters echo " buildconverter.sh [program] : build a single program"

Attempting to run ./quickbuild.sh filter while in the work dir for an obs converter results in "ERROR: unknown program filter"

Fixed buildconverter.sh -> quickbuild.sh

The converter quickbuilds will build a single program, but it has to be one of the converter programs. Do you think it would be less confusing to just have the docs say run ./quickbuild.sh help in a work directory to see the options?

mjs2369 commented 9 months ago

The converter quickbuilds will build a single program, but it has to be one of the converter programs. Do you think it would be less confusing to just have the docs say run ./quickbuild.sh help in a work directory to see the options?

I think that is already covered in the docs, unless you mean that running "./quickbuild help" will show the options for possible single programs that can be built for the given work dir, which it currently doesn't do

hkershaw-brown commented 9 months ago

The converter quickbuilds will build a single program, but it has to be one of the converter programs. Do you think it would be less confusing to just have the docs say run ./quickbuild.sh help in a work directory to see the options?

I think that is already covered in the docs, unless you mean that running "./quickbuild help" will show the options for possible single programs that can be built for the given work dir, which it currently doesn't do

To address https://github.com/NCAR/DART/issues/497, I put in the the usage for quickbuild.sh for lorenz_63. but it seems like this is confusing for converter builds. What were you thinking for #497 ?

mjs2369 commented 9 months ago

To address #497, I put in the the usage for quickbuild.sh for lorenz_63. but it seems like this is confusing for converter builds. What were you thinking for #497 ?

I really like the additions to the usage for quickbuild.sh for lorenz_63 and think it fixes 497 well. I don't think it's confusing for the obs converters; if they try to use the mpi options it will fail and from there they can use the help command.

But we could maybe add something like "not for obs converters" to this line here