File indexing completed on 2022-01-06 06:12:26 UTC
view on githubraw file Latest commit 9f5240b5 on 2022-01-05 15:24:45 UTC
7b8b86ab99 Timo*0001 #include "CTRL_OPTIONS.h"
0002 #ifdef ALLOW_EXF
0003 # include "EXF_OPTIONS.h"
0004 #endif
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 SUBROUTINE CTRL_GET_MASK3D(
0017 I xx_filename,
0018 U mask3D,
0019 I myThid )
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033 IMPLICIT NONE
0034
0035
0036 #include "SIZE.h"
0037 #include "EEPARAMS.h"
0038 #include "PARAMS.h"
0039 #include "GRID.h"
0040
0041
0042 CHARACTER*(MAX_LEN_FNAM) xx_filename
0043 _RS mask3D(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
0044 INTEGER myThid
0045
0046
0047
0048
0049
0050 #if (defined (ALLOW_UVEL0_CONTROL) && defined (ALLOW_VVEL0_CONTROL))
0051 IF (xx_filename(1:7).EQ.'xx_uvel') THEN
0052 CALL CTRL_CPRSRS(maskW,Nr,mask3D,Nr,myThid)
0053 ELSEIF (xx_filename(1:7).EQ.'xx_vvel') THEN
0054 CALL CTRL_CPRSRS(maskS,Nr,mask3D,Nr,myThid)
0055 ELSE
0056 #else
0057 IF (.TRUE.) THEN
0058 #endif
0059
0060 CALL CTRL_CPRSRS(maskC, Nr, mask3D, Nr, myThid)
0061 ENDIF
0062
0063 RETURN
0064 END
0065
0066
0067
0068
0069
0070 SUBROUTINE CTRL_GET_MASK2D(
0071 I xx_filename,
0072 U mask2D,
0073 I myThid )
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088 IMPLICIT NONE
0089
0090
0091 #include "SIZE.h"
0092 #include "EEPARAMS.h"
0093 #include "PARAMS.h"
0094 #include "GRID.h"
0095 #ifdef ALLOW_SHELFICE
0096 # include "SHELFICE.h"
0097 #endif
0098 #ifdef ALLOW_EXF
0099 # include "EXF_PARAM.h"
0100 #endif
0101
0102
0103 CHARACTER*(MAX_LEN_FNAM) xx_filename
0104 _RS mask2D(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0105 INTEGER myThid
0106
0107
0108 LOGICAL iAmDone
0109
0110
0111 iAmDone = .FALSE.
0112
0113
0114 #ifdef ALLOW_SHELFICE
0115 IF ((xx_filename(1:11).EQ.'xx_shicoeff').OR.
0116 & (xx_filename(1:11).EQ.'xx_shicdrag').OR.
0117 & (xx_filename(1:11).EQ.'xx_shifwflx')) THEN
0118 CALL CTRL_CPRSRS(maskSHI, Nr, mask2D, 1, myThid)
0119 iAmDone = .TRUE.
0120 ENDIF
0121 #endif
0122
0123
0124 #ifndef ALLOW_ROTATE_UV_CONTROLS
0125 # ifdef ALLOW_EXF
0126 IF (stressIsOnCgrid) THEN
0127 # endif
0128 IF (xx_filename(1:7).EQ.'xx_tauu') THEN
0129 CALL CTRL_CPRSRS(maskW, Nr, mask2D, 1, myThid)
0130 iAmDone = .TRUE.
0131 ELSEIF (xx_filename(1:7).EQ.'xx_tauv') THEN
0132 CALL CTRL_CPRSRS(maskS, Nr, mask2D, 1, myThid)
0133 iAmDone = .TRUE.
0134 ENDIF
0135 # ifdef ALLOW_EXF
0136 ENDIF
0137 # endif
0138 #endif
0139
0140
0141 IF (.NOT.iAmDone) CALL CTRL_CPRSRS(maskC, Nr, mask2D, 1, myThid)
0142
0143 RETURN
0144 END