/[MITgcm]/MITgcm_contrib/heimbach/OpenAD/README
ViewVC logotype

Annotation of /MITgcm_contrib/heimbach/OpenAD/README

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (hide annotations) (download)
Wed Nov 8 01:30:18 2006 UTC (18 years, 8 months ago) by heimbach
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +29 -0 lines
Updating for experiments _openad2, _taf2

1 heimbach 1.1 Starting a configuration for OpenAD
2     19-Aug-2005, heimbach@mit.edu, utke@mcs.anl.gov, cnh@mit.edu
3     ############################################################
4    
5     This experiment is derived from global_ocean.90x40x15,
6     but excludes packages gmredi, kpp.
7    
8     STEP 1:
9     ######
10     To bypass incomplete canonicalizer, convert COMMON blocks to MODULES.
11     Successfully completed.
12     The built process needed to be modified, and some routines
13     needed changes. Most changes were commited to default routines,
14     the remaining changes are kept in code/ for now.
15    
16     To build:
17     --------
18     o short version:
19     ---------------
20     make makefile ; make depend ; make cb2m ; make makefile ; make small_f ; make allmods ; make
21    
22     o long version:
23     --------------
24     # (chdir to built/; assume we are in built/)
25     #
26     # generate makefile using ifort and modified genmake2 in ../code/
27     ../code/genmake2 -of ../../../tools/build_options/linux_ia32_ifort -mods ../code
28     #
29     # make dependencies
30     make depend
31     #
32     # invoke script to convert COMMON block headers to MODULE headers
33     # converts FILE.h to FILE_mod.h which uses newi module FILE_mod.F90
34     make cb2m
35     #
36     # re-generate makefile which takes into account newly created files
37     # FILE_mod.h, FILE_mod.F90
38     make makefile
39     #
40     # make .f, .f90
41     make small_f
42     #
43     # first compile all module files .f90
44     make allmods
45     #
46     # compile everything else
47     make
48    
49     To clean:
50     --------
51     # Since soft links get overwritten, for now do:
52     make CLEAN ; rm *.F *.F90 *.h
53    
54     to run:
55     ------
56     # paremeter files are in input/
57     ln -s ../input/* .
58     # initial and forcing fields are elsewhere;
59     # get these from verif. exp. global_ocean.90x40x15/input/*.bin
60     ln -s ../../global_ocean.90x40x15/input/*.bin .
61     ./mitgcmuv >! output.txt
62    
63     STEP 2:
64     ######
65     Generate code for AD-related routines.
66    
67     Similar to step 1, but look in code_ad/ instead of code/
68    
69     To build:
70     --------
71     o short version:
72     ---------------
73    
74     ../code_ad/genmake2 -of ../../../tools/build_options/linux_ia32_ifort -adof ../../../tools/adjoint_options/adjoint_f95 -mods ../code_ad
75    
76     make adall
77    
78 heimbach 1.2 STEP 3:
79     ######
80     Compare reference outputs.
81    
82 heimbach 1.3 ------------------
83     SINGLE-LAYER SETUP: _openad, _taf
84     ------------------
85    
86 heimbach 1.2 # uncompress outputs in results_... directories:
87     gunzip ../results_shallow_*/output.txt.gz
88    
89     # extract gradients from TAF-generated adjoint:
90     grep grad-res ../results_shallow_taf/output.txt
91    
92     # extract gradients from OpenAD-generated adjoint:
93     grep ' salt/theta ' ../results_shallow_openad/output.txt
94    
95     The two positions tested via gradient checks (results_shallow_taf) are
96     (i,j,k) = (43,2,1) and (44,2,1)
97     Find corresponding locations in ' salt/theta ' output
98     (which outputs whole theta, salt gradient)
99 heimbach 1.1
100 heimbach 1.3 ------------------
101     15-LAYER-SETUP : _openad2, _taf2
102     ------------------
103    
104     first working setup of 05-Aug-2006 ran for 12 timesteps
105     on itrda.acesgrid.org under
106     /net/ds-06/scratch-0/utke/cvs/MITgcm/verification/OpenAD/run_ph_baroclin/
107     uses Atlantic heat transport cost function;
108    
109     * OpenAD output is in results_shallow_openad2/
110     grep ' salt/theta ' ../results_shallow_openad2/output.txt
111    
112     * TAF output is in results_shallow_taf2/
113     grep grad-res ../results_shallow_taf2/output.txt
114    
115     The positions tested via gradient checks (results_shallow_taf2) are
116     (i,j,k) = (78,26,1)
117    
118     ------------------
119     15-LAYER-SETUP WITH GMREDI: _openad3, _taf3
120     ------------------
121    
122     not yet run.

  ViewVC Help
Powered by ViewVC 1.1.22