Back to home page

darwin3

 
 

    


File indexing completed on 2024-12-17 18:33:40 UTC

view on githubraw file Latest commit 444da616 on 2023-07-29 18:50:29 UTC
444da61630 Mart*0001 CBOP
                0002 C     !ROUTINE: CTRL_OBCS.h
                0003 C     !INTERFACE:
                0004 C     #include "CTRL_OBCS.h"
e612621177 Gael*0005 
444da61630 Mart*0006 C     !DESCRIPTION:
                0007 C     *================================================================*
                0008 C     | CTRL_OBCS.h
                0009 C     | o Header file for OBCS Control and related weights
                0010 C     *================================================================*
                0011 CEOP
                0012 
                0013 C-- IMPORTANT NOTE: The declaration of parameter "nobcs" has been moved
                0014 C   from SIZE.h. If you encounter compile time errors related to "nobcs",
                0015 C   make sure that your SIZE.h does not contain any declaration of this
                0016 C   parameter.
                0017 C--
                0018       INTEGER nobcs
                0019       PARAMETER ( nobcs = 4 )
                0020 
                0021       _RL  objf_obcsn(nSx,nSy), objf_obcss(nSx,nSy)
                0022       _RL  objf_obcsw(nSx,nSy), objf_obcse(nSx,nSy)
                0023       _RL  objf_obcsvol, objf_ageos(nSx,nSy)
e612621177 Gael*0024       _RL  mult_obcsn, mult_obcss
                0025       _RL  mult_obcsw, mult_obcse
                0026       _RL  mult_obcsvol, mult_ageos
444da61630 Mart*0027       _RL  num_obcsn(nSx,nSy), num_obcss(nSx,nSy)
                0028       _RL  num_obcsw(nSx,nSy), num_obcse(nSx,nSy)
                0029       _RL  num_obcsvol, num_ageos(nSx,nSy)
                0030       COMMON /ecco_cost_weights_obcs/
e612621177 Gael*0031      &     objf_obcsn, objf_obcss, objf_obcsw, objf_obcse,
                0032      &     objf_obcsvol, objf_ageos,
                0033      &     mult_obcsn, mult_obcss, mult_obcsw, mult_obcse,
                0034      &     mult_obcsvol, mult_ageos,
                0035      &     num_obcsn, num_obcss, num_obcsw, num_obcse,
                0036      &     num_obcsvol, num_ageos
                0037 
444da61630 Mart*0038       COMMON /ih_modes/ modesv
                0039       _RL modesv (Nr,Nr,Nr)
                0040       COMMON /ctrl_dummy_obcs/
                0041      &                    xx_obcsn_dummy,
                0042      &                    xx_obcss_dummy,
                0043      &                    xx_obcsw_dummy,
                0044      &                    xx_obcse_dummy
e612621177 Gael*0045       _RL xx_obcsn_dummy
                0046       _RL xx_obcss_dummy
                0047       _RL xx_obcsw_dummy
                0048       _RL xx_obcse_dummy
444da61630 Mart*0049       COMMON /controlfiles_c_obcs/
                0050      &                      xx_obcsn_file,
                0051      &                      xx_obcss_file,
                0052      &                      xx_obcsw_file,
                0053      &                      xx_obcse_file
                0054       CHARACTER*(MAX_LEN_FNAM) xx_obcsn_file
                0055       CHARACTER*(MAX_LEN_FNAM) xx_obcss_file
                0056       CHARACTER*(MAX_LEN_FNAM) xx_obcsw_file
                0057       CHARACTER*(MAX_LEN_FNAM) xx_obcse_file
                0058       COMMON /controltimes_r_obcs/
                0059      &                        xx_obcsnperiod,
                0060      &                        xx_obcssperiod,
                0061      &                        xx_obcswperiod,
                0062      &                        xx_obcseperiod
e612621177 Gael*0063       _RL     xx_obcsnperiod
                0064       _RL     xx_obcssperiod
                0065       _RL     xx_obcswperiod
                0066       _RL     xx_obcseperiod
444da61630 Mart*0067       COMMON /controltimes_i_obcs/
                0068      &                        xx_obcsnstartdate1,
                0069      &                        xx_obcsnstartdate2,
                0070      &                        xx_obcssstartdate1,
                0071      &                        xx_obcssstartdate2,
                0072      &                        xx_obcswstartdate1,
                0073      &                        xx_obcswstartdate2,
                0074      &                        xx_obcsestartdate1,
                0075      &                        xx_obcsestartdate2,
                0076      &                        xx_obcsnstartdate,
                0077      &                        xx_obcssstartdate,
                0078      &                        xx_obcswstartdate,
                0079      &                        xx_obcsestartdate
                0080       INTEGER xx_obcsnstartdate1
                0081       INTEGER xx_obcsnstartdate2
                0082       INTEGER xx_obcssstartdate1
                0083       INTEGER xx_obcssstartdate2
                0084       INTEGER xx_obcswstartdate1
                0085       INTEGER xx_obcswstartdate2
                0086       INTEGER xx_obcsestartdate1
                0087       INTEGER xx_obcsestartdate2
                0088       INTEGER xx_obcsnstartdate(4)
                0089       INTEGER xx_obcssstartdate(4)
                0090       INTEGER xx_obcswstartdate(4)
                0091       INTEGER xx_obcsestartdate(4)
                0092       COMMON /controlvars_i_obcsn/
e612621177 Gael*0093      &                       nwetobcsn,
                0094      &                       nwetobcsnglo
