Changeset 5010 for branches/2015/dev_r5003_MERCATOR6_CRS
- Timestamp:
- 2015-01-06T08:59:28+01:00 (8 years ago)
- Location:
- branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crs.F90
r5007 r5010 10 10 USE dom_oce 11 11 USE in_out_manager 12 12 USE lbcnfd 13 13 14 14 IMPLICIT NONE … … 72 72 INTEGER :: nproc_crs !:number for local processor 73 73 INTEGER :: nbondi_crs, nbondj_crs !: mark of i- and j-direction local boundaries 74 74 75 INTEGER :: nfsloop_full,nfeloop_full 76 INTEGER :: nfsloop_crs ,nfeloop_crs 75 77 76 78 INTEGER, DIMENSION(:), ALLOCATABLE :: mis_crs, mie_crs, mis2_crs, mie2_crs ! starting and ending i-indices of parent subset … … 88 90 INTEGER, DIMENSION(:), ALLOCATABLE :: njmppt_crs, njmppt_full !: first, last indoor index for each j-domain 89 91 92 INTEGER, DIMENSION(:,:), ALLOCATABLE :: nfiimpp_full 93 INTEGER, DIMENSION(:,:), ALLOCATABLE :: nfiimpp_crs 90 94 91 95 ! Masks … … 259 263 !!------------------------------------------------------------------- 260 264 !! Local variables 261 INTEGER, DIMENSION( 1) :: ierr265 INTEGER, DIMENSION(2) :: ierr 262 266 263 267 ierr(:) = 0 … … 268 272 & njmppt_full(jpnij) , nlcjt_full(jpnij) , nldjt_full(jpnij) , nlejt_full(jpnij) , STAT=ierr(1) ) 269 273 274 ALLOCATE( nfiimpp_full(jpni,jpnj) , nfiimpp_crs(jpni,jpnj) ,STAT=ierr(2) ) 275 270 276 crs_dom_alloc = MAXVAL(ierr) 271 277 … … 296 302 !! ** Purpose : +Return back to parent grid domain 297 303 !!--------------------------------------------------------------------- 304 write(narea+200,*)"dom_grid_glo";call flush(narea+200) 298 305 299 306 ! Return to parent grid domain … … 326 333 njmppt(:) = njmppt_full(:) 327 334 335 nfsloop = nfsloop_full 336 nfeloop = nfeloop_full 337 338 nfiimpp(:,:) = nfiimpp_full(:,:) 339 328 340 END SUBROUTINE dom_grid_glo 329 341 … … 334 346 !! ** Purpose : Save the parent grid information & Switch to coarse grid domain 335 347 !!--------------------------------------------------------------------- 336 348 write(narea+200,*)"dom_grid_crs";call flush(narea+200) 337 349 ! 338 350 ! Switch to coarse grid domain … … 366 378 njmppt(:) = njmppt_crs(:) 367 379 380 nfsloop = nfsloop_crs 381 nfeloop = nfeloop_crs 382 383 nfiimpp(:,:) = nfiimpp_crs(:,:) 368 384 369 385 ! -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crsdom.F90
r5007 r5010 1955 1955 INTEGER :: ji,jj,jk,ijjgloT,ijis,ijie,ijjs,ijje,jn ! dummy indices 1956 1956 INTEGER :: ierr ! allocation error status 1957 INTEGER :: ii,ij,iproc,iprocno,iprocso 1957 INTEGER :: ii,ij,iproc,iprocno,iprocso,iimppt_crs 1958 1958 1959 1959 … … 2136 2136 WRITE(narea+200,*)"tutu glo ",jn,jpi_crs, nldit_crs(jn)+nimppt_crs(jn)-1,nleit_crs(jn)+nimppt_crs(jn)-1,nlcit_crs(jn)+nimppt_crs(jn)-1 ; call flush(narea+200) 2137 2137 2138 2138 nfiimpp_crs(ii,ij) = nimppt_crs(jn) 2139 WRITE(narea+200,*)"tutu nimppt_crs(jn) ",ii,ij,nimppt_crs(jn) ; call flush(narea+200) 2140 2141 ENDDO 2142 2143 DO ji = 1 , jpni 2144 DO jj = 1 ,jpnj 2145 jn=nfipproc(ji,jj)+1 2146 iimppt_crs = ANINT( REAL( (nfiimpp(ji,jj) + 1 ) / nn_factx, wp ) ) + 1 2147 nfiimpp_crs(ji,jj) = iimppt_crs 2148 IF( jn .GE. 1 )nimppt_crs(jn) = iimppt_crs 2149 PRINT*," nfiimpp_crs(ji,jj) ",ji,jj,jn,nfiimpp(ji,jj),nfiimpp_crs(ji,jj) 2150 ENDDO 2139 2151 ENDDO 2140 2152 … … 2148 2160 nldi_crs = nldit_crs(nproc + 1) 2149 2161 nimpp_crs = nimppt_crs(nproc + 1) 2162 2163 !nogather=T 2164 nfsloop_crs = 1 2165 nfeloop_crs = nlci_crs 2166 DO jn = 2,jpni-1 2167 IF(nfipproc(jn,jpnj) .eq. (narea - 1)) THEN 2168 IF (nfipproc(jn - 1 ,jpnj) .eq. -1) THEN 2169 nfsloop_crs = nldi_crs 2170 ENDIF 2171 IF (nfipproc(jn + 1,jpnj) .eq. -1) THEN 2172 nfeloop_crs = nlei_crs 2173 ENDIF 2174 ENDIF 2175 END DO 2150 2176 2151 2177 !============================================================================================== … … 2154 2180 write(narea+200,*)"jpj_crs,nldj_crs,nlej_crs,nlcj_crs,njmpp_crs,nldj_crs+njmpp_crs-1,nlej_crs+njmpp_crs-1" ; call flush(narea+200) 2155 2181 write(narea+200,*)jpj_crs,nldj_crs,nlej_crs,nlcj_crs,njmpp_crs,nldj_crs+njmpp_crs-1,nlej_crs+njmpp_crs-1 ; call flush(narea+200) 2182 write(narea+200,*)"nfsloop_crs nfeloop_crs ",nfsloop_crs,nfeloop_crs ; call flush(narea+200) 2156 2183 2157 2184 ! No coarsening with zoom … … 2212 2239 nlejt_full(:) = nlejt(:) 2213 2240 njmppt_full(:) = njmppt(:) 2214 2241 2242 nfsloop_full = nfsloop 2243 nfeloop_full = nfeloop 2244 2245 nfiimpp_full(:,:) = nfiimpp(:,:) 2246 2247 2215 2248 CALL dom_grid_crs !swich de grille 2216 2249 -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crsfld.F90
r5007 r5010 174 174 DO jj = 2, jpj_crsm1 175 175 IF( tmask_crs(ji,jj,jk ) > 0 ) THEN 176 z2dcrsu = ( un_crs(ji ,jj ,jk) * crs_surfu_wgt(ji ,jj ,jk) ) &177 & - ( un_crs(ji-1,jj ,jk) * crs_surfu_wgt(ji-1,jj ,jk) )178 z2dcrsv = ( vn_crs(ji ,jj ,jk) * crs_surfv_wgt(ji ,jj ,jk) ) &179 & - ( vn_crs(ji ,jj-1,jk) * crs_surfv_wgt(ji ,jj-1,jk) )180 181 IF( crs_volt_wgt(ji,jj,jk) .NE. 0._wp ) hdivn_crs(ji,jj,jk) = ( z2dcrsu + z2dcrsv ) / crs_volt_wgt(ji,jj,jk)176 z2dcrsu = ( un_crs(ji ,jj ,jk) * e2e3u_msk(ji ,jj ,jk) ) & 177 & - ( un_crs(ji-1,jj ,jk) * e2e3u_msk(ji-1,jj ,jk) ) 178 z2dcrsv = ( vn_crs(ji ,jj ,jk) * e1e3v_msk(ji ,jj ,jk) ) & 179 & - ( vn_crs(ji ,jj-1,jk) * e1e3v_msk(ji ,jj-1,jk) ) 180 ! 181 IF( ocean_volume_crs_t(ji,jj,jk) .NE. 0._wp ) hdivn_crs(ji,jj,jk) = ( z2dcrsu + z2dcrsv ) / ocean_volume_crs_t(ji,jj,jk) 182 182 ENDIF 183 183 ENDDO … … 215 215 216 216 ! sbc fields 217 217 218 CALL crs_dom_ope( sshn , 'VOL', 'T', tmask, sshn_crs , p_e12=e1e2t, p_e3=zfse3t , psgn=1.0 ) 218 219 CALL crs_dom_ope( utau , 'SUM', 'U', umask, utau_crs , p_e12=e2u , p_surf_crs=e2u_crs , psgn=1.0 ) -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/LBC/mppini.F90
r5007 r5010 253 253 DO ji = 2, jpni 254 254 iimppt(ji,jj) = iimppt(ji-1,jj) + ilcit(ji-1,jj) - nreci 255 !cbr 256 WRITE(narea+200,*)"iimppt",ji,jj,ilcit(ji-1,jj),nreci,iimppt(ji-1,jj),iimppt(ji,jj) 255 257 END DO 256 258 END DO
Note: See TracChangeset
for help on using the changeset viewer.