File indexing completed on 2026-03-19 05:08:29 UTC
view on githubraw file Latest commit 69361556 on 2026-03-18 21:20:20 UTC
5ed655852f Jean*0001 #include "COST_OPTIONS.h"
2dcaa8b9a5 Patr*0002
af61e5eb16 Mart*0003 SUBROUTINE COST_READPARMS( myThid )
2dcaa8b9a5 Patr*0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
af61e5eb16 Mart*0017 IMPLICIT NONE
2dcaa8b9a5 Patr*0018
0019
0020 #include "EEPARAMS.h"
0021 #include "SIZE.h"
0022 #include "GRID.h"
e20b49665f Mart*0023 #include "PARAMS.h"
2dcaa8b9a5 Patr*0024 #include "cost.h"
0025
0026
af61e5eb16 Mart*0027 INTEGER myThid
2dcaa8b9a5 Patr*0028
0029
af61e5eb16 Mart*0030 CHARACTER*(max_len_mbuf) msgbuf
0031 INTEGER iUnit
69361556c2 Mart*0032
0033 _RL mult_depth
2dcaa8b9a5 Patr*0034
0035
0036
0037
af61e5eb16 Mart*0038 NAMELIST /cost_nml/
cda1c18f72 Jean*0039 & mult_atl, mult_test, mult_tracer,
0040 & multTheta, multSalt, multUvel, multVvel, multEtan,
0041 & mult_depth,
11c3150c71 Mart*0042 #ifdef ALLOW_COST_HFLUXM
cda1c18f72 Jean*0043 & mult_temp_tut, mult_hflux_tut,
11c3150c71 Mart*0044 #endif
af61e5eb16 Mart*0045 & lastinterval, cost_mask_file
2dcaa8b9a5 Patr*0046
0047 _BEGIN_MASTER( myThid )
0048
0049
0050 mult_atl = 0. _d 0
0051 mult_test = 0. _d 0
bbf42b7711 Patr*0052 mult_tracer = 0. _d 0
586ad2dc56 Patr*0053 multTheta = 0. _d 0
0054 multSalt = 0. _d 0
0055 multUvel = 0. _d 0
0056 multVvel = 0. _d 0
0057 multEtan = 0. _d 0
69361556c2 Mart*0058 mult_depth = UNSET_RL
11c3150c71 Mart*0059 #ifdef ALLOW_COST_HFLUXM
14021e1fda Davi*0060 mult_temp_tut = 0. _d 0
0061 mult_hflux_tut = 0. _d 0
11c3150c71 Mart*0062 #endif
af61e5eb16 Mart*0063 cost_mask_file = ' '
2dcaa8b9a5 Patr*0064
449f3c105b Patr*0065
0066 lastinterval = 2592000.
0067
2dcaa8b9a5 Patr*0068
9aaf43452b Patr*0069 WRITE(msgBuf,'(A)') 'COST_READPARMS: opening data.cost'
0070 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0071 & SQUEEZE_RIGHT , 1)
0072
0073 CALL OPEN_COPY_DATA_FILE(
0074 I 'data.cost', 'COST_READPARMS',
0075 O iUnit,
0076 I myThid )
0077
0078 READ( iUnit, nml = cost_nml )
0079
0080 WRITE(msgBuf,'(A)') 'COST_READPARMS: finished reading data.cost'
0081 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0082 & SQUEEZE_RIGHT , 1)
0083
7a77863887 Mart*0084 #ifdef SINGLE_DISK_IO
0085 CLOSE(iUnit)
0086 #else
0087 CLOSE(iUnit,STATUS='DELETE')
0088 #endif /* SINGLE_DISK_IO */
2dcaa8b9a5 Patr*0089
cda1c18f72 Jean*0090 IF ( MOD(lastinterval,deltaTClock) .GT. 0. )
e20b49665f Mart*0091 & lastinterval = MAX(
cda1c18f72 Jean*0092 & INT(lastinterval/deltaTClock-1)*deltaTClock,deltaTClock)
e20b49665f Mart*0093
69361556c2 Mart*0094
7507ba8fa5 Davi*0095 #if (defined ALLOW_COST_HFLUXM) || (defined ALLOW_COST_TEMP)
913151f332 Davi*0096
0097 CALL COST_WEIGHTS( myThid )
98264b2c3d Gael*0098
7507ba8fa5 Davi*0099 #endif
af61e5eb16 Mart*0100
69361556c2 Mart*0101 IF ( mult_depth .NE. UNSET_RL ) THEN
0102 WRITE(msgBuf,'(a)')
0103 & 'S/R COST_READPARMS: mult_depth is now longer allow in data.cost'
0104 CALL PRINT_ERROR( msgBuf, myThid )
0105 WRITE(msgBuf,'(a)')
0106 & 'S/R COST_READPARMS: use generic control cost instead'
0107 CALL PRINT_ERROR( msgBuf, myThid )
0108 CALL ALL_PROC_DIE( 0 )
0109 STOP 'ABNORMAL END: S/R COST_READPARMS'
0110 ENDIF
0111
af61e5eb16 Mart*0112
0113 WRITE(msgBuf,'(A)')
0114 &'// ======================================================='
0115 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0116 & SQUEEZE_RIGHT, myThid )
0117 WRITE(msgBuf,'(a)') '// cost configuration >>> START <<<'
0118 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0119 & SQUEEZE_RIGHT, myThid )
0120 WRITE(msgBuf,'(A)')
0121 &'// ======================================================='
0122 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0123 & SQUEEZE_RIGHT, myThid )
0124
0125 CALL WRITE_0D_RL( lastinterval, INDEX_NONE,'lastinterval =',
0126 &' /* cost interval over which to average ( s ). */')
0127
0128 CALL WRITE_0D_C( cost_mask_file, -1, INDEX_NONE,
0129 & 'cost_mask_file =', ' /* file name of cost mask file */')
0130
0131 WRITE(msgBuf,'(A)')
0132 &'// ======================================================='
0133 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0134 & SQUEEZE_RIGHT, myThid )
0135 WRITE(msgBuf,'(A)') '// cost configuration >>> END <<<'
0136 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0137 & SQUEEZE_RIGHT, myThid )
0138 WRITE(msgBuf,'(A)')
0139 &'// ======================================================='
0140 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0141 & SQUEEZE_RIGHT, myThid )
0142 WRITE(msgBuf,'(A)') ' '
0143 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0144 & SQUEEZE_RIGHT, myThid )
0145
0146 _END_MASTER( myThid )
2dcaa8b9a5 Patr*0147
0148 _BARRIER
0149
af61e5eb16 Mart*0150 RETURN
0151 END