/[MITgcm]/manual/s_ecco/lsopt_flow_1.tex
ViewVC logotype

Contents of /manual/s_ecco/lsopt_flow_1.tex

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


Revision 1.1 - (show annotations) (download) (as text)
Wed Oct 10 16:06:41 2001 UTC (23 years, 9 months ago) by heimbach
Branch: MAIN
File MIME type: application/x-tex
Adding pieces to part5 and part8.

1 {\scriptsize
2 \begin{verbatim}
3 lsopt_top
4 |
5 |---- check arguments
6 |---- CALL INSTORE
7 | |
8 | |---- determine whether OPWARMI available:
9 | * if no: cold start: create OPWARMI
10 | * if yes: warm start: read from OPWARMI
11 | create or open OPWARMD
12 |
13 |---- check consistency between OPWARMI and model parameters
14 |
15 |---- >>> if COLD start: <<<
16 | | first simulation with f.g. xx_0; output: first ff_0, gg_0
17 | | set first preconditioner value xdiff_0 to 1
18 | | store xx(0), gg(0), xdiff(0) to OPWARMD (first 3 entries)
19 | |
20 | >>> else: WARM start: <<<
21 | read xx(i), gg(i) from OPWARMD (first 2 entries)
22 | for first warm start after cold start, i=0
23 |
24 |
25 |
26 |---- /// if ITMAX > 0: perform optimization (increment loop index i)
27 | (
28 | )---- save current values of gg(i-1) -> gold(i-1), ff -> fold(i-1)
29 | (---- CALL LSUPDXX
30 | ) |
31 | ( |---- >>> if jmax=0 <<<
32 | ) | | first optimization after cold start:
33 | ( | | preconditioner estimated via ff_0 - ff_(first guess)
34 | ) | | dd(i-1) = -gg(i-1)*preco
35 | ( | |
36 | ) | >>> if jmax > 0 <<<
37 | ( | dd(i-1) = -gg(i-1)
38 | ) | CALL HESSUPD
39 | ( | |
40 | ) | |---- dd(i-1) modified via Hessian approx.
41 | ( |
42 | ) |---- >>> if <dd,gg> >= 0 <<<
43 | ( | ifail = 4
44 | ) |
45 | ( |---- compute step size: tact(i-1)
46 | ) |---- compute update: xdiff(i) = xx(i-1) + tact(i-1)*dd(i-1)
47 | (
48 | )---- >>> if ifail = 4 <<<
49 | ( goto 1000
50 | )
51 | (---- CALL OPTLINE / LSLINE
52 | ) |
53 ... ... ...
54 \end{verbatim}
55 }

  ViewVC Help
Powered by ViewVC 1.1.22