/[MITgcm]/MITgcm/optim/optim_writedata.F
ViewVC logotype

Diff of /MITgcm/optim/optim_writedata.F

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

revision 1.3 by heimbach, Fri Dec 6 01:42:25 2002 UTC revision 1.9 by mlosch, Mon Jul 25 08:57:39 2011 UTC
# Line 34  cgg   Include ECCO_CPPOPTIONS because th Line 34  cgg   Include ECCO_CPPOPTIONS because th
34  cgg   options for OBCS masks.  cgg   options for OBCS masks.
35  #include "ECCO_CPPOPTIONS.h"  #include "ECCO_CPPOPTIONS.h"
36    
 #include "ecco.h"  
37  #include "ctrl.h"  #include "ctrl.h"
38  #include "optim.h"  #include "optim.h"
39  #include "minimization.h"  #include "minimization.h"
# Line 62  c     == local variables == Line 61  c     == local variables ==
61        integer funit        integer funit
62        integer cbuffindex        integer cbuffindex
63    
64        _RL     cbuff( sNx*nSx*nPx*sNy*nSy*nPy )        real*4 cbuff( sNx*nSx*nPx*sNy*nSy*nPy )
65    
66        character*(128) fname        character*(128) fname
67  cgg(  cgg(
# Line 97  c--   Next optimization cycle. Line 96  c--   Next optimization cycle.
96    
97  c--         Generate file name and open the file.  c--         Generate file name and open the file.
98        write(fname(1:128),'(4a,i4.4)')        write(fname(1:128),'(4a,i4.4)')
99       &     dfile,'_',expId(1:10),'.opt', nopt       &     dfile,'_',yctrlid(1:10),'.opt', nopt
100        open( funit, file   = fname,        open( funit, file   = fname,
101       &     status = 'new',       &     status = 'new',
102       &     form   = 'unformatted',       &     form   = 'unformatted',
# Line 106  c--         Generate file name and open Line 105  c--         Generate file name and open
105  cph(  cph(
106           print *, 'pathei: nvartype ', nvartype           print *, 'pathei: nvartype ', nvartype
107           print *, 'pathei: nvarlength ', nvarlength           print *, 'pathei: nvarlength ', nvarlength
108           print *, 'pathei: expId ', expId           print *, 'pathei: yctrlid ', yctrlid
109           print *, 'pathei: nopt ', nopt           print *, 'pathei: nopt ', nopt
110           print *, 'pathei: ff ', ff           print *, 'pathei: ff ', ff
111           print *, 'pathei: iG ', biG           print *, 'pathei: iG ', biG
# Line 139  cph) Line 138  cph)
138  c--   Write the header.  c--   Write the header.
139        write( funit ) nvartype        write( funit ) nvartype
140        write( funit ) nvarlength        write( funit ) nvarlength
141        write( funit ) expId        write( funit ) yctrlid
142        write( funit ) optimcycle        write( funit ) optimcycle
143        write( funit ) ff        write( funit ) ff
144        write( funit ) big        write( funit ) big
# Line 149  c--   Write the header. Line 148  c--   Write the header.
148        write( funit ) (nWetcGlobal(k), k=1,nr)        write( funit ) (nWetcGlobal(k), k=1,nr)
149        write( funit ) (nWetsGlobal(k), k=1,nr)        write( funit ) (nWetsGlobal(k), k=1,nr)
150        write( funit ) (nWetwGlobal(k), k=1,nr)        write( funit ) (nWetwGlobal(k), k=1,nr)
151    #ifdef ALLOW_CTRL_WETV
152        write( funit ) (nWetvGlobal(k), k=1,nr)        write( funit ) (nWetvGlobal(k), k=1,nr)
153    #endif
154    #ifdef ALLOW_SHIFWFLX_CONTROL
155          write(funit) (nWetiGlobal(k),   k=1,nr)
156    c     write(funit) nWetiGlobal(1)
157    #endif
158    
159  cgg(    Add OBCS Mask information into the header section for optimization.  cgg(    Add OBCS Mask information into the header section for optimization.
160  #ifdef ALLOW_OBCSN_CONTROL  #ifdef ALLOW_OBCSN_CONTROL
# Line 179  c--         Write the data. Line 184  c--         Write the data.
184        do icvar = 1,maxcvars        do icvar = 1,maxcvars
185           if ( ncvarindex(icvar) .ne. -1 ) then           if ( ncvarindex(icvar) .ne. -1 ) then
186              do icvrec = 1,ncvarrecs(icvar)              do icvrec = 1,ncvarrecs(icvar)
 cph(  
                print *,'in owd: icvar, icvrec, ncvarrecs, ncvarindex',  
      &              icvar, icvrec, ncvarrecs(icvar), ncvarindex(icvar)  
 cph)  
187                 do bj = 1,nsy                 do bj = 1,nsy
188                    do bi = 1,nsx                    do bi = 1,nsx
189                       write( funit ) ncvarindex(icvar)                       write( funit ) ncvarindex(icvar)
# Line 198  cph) Line 199  cph)
199                             cbuffindex = nWetwGlobal(k)                             cbuffindex = nWetwGlobal(k)
200                          else if (ncvargrd(icvar) .eq. 'v') then                          else if (ncvargrd(icvar) .eq. 'v') then
201                             cbuffindex = nWetvGlobal(k)                             cbuffindex = nWetvGlobal(k)
202    #ifdef ALLOW_SHIFWFLX_CONTROL
203                            else if (ncvargrd(icvar) .eq. 'i') then
204                               cbuffindex = nWetiGlobal(k)
205    #endif
206  cgg(   O.B. points have the grid mask "m".  cgg(   O.B. points have the grid mask "m".
207                          else if (ncvargrd(icvar) .eq. 'm') then                          else if (ncvargrd(icvar) .eq. 'm') then
208  cgg    From "icvrec", calculate what iobcs must be.  cgg    From "icvrec", calculate what iobcs must be.
# Line 230  cgg) Line 234  cgg)
234                          if (cbuffindex .gt. 0) then                          if (cbuffindex .gt. 0) then
235                             do icvcomp = 1,cbuffindex                             do icvcomp = 1,cbuffindex
236                                cbuff(icvcomp) = vv(icvoffset + icvcomp)                                cbuff(icvcomp) = vv(icvoffset + icvcomp)
237  cgg( Right now, the changes to the open boundary velocities are not balanced.  c     If you want to optimize with respect to just O.B. T and S
238  cgg( The model will crash due to physical reasons.  c     uncomment the next two lines.
239  cgg( However, we can optimize with respect to just O.B. T and S if the  c                              if (iobcs .eq. 3) cbuff(icvcomp)=0.
240  cgg( next two lines are uncommented.  c                              if (iobcs .eq. 4) cbuff(icvcomp)=0.
 cgg                              if (iobcs .eq. 3) cbuff(icvcomp)=0.  
 cgg                              if (iobcs .eq. 4) cbuff(icvcomp)=0.  
241                             enddo                             enddo
242                             write( funit ) cbuffindex                             write( funit ) cbuffindex
243                             write( funit ) k                             write( funit ) k

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22