47 |
- 4 timesteps |
- 4 timesteps |
48 |
|
|
49 |
|
|
|
|
|
50 |
#################### |
#################### |
51 |
# Experiment no. 2 # |
# Experiment no. 2 # |
52 |
#################### |
#################### |
122 |
cp ../verification/natl_box_adjoint/input/PH_*.data . |
cp ../verification/natl_box_adjoint/input/PH_*.data . |
123 |
./mitgcmuv >&! output.txt |
./mitgcmuv >&! output.txt |
124 |
|
|
|
#I've changed the run setup: |
|
|
#We now perform gradient checks for the first for elements of |
|
|
#the air temperture part of the control vector (grdchkvarindex = 7). |
|
|
#To verify the results of the gradient check, type |
|
|
|
|
125 |
grep ph-grd output.txt |
grep ph-grd output.txt |
126 |
|
|
127 |
#A reference output is in: |
#A reference output is in: |
128 |
grep ph-grd ../verification/natl_box_adjoint/results_bulk/output.exp3 |
grep ph-grd ../verification/natl_box_adjoint/results_bulk/output.txt |
129 |
|
|
130 |
Comments: |
Comments: |
131 |
- Produces following error message during "make adtaf" compilation: |
- Produces following error message during "make adtaf" compilation: |
132 |
INTERNAL ERROR: cannot find var clone to ada2 |
INTERNAL ERROR: cannot find var clone to ada2 |
|
- The gradient check results should be identical to those of Exp. 2, |
|
|
but aren't. Compare results_bulk/output.txt to output.exp3 |
|
133 |
|
|
134 |
|
|
135 |
#################### |
#################### |
136 |
# Experiment no. 4 # |
# Experiment no. 4 # |
137 |
#################### |
#################### |
138 |
|
|
139 |
#Same as exp. 3, but with useseaice = .true. |
#Uses same executable as exp. 3, but with useseaice = .true. |
140 |
|
|
|
#Compile code in bin/: |
|
|
cd ../bin |
|
|
rm -rf *.o *.f *.p rii_files |
|
|
rm -rf *.F *.h *.c Makefile* |
|
|
cp ../verification/natl_box_adjoint/code_seaice/*.h . |
|
|
cp ../verification/natl_box_adjoint/code_seaice/.genmakerc . |
|
|
cp ../verification/natl_box_adjoint/code_seaice/SEAICE_OPTIONS.h.FLUXES SEAICE_OPTIONS.h |
|
|
#Configure and compile the code: |
|
|
../tools/genmake -makefile |
|
|
make depend |
|
|
#Generate the adjoint code: |
|
|
cd ../adjoint |
|
|
mv makefile makefile.old |
|
|
cp ../verification/natl_box_adjoint/code_seaice/makefile . |
|
|
make adtaf |
|
|
make adchange |
|
|
rm -f makefile |
|
|
mv makefile.old makefile |
|
|
#Go back and compile the code: |
|
|
cd ../bin |
|
|
make |
|
141 |
#To run: |
#To run: |
142 |
cd ../exe |
cd ../exe |
143 |
cp ../verification/natl_box_adjoint/input_bulk/* . |
cp ../verification/natl_box_adjoint/input_bulk/* . |
146 |
cp ../verification/natl_box_adjoint/input/PH_*.data . |
cp ../verification/natl_box_adjoint/input/PH_*.data . |
147 |
./mitgcmuv >&! output.txt |
./mitgcmuv >&! output.txt |
148 |
|
|
|
#I've changed the run setup: |
|
|
#We now perform gradient checks for the first for elements of |
|
|
#the air temperture part of the control vector (grdchkvarindex = 7). |
|
|
#To verify the results of the gradient check, type |
|
|
|
|
149 |
grep ph-grd output.txt |
grep ph-grd output.txt |
150 |
|
|
151 |
#A reference output is in: |
#A reference output is in: |
155 |
- Produces following error message during "make adtaf" compilation: |
- Produces following error message during "make adtaf" compilation: |
156 |
INTERNAL ERROR: cannot find var clone to ada2 |
INTERNAL ERROR: cannot find var clone to ada2 |
157 |
- The gradient check results are different from those of exp. 3, |
- The gradient check results are different from those of exp. 3, |
158 |
perhaps because of big initial pulse of freshwater? |
because of big initial pulse of freshwater, corrected below? |
159 |
|
|
160 |
|
|
161 |
#################### |
#################### |
164 |
|
|
165 |
#Same as exp. 4, but with HEFF=0 initial condition |
#Same as exp. 4, but with HEFF=0 initial condition |
166 |
|
|
|
#Compile code in bin/: |
|
|
cd ../bin |
|
|
rm -rf *.o *.f *.p rii_files |
|
|
rm -rf *.F *.h *.c Makefile* |
|
|
cp ../verification/natl_box_adjoint/code_seaice/*.h . |
|
|
cp ../verification/natl_box_adjoint/code_seaice/.genmakerc . |
|
|
cp ../verification/natl_box_adjoint/code_seaice/SEAICE_OPTIONS.h.FLUXES SEAICE_OPTIONS.h |
|
|
#Configure and compile the code: |
|
|
../tools/genmake -makefile |
|
|
make depend |
|
|
#Generate the adjoint code: |
|
|
cd ../adjoint |
|
|
mv makefile makefile.old |
|
|
cp ../verification/natl_box_adjoint/code_seaice/makefile . |
|
|
make adtaf |
|
|
make adchange |
|
|
rm -f makefile |
|
|
mv makefile.old makefile |
|
|
#Go back and compile the code: |
|
|
cd ../bin |
|
|
make |
|
167 |
#To run: |
#To run: |
168 |
cd ../exe |
cd ../exe |
169 |
cp ../verification/natl_box_adjoint/input_bulk/* . |
cp ../verification/natl_box_adjoint/input_bulk/* . |
170 |
cp ../verification/natl_box_adjoint/input_seaice/data.seaice.cgrid data.seaice |
cp ../verification/natl_box_adjoint/input_seaice/data.seaice.heff data.seaice |
171 |
cp ../verification/natl_box_adjoint/input_seaice/data.pkg . |
cp ../verification/natl_box_adjoint/input_seaice/data.pkg . |
172 |
cp ../verification/natl_box_adjoint/input/PH_*.data . |
cp ../verification/natl_box_adjoint/input/PH_*.data . |
173 |
./mitgcmuv >&! output.txt |
./mitgcmuv >&! output.txt |
175 |
grep ph-grd output.txt |
grep ph-grd output.txt |
176 |
|
|
177 |
#A reference output is in: |
#A reference output is in: |
178 |
grep ph-grd ../verification/natl_box_adjoint/results_bulk/output.exp5 |
grep ph-grd ../verification/natl_box_adjoint/results_bulk/output.txt |
179 |
|
|
180 |
Comments: |
Comments: |
181 |
- Produces following error message during "make adtaf" compilation: |
- Produces following error message during "make adtaf" compilation: |
182 |
INTERNAL ERROR: cannot find var clone to ada2 |
INTERNAL ERROR: cannot find var clone to ada2 |
|
- Gradient check results are closer to exp3 than were those of exp4. |
|
183 |
|
|
184 |
|
|
185 |
#################### |
#################### |
212 |
#To run: |
#To run: |
213 |
cd ../exe |
cd ../exe |
214 |
cp ../verification/natl_box_adjoint/input_bulk/* . |
cp ../verification/natl_box_adjoint/input_bulk/* . |
215 |
cp ../verification/natl_box_adjoint/input_seaice/data.seaice.cgrid data.seaice |
cp ../verification/natl_box_adjoint/input_seaice/data.seaice.heff data.seaice |
216 |
cp ../verification/natl_box_adjoint/input_seaice/data.pkg . |
cp ../verification/natl_box_adjoint/input_seaice/data.pkg . |
217 |
cp ../verification/natl_box_adjoint/input/PH_*.data . |
cp ../verification/natl_box_adjoint/input/PH_*.data . |
218 |
./mitgcmuv >&! output.txt |
./mitgcmuv >&! output.txt |
225 |
Comments: |
Comments: |
226 |
- Produces following error message during "make adtaf" compilation: |
- Produces following error message during "make adtaf" compilation: |
227 |
INTERNAL ERROR: cannot find var clone to ada2 |
INTERNAL ERROR: cannot find var clone to ada2 |
228 |
- The gradient check results should be identical than those of Exp. 2, |
- The gradient check results should be comparable to that of Exps. 2, 3, and |
229 |
but aren't. Compare results_bulk/output.txt to output.exp3 |
5, but it is not. Also there is a 3-4% discrepancy between ajoint model |
230 |
|
and finite difference gradients. |
231 |
|
|
232 |
|
|
233 |
#################### |
#################### |