-
Notifications
You must be signed in to change notification settings - Fork 22
Adcirpolate
https://github.com/ccht-ncsu/Adcirpolate
Documentation and examples are in the "Documentation&TestCases" branch.
Started with ESMF, downloaded latest release tar.gz file, set up environment variables on my desktop machine:
export
ESMF_DIR=/home/jason/Campaigns/Development/2021/Technology/ADCIRPOLATE/esmf-ESMF_8_0_1
Needed to determine what kind of mpi I have:
mpiexec --version
mpiexec (OpenRTE) 4.0.3 Report bugs to
http://www.open-mpi.org/community/help/
Set mpi type, compiler, word size, and install location:
export ESMF_COMM=openmpi
export ESMF_COMPILER=gfortran
export ESMF_ABI=64
export ESMF_INSTALL_PREFIX=/home/jason/Campaigns/Development/2021/Technology/ADCIRPOLATE
Then built:
make
make check # some tests passed but this ended in failure
make install
Then turned to the task of building Adcirpolate:
find -name esmf.mk -print
./lib/libO/Linux.gfortran.64.openmpi.default/esmf.mk
cd adcirpolate
export FC=mpif90
export ESMF_CONFIG_FILE=/home/jason/Campaigns/Development/2021/Technology/ADCIRPOLATE/esmf-ESMF_8_0_1/lib/libO/Linux.gfortran.64.openmpi.default/esmf.mk
cmake ./CMakeLists.txt
make all
The code currently requires the source data to be in a directory named coarse
and the target mesh to be in a directory named fine
. Seems to also require fulldomain coarse/fort.14
and coarse/partmesh.txt
(had a couple error messages when these were not found). I later found that Adcirpolate also needs to read the fine/fort.14
fulldomain target mesh file as well as the fine/partmesh.txt
domain decomposition description file.
Adcirpolate reads subdomain binary adcirc hotstart files from the coarse/PE*
subdomain directories and then writes a fulldomain binary hotstart file to the fine
directory. I was doing this on my desktop machine and wanted to use a small test case so I was just interpolating a hotstart file onto the same mesh as the source mesh so I did the following:
cp coarse/partmesh.txt fine
The Adcirpolate code is executed as follows:
jason@kitt:/srv/scratch/asgs.dev/asgs41098/2021040706$ mpiexec -n 2 ~/Campaigns/Development/2021/Technology/ADCIRPOLATE/Adcirpolate/adcirpolate
The Adcirpolate code appeared to run to completion successfully, with the following messages written to the console:
jason@kitt:/srv/scratch/asgs.dev/asgs41098/2021040706$ mpiexec -n 2 ~/Campaigns/Development/2021/Technology/ADCIRPOLATE/Adcirpolate/adcirpolate
Invalid MIT-MAGIC-COOKIE-1 keyLooking for global fort.14 in the directory: coarse/
Creating parallel ESMF mesh from ADCIRC source mesh
Looking for global fort.14 in the directory: fine/
Creating parallel ESMF mesh from ADCIRC destination mesh
Reading parallel hotdata from source directory.
Creating ESMF fields:
source data field is created.
destination mask field is created.
destination mapped data field is created.
destination unmapped data field is created.
Creating ESMF regriding operators:
mapped regriding operator is created.
unmapped regriding operator is created.
Regriding eta1:
mapped regriding done with code: 0
unmapped regriding done with code: 0
Regriding eta2:
mapped regriding done with code: 0
unmapped regriding done with code: 0
Regriding etaDisc:
mapped regriding done with code: 0
unmapped regriding done with code: 0
Regriding UU2:
mapped regriding done with code: 0
unmapped regriding done with code: 0
Regriding VV2:
mapped regriding done with code: 0
unmapped regriding done with code: 0
Regriding CH1:
mapped regriding done with code: 0
unmapped regriding done with code: 0
Regriding NODECODE:
mapped regriding done with code: 0
unmapped regriding done with code: 0
Gathering src eta1 on root:
gathered on root with code: 0
Gathering src eta2 on root:
gathered on root with code: 0
Gathering src etaDisc on root:
gathered on root with code: 0
Gathering src UU2 on root:
gathered on root with code: 0
Gathering src VV2 on root:
gathered on root with code: 0
Gathering src CH1 on root:
gathered on root with code: 0
Gathering src NODECODE on root:
gathered on root with code: 0
Gathering dst eta1 on root:
gathered on root with code: 0
Gathering dst eta2 on root:
gathered on root with code: 0
Gathering dst etaDisc on root:
gathered on root with code: 0
Gathering dst UU2 on root:
gathered on root with code: 0
Gathering dst VV2 on root:
gathered on root with code: 0
Gathering dst CH1 on root:
gathered on root with code: 0
Gathering dst NODECODE on root:
gathered on root with code: 0
Computing the wet and dry nodes and elements.
Writing the global fort.67 in the destination mesh.