File indexing completed on 2021-03-11 06:12:39 UTC
view on githubraw file Latest commit 6b47d550 on 2021-03-10 15:38:00 UTC
6c747cb1b2 Patr*0001 #include "THSICE_OPTIONS.h"
6b47d550f4 Mart*0002
0003
0004
0005 #ifdef ALLOW_COST
0006 # include "COST_OPTIONS.h"
0007 #endif
6c747cb1b2 Patr*0008
6b47d550f4 Mart*0009 SUBROUTINE THSICE_COST_TEST( myTime, myIter, myThid )
6c747cb1b2 Patr*0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
6b47d550f4 Mart*0020
6c747cb1b2 Patr*0021
0022
0023
6b47d550f4 Mart*0024
6c747cb1b2 Patr*0025
0026
0027
6b47d550f4 Mart*0028
6c747cb1b2 Patr*0029
0030
0031
6b47d550f4 Mart*0032
6c747cb1b2 Patr*0033
0034
0035
6b47d550f4 Mart*0036
6c747cb1b2 Patr*0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
6b47d550f4 Mart*0047 IMPLICIT NONE
6c747cb1b2 Patr*0048
0049
0050 #ifdef ALLOW_THSICE_COST_TEST
0051 #include "EEPARAMS.h"
0052 #include "SIZE.h"
0053 #include "GRID.h"
0054 #include "PARAMS.h"
0055 #include "THSICE_SIZE.h"
0056 #include "THSICE_COST.h"
0057 #include "THSICE_VARS.h"
6b47d550f4 Mart*0058
6c747cb1b2 Patr*0059 #include "cost.h"
0060 #endif /* ALLOW_THSICE_COST_TEST */
0061
0062
6b47d550f4 Mart*0063 _RL myTime
0064 INTEGER myIter
0065 INTEGER myThid
6c747cb1b2 Patr*0066
0067 #ifdef ALLOW_THSICE_COST_TEST
6b47d550f4 Mart*0068
0069
0070
6c747cb1b2 Patr*0071
0072
6b47d550f4 Mart*0073
6c747cb1b2 Patr*0074 CHARACTER*(MAX_LEN_MBUF) msgBuf
6b47d550f4 Mart*0075 INTEGER bi, bj, i, j
6c747cb1b2 Patr*0076 _RL tempVar
0077
0078
0079
6b47d550f4 Mart*0080 IF ( myTime .GT. (endTime - lastinterval) ) THEN
6c747cb1b2 Patr*0081 tempVar = 1. _d 0/
6b47d550f4 Mart*0082 & ( ( 1. _d 0 + MIN(endTime-startTime,lastinterval) )
6c747cb1b2 Patr*0083 & / deltaTClock )
0084
6b47d550f4 Mart*0085 IF ( thsice_cost_ice_flag .EQ. 1 ) THEN
6c747cb1b2 Patr*0086
6b47d550f4 Mart*0087 DO bj=myByLo(myThid),myByHi(myThid)
0088 DO bi=myBxLo(myThid),myBxHi(myThid)
0089 DO j = 1,sNy
0090 DO i = 1,sNx
6c747cb1b2 Patr*0091 objf_thsice(bi,bj) = objf_thsice(bi,bj) +
0092 & tempVar*rA(i,j,bi,bj)*iceHeight(i,j,bi,bj)
6b47d550f4 Mart*0093 ENDDO
0094 ENDDO
0095 ENDDO
0096 ENDDO
6c747cb1b2 Patr*0097
6b47d550f4 Mart*0098 ELSEIF ( thsice_cost_ice_flag .EQ. 2 ) THEN
6c747cb1b2 Patr*0099
6b47d550f4 Mart*0100 DO bj=myByLo(myThid),myByHi(myThid)
0101 DO bi=myBxLo(myThid),myBxHi(myThid)
0102 DO j = 1,sNy
0103 DO i = 1,sNx
6c747cb1b2 Patr*0104 objf_thsice(bi,bj) = objf_thsice(bi,bj) +
0105 & tempVar*rA(i,j,bi,bj)*iceMask(i,j,bi,bj)
6b47d550f4 Mart*0106 ENDDO
0107 ENDDO
0108 ENDDO
0109 ENDDO
6c747cb1b2 Patr*0110
6b47d550f4 Mart*0111 ELSE
6c747cb1b2 Patr*0112 WRITE(msgBuf,'(A)')
0113 & 'THSICE_COST_TEST: invalid thsice_cost_ice_flag'
6b47d550f4 Mart*0114 CALL PRINT_ERROR( msgBuf, myThid )
6c747cb1b2 Patr*0115 STOP 'ABNORMAL END: S/R THSICE_COST_TEST'
6b47d550f4 Mart*0116 ENDIF
0117 ENDIF
6c747cb1b2 Patr*0118
0119 #endif /* ALLOW_THSICE_COST_TEST */
0120
6b47d550f4 Mart*0121 RETURN
0122 END