444da61630 Mart*0095       INTEGER nwetobcsn     ( nSx,nSy,Nr,nobcs )
                0096       INTEGER nwetobcsnglo  ( Nr,nobcs )
                0097       COMMON /controlvars_i_obcss/
e612621177 Gael*0098      &                       nwetobcss,
                0099      &                       nwetobcssglo
444da61630 Mart*0100       INTEGER nwetobcss     ( nSx,nSy,Nr,nobcs )
                0101       INTEGER nwetobcssglo  ( Nr,nobcs )
                0102       COMMON /controlvars_i_obcsw/
e612621177 Gael*0103      &                       nwetobcsw,
                0104      &                       nwetobcswglo
444da61630 Mart*0105       INTEGER nwetobcsw     ( nSx,nSy,Nr,nobcs )
                0106       INTEGER nwetobcswglo  ( Nr,nobcs )
                0107       COMMON /controlvars_i_obcse/
e612621177 Gael*0108      &                       nwetobcse,
                0109      &                       nwetobcseglo
444da61630 Mart*0110       INTEGER nwetobcse     ( nSx,nSy,Nr,nobcs )
                0111       INTEGER nwetobcseglo  ( Nr,nobcs )
e612621177 Gael*0112 
cf705a6c8e Mart*0113 C     This is moved from ecco_local_params.h, because it is the only
                0114 C     parameter used (by obcs ctrl parameters)
444da61630 Mart*0115       COMMON /ecco_data_errfile/
cf705a6c8e Mart*0116      &     data_errfile
444da61630 Mart*0117       CHARACTER*(MAX_LEN_FNAM) data_errfile
                0118 
                0119 #if ( defined ALLOW_OBCSN_COST_CONTRIBUTION || defined ALLOW_OBCSN_CONTROL )
                0120       COMMON /ecco_cost_weights_obcsn/
e612621177 Gael*0121      &                      wobcsn, wobcsnLev
444da61630 Mart*0122       _RL wobcsn     (                      Nr,nobcs)
                0123       _RL wobcsnLev  (1-OLx:sNx+OLx,Nr,nSx,nSy,nobcs)
                0124       COMMON /controlaux_obcsn_r/
e612621177 Gael*0125      &                      xx_obcsn0,
                0126      &                      xx_obcsn1
444da61630 Mart*0127       _RL xx_obcsn0 (1-OLx:sNx+OLx,Nr,nSx,nSy,nobcs)
                0128       _RL xx_obcsn1 (1-OLx:sNx+OLx,Nr,nSx,nSy,nobcs)
e612621177 Gael*0129 #endif
                0130 
444da61630 Mart*0131 #if ( defined ALLOW_OBCSS_COST_CONTRIBUTION || defined ALLOW_OBCSS_CONTROL )
                0132       COMMON /ecco_cost_weights_obcss/
e612621177 Gael*0133      &                      wobcss, wobcssLev
444da61630 Mart*0134       _RL wobcss     (                      Nr,nobcs)
                0135       _RL wobcssLev  (1-OLx:sNx+OLx,Nr,nSx,nSy,nobcs)
                0136       COMMON /controlaux_obcss_r/
e612621177 Gael*0137      &                      xx_obcss0,
                0138      &                      xx_obcss1
444da61630 Mart*0139       _RL xx_obcss0 (1-OLx:sNx+OLx,Nr,nSx,nSy,nobcs)
                0140       _RL xx_obcss1 (1-OLx:sNx+OLx,Nr,nSx,nSy,nobcs)
e612621177 Gael*0141 #endif
                0142 
444da61630 Mart*0143 #if ( defined ALLOW_OBCSW_COST_CONTRIBUTION || defined ALLOW_OBCSW_CONTROL )
                0144       COMMON /ecco_cost_weights_obcsw/
e612621177 Gael*0145      &                      wobcsw, wobcswLev
444da61630 Mart*0146       _RL wobcsw     (                      Nr,nobcs)
                0147       _RL wobcswLev  (1-OLy:sNy+OLy,Nr,nSx,nSy,nobcs)
                0148       COMMON /controlaux_obcsw_r/
e612621177 Gael*0149      &                      xx_obcsw0,
                0150      &                      xx_obcsw1
444da61630 Mart*0151       _RL xx_obcsw0 (1-OLy:sNy+OLy,Nr,nSx,nSy,nobcs)
                0152       _RL xx_obcsw1 (1-OLy:sNy+OLy,Nr,nSx,nSy,nobcs)
e612621177 Gael*0153 #endif
                0154 
444da61630 Mart*0155 #if ( defined ALLOW_OBCSE_COST_CONTRIBUTION || defined ALLOW_OBCSE_CONTROL )
                0156       COMMON /ecco_cost_weights_obcse/
e612621177 Gael*0157      &                      wobcse, wobcseLev
444da61630 Mart*0158       _RL wobcse     (                      Nr,nobcs)
                0159       _RL wobcseLev  (1-OLy:sNy+OLy,Nr,nSx,nSy,nobcs)
                0160       COMMON /controlaux_obcse_r/
e612621177 Gael*0161      &                      xx_obcse0,
                0162      &                      xx_obcse1
444da61630 Mart*0163       _RL xx_obcse0 (1-OLy:sNy+OLy,Nr,nSx,nSy,nobcs)
                0164       _RL xx_obcse1 (1-OLy:sNy+OLy,Nr,nSx,nSy,nobcs)
e612621177 Gael*0165 #endif