Changeset 13420
- Timestamp:
- 2020-08-21T13:42:12+02:00 (4 years ago)
- Location:
- NEMO/branches/NERC/dev_release-3.4_NEMOTAM_consolidated/NEMOGCM/NEMO
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/NERC/dev_release-3.4_NEMOTAM_consolidated/NEMOGCM/NEMO/OPATAM_SRC/oce_tam.F90
r3611 r13420 26 26 USE par_oce 27 27 USE lib_mpp 28 USE dom_oce 29 USE domwri 28 30 29 31 IMPLICIT NONE … … 103 105 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 104 106 #endif 107 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: & 108 & tmsk_i, & 109 & umsk_i, & 110 & vmsk_i, & 111 & fmsk_i 105 112 106 113 !!---------------------------------------------------------------------- … … 122 129 INTEGER :: ierr(5) 123 130 INTEGER :: jmode 131 INTEGER :: jk 132 REAL(wp), DIMENSION(jpi,jpj) :: & 133 & z_tmsk_i, & 134 & z_umsk_i, & 135 & z_vmsk_i, & 136 & z_fmsk_i 137 124 138 !!---------------------------------------------------------------------- 125 139 ! … … 128 142 ELSE 129 143 jmode = 0 144 END IF 145 146 IF (.NOT. ALLOCATED ( tmsk_i ) ) THEN 147 ALLOCATE ( tmsk_i (jpi, jpj, jpk), & 148 & umsk_i (jpi, jpj, jpk), & 149 & vmsk_i (jpi, jpj, jpk), & 150 & fmsk_i (jpi, jpj, jpk) ) 151 152 CALL dom_uniq( z_tmsk_i, 'T', 1 ) 153 CALL dom_uniq( z_umsk_i, 'U', 1 ) 154 CALL dom_uniq( z_vmsk_i, 'V', 1 ) 155 CALL dom_uniq( z_fmsk_i, 'F', 1 ) 156 157 DO jk = 1, jpk 158 tmsk_i(:,:,jk) = tmask(:,:,jk) * z_tmsk_i(:,:) 159 umsk_i(:,:,jk) = umask(:,:,jk) * z_umsk_i(:,:) 160 vmsk_i(:,:,jk) = vmask(:,:,jk) * z_vmsk_i(:,:) 161 fmsk_i(:,:,jk) = fmask(:,:,jk) * z_fmsk_i(:,:) 162 END DO 163 130 164 END IF 131 165 -
NEMO/branches/NERC/dev_release-3.4_NEMOTAM_consolidated/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90
r3294 r13420 27 27 28 28 PUBLIC dom_wri ! routine called by inidom.F90 29 PUBLIC dom_uniq ! required for NEMOTAM 29 30 30 31 !! * Substitutions … … 271 272 272 273 273 SUBROUTINE dom_uniq( puniq, cdgrd )274 SUBROUTINE dom_uniq( puniq, cdgrd, kindic ) 274 275 !!---------------------------------------------------------------------- 275 276 !! *** ROUTINE dom_uniq *** … … 281 282 !!---------------------------------------------------------------------- 282 283 ! 283 CHARACTER(len=1) , INTENT(in ) :: cdgrd ! 284 REAL(wp), DIMENSION(:,:), INTENT(inout) :: puniq ! 284 CHARACTER(len=1) , INTENT(in ) :: cdgrd ! 285 REAL(wp), DIMENSION(:,:), INTENT(inout) :: puniq ! 286 INTEGER , INTENT(in) , OPTIONAL :: kindic ! 285 287 ! 286 288 REAL(wp) :: zshift ! shift value link to the process number … … 304 306 lldbl(:,:,1) = puniq(:,:) == ztstref(:,:) ! check which values have been changed 305 307 ! 306 puniq(:,:) = 1. ! default definition 308 IF ( PRESENT( kindic ) ) THEN 309 puniq(:,:) = 0.0_wp ! for generating interior mask 310 ELSE 311 puniq(:,:) = 1.0_wp ! default definition 312 ENDIF 307 313 ! fill only the inner part of the cpu with llbl converted into real 308 314 puniq(nldi:nlei,nldj:nlej) = REAL( COUNT( lldbl(nldi:nlei,nldj:nlej,:), dim = 3 ) , wp )
Note: See TracChangeset
for help on using the changeset viewer.