R2795/MITgcm_orig_code/MITgcm/verification/OpenADc8d59fb69877master
OpenAD
README
Starting a configuration for OpenAD 19-Aug-2005, heimbach@mit.edu, utke@mcs.anl.gov, cnh@mit.edu
This experiment is derived from global_ocean.90x40x15, but excludes packages gmredi, kpp.
STEP 1:
To bypass incomplete canonicalizer, convert COMMON blocks to MODULES. Successfully completed. The built process needed to be modified, and some routines needed changes. Most changes were commited to default routines, the remaining changes are kept in code/ for now.
To build:
o short version:
make makefile ; make depend ; make cb2m ; make makefile ; make small_f ; make allmods ; make
o long version:
- (chdir to built/; assume we are in built/) #
- generate makefile using ifort and modified genmake2 in ../code/
../code/genmake2 -of ../../../tools/build_options/linux_ia32_ifort -mods ../code
- make dependencies
make depend
- invoke script to convert COMMON block headers to MODULE headers
- converts FILE.h to FILE_mod.h which uses newi module FILE_mod.F90
make cb2m
- re-generate makefile which takes into account newly created files
- FILE_mod.h, FILE_mod.F90
make makefile
- make .f, .f90
make small_f
- first compile all module files .f90
make allmods
- compile everything else
make
To clean:
Since soft links get overwritten, for now do:
make CLEAN ; rm *.F *.F90 *.h
to run:
paremeter files are in input/
ln -s ../input/* .
- initial and forcing fields are elsewhere;
- get these from verif. exp. global_ocean.90x40x15/input/*.bin
ln -s ../../global_ocean.90x40x15/input/*.bin . ./mitgcmuv >! output.txt
STEP 2:
Generate code for AD-related routines.
Similar to step 1, but look in code_ad/ instead of code/
To build:
o short version:
../code_ad/genmake2 -of ../../../tools/build_options/linux_ia32_ifort -adof ../../../tools/adjoint_options/adjoint_f95 -mods ../code_ad
make adAll