File indexing completed on 2024-06-06 05:10:33 UTC
view on githubraw file Latest commit af61e5eb on 2024-06-06 03:30:35 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
2dcaa8b9a5 Patr*0032
0033
0034
0035
af61e5eb16 Mart*0036 NAMELIST /cost_nml/
cda1c18f72 Jean*0037 & mult_atl, mult_test, mult_tracer,
0038 & multTheta, multSalt, multUvel, multVvel, multEtan,
616600b8d2 Patr*0039 #ifdef ALLOW_COST_DEPTH
cda1c18f72 Jean*0040 & mult_depth,
616600b8d2 Patr*0041 #endif
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
616600b8d2 Patr*0058 #ifdef ALLOW_COST_DEPTH
0059 mult_depth = 0. _d 0
0060 #endif
11c3150c71 Mart*0061 #ifdef ALLOW_COST_HFLUXM
14021e1fda Davi*0062 mult_temp_tut = 0. _d 0
0063 mult_hflux_tut = 0. _d 0
11c3150c71 Mart*0064 #endif
af61e5eb16 Mart*0065 cost_mask_file = ' '
2dcaa8b9a5 Patr*0066
449f3c105b Patr*0067
0068 lastinterval = 2592000.
0069
2dcaa8b9a5 Patr*0070
9aaf43452b Patr*0071 WRITE(msgBuf,'(A)') 'COST_READPARMS: opening data.cost'
0072 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0073 & SQUEEZE_RIGHT , 1)
0074
0075 CALL OPEN_COPY_DATA_FILE(
0076 I 'data.cost', 'COST_READPARMS',
0077 O iUnit,
0078 I myThid )
0079
0080 READ( iUnit, nml = cost_nml )
0081
0082 WRITE(msgBuf,'(A)') 'COST_READPARMS: finished reading data.cost'
0083 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0084 & SQUEEZE_RIGHT , 1)
0085
7a77863887 Mart*0086 #ifdef SINGLE_DISK_IO
0087 CLOSE(iUnit)
0088 #else
0089 CLOSE(iUnit,STATUS='DELETE')
0090 #endif /* SINGLE_DISK_IO */
2dcaa8b9a5 Patr*0091
cda1c18f72 Jean*0092 IF ( MOD(lastinterval,deltaTClock) .GT. 0. )
e20b49665f Mart*0093 & lastinterval = MAX(
cda1c18f72 Jean*0094 & INT(lastinterval/deltaTClock-1)*deltaTClock,deltaTClock)
e20b49665f Mart*0095
7507ba8fa5 Davi*0096 #if (defined ALLOW_COST_HFLUXM) || (defined ALLOW_COST_TEMP)
913151f332 Davi*0097
0098 CALL COST_WEIGHTS( myThid )
98264b2c3d Gael*0099
7507ba8fa5 Davi*0100 #endif
af61e5eb16 Mart*0101
0102
0103 WRITE(msgBuf,'(A)')
0104 &'// ======================================================='
0105 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0106 & SQUEEZE_RIGHT, myThid )
0107 WRITE(msgBuf,'(a)') '// cost configuration >>> START <<<'
0108 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0109 & SQUEEZE_RIGHT, myThid )
0110 WRITE(msgBuf,'(A)')
0111 &'// ======================================================='
0112 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0113 & SQUEEZE_RIGHT, myThid )
0114
0115 CALL WRITE_0D_RL( lastinterval, INDEX_NONE,'lastinterval =',
0116 &' /* cost interval over which to average ( s ). */')
0117
0118 CALL WRITE_0D_C( cost_mask_file, -1, INDEX_NONE,
0119 & 'cost_mask_file =', ' /* file name of cost mask file */')
0120
0121 WRITE(msgBuf,'(A)')
0122 &'// ======================================================='
0123 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0124 & SQUEEZE_RIGHT, myThid )
0125 WRITE(msgBuf,'(A)') '// cost configuration >>> END <<<'
0126 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0127 & SQUEEZE_RIGHT, myThid )
0128 WRITE(msgBuf,'(A)')
0129 &'// ======================================================='
0130 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0131 & SQUEEZE_RIGHT, myThid )
0132 WRITE(msgBuf,'(A)') ' '
0133 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0134 & SQUEEZE_RIGHT, myThid )
0135
0136 _END_MASTER( myThid )
2dcaa8b9a5 Patr*0137
0138 _BARRIER
0139
af61e5eb16 Mart*0140 RETURN
0141 END