Back to home page

MITgcm

 
 

    


File indexing completed on 2024-03-02 06:10:01 UTC

view on githubraw file Latest commit 5cf43646 on 2024-03-01 18:50:49 UTC
5cf4364659 Mart*0001 #include "CTRL_OPTIONS.h"
4cee17c1be Patr*0002 
                0003       subroutine optim_initmod(
                0004      I                    nn,
                0005      O                    xx
                0006      &                  )
                0007 
                0008 c     ==================================================================
                0009 c     SUBROUTINE optim_initmod
                0010 c     ==================================================================
                0011 c
                0012 c     o Optim_Initmod is called before the optimization. It sets a first guess
                0013 c       of the parameter vector. It may also contain the initialization
                0014 c       of the model.
                0015 c
                0016 c     started: Christian Eckert eckert@mit.edu 15-Feb-2000
                0017 c
                0018 c     changed: Christian Eckert eckert@mit.edu 10-Mar-2000
                0019 c
                0020 c              - Added ECCO layout.
                0021 c
                0022 c     changed:  Patrick Heimbach heimbach@mit.edu 19-Jun-2000
                0023 c               - finished, revised and debugged
                0024 c
                0025 c     ==================================================================
                0026 c     SUBROUTINE optim_initmod
                0027 c     ==================================================================
                0028 
                0029       IMPLICIT NONE
                0030 
                0031 c     == global variables ==
                0032 
                0033 #include "EEPARAMS.h"
                0034 #include "SIZE.h"
5cf4364659 Mart*0035 #include "CTRL_SIZE.h"
65754df434 Mart*0036 #include "CTRL.h"
4cee17c1be Patr*0037 #include "optim.h"
                0038 
                0039 c     == routine arguments ==
                0040 
                0041       integer nn
                0042       _RL   xx(nn)
                0043 
                0044 c     == local variables ==
                0045 
                0046       character*(80) fname
                0047 
                0048 c     == end of interface ==
                0049 
                0050 c--   Generate file name for the scaling of the control vector
                0051 c--   contributions.
                0052       write(fname(1:80),'(80a)') ' '
                0053       write(fname(1:80),'(4a,i10.10,a)')
91d99130a0 Davi*0054      &  scalname(1:9),'_',yctrlid,'.',optimcycle,'.data'
4cee17c1be Patr*0055 
                0056 c--   Read the scaling for the control vector.
                0057 
                0058 c     --> Presently not implemented, since the control vector and the
                0059 c         gradient of the cost function can already be non-dimensionalized
                0060 c         by *ecco_ControlPack* and *ecco_ControlUnPack*.
65754df434 Mart*0061 c
4cee17c1be Patr*0062 c         To do this set:
65754df434 Mart*0063 c
4cee17c1be Patr*0064 c           #define  USE_NONDIMENSIONAL_CONTROL_IO
65754df434 Mart*0065 c
4cee17c1be Patr*0066 c         in CPP_OPTIONS.h. The subroutine *ecco_ControlPack* will then
                0067 c         non-dimensionalize its output and *ecco_ControlUnPack* will
                0068 c         dimensionalize its input.
                0069 
                0070       return
                0071       